Commit Graph

1723 Commits

Author SHA1 Message Date
68dd799796 [improvement](vectorized) Support function tuple is null (#8442) 2022-03-11 16:54:37 +08:00
7cfcddd8df [fix] brpc will check required field in proto and need_gen_rollup is moved will throw exception (#8420) 2022-03-11 00:28:33 +08:00
Pxl
bc923b8c63 [fix](vectorized) core dump on runtime filter insert because of block address change (#8429) 2022-03-10 19:02:19 +08:00
8eec4bf99d [feature](thread-local) Add thread local variable ThreadContext (#7234)
The thread context saves some info about a working thread.
1. thread_id:   Current thread id, Auto generated.
2. type:           The type is a enum value indicating which type of task current thread is running.
                        For example: QUERY, LOAD, COMPACTION, ...
3. task id:       A unique id to identify this task. maybe query id, load job id, etc.

Using gcc11 compiles thread_local variable on lower versions of GLIBC will report an error, see https://github.com/apache/incubator-doris/pull/7911
This is very difficult to solve, so kudu Class-scoped static thread local implementation was introduced.
Solve the above problem by Thread-scopedthread local + Class-scoped thread local.
See the comments for ThreadContextPtr for details.
2022-03-10 09:05:40 +08:00
2a433136bc [fix] fix compile error (#8410)
* [fix] fix compile error
2022-03-09 18:55:37 +08:00
f4663ad2eb [improvement](vectorized) Merge block in scanner to speed up query with conjunct (#8395) 2022-03-09 13:11:18 +08:00
51103dcf6e [typo] translate the comments of delete_handler.cpp (#8402) 2022-03-09 13:08:28 +08:00
d880559214 [refactor] remove old schema change code on BE (#8342) 2022-03-09 13:05:44 +08:00
0ff7de4157 [refactor] remove agent status (#8273)
There are 3 error code types in BE: OLAPStatus AgentStatus Status.
It is very confused and sometimes conflict during write code.
I will try to unify them to Status.
2022-03-09 13:04:50 +08:00
Pxl
10c3712aa1 [fix](vectorized) fix arithmetic calculate get wrong result(#8226) 2022-03-09 13:03:57 +08:00
826467e116 [fix](replica) handle replica version missing info to avoid -214 error (#8209)
In the original tablet reporting information, the version missing information is done by combining
two pieces of information as follows:

1. the maximum consecutive version number
2. the `version_miss` field

The logic of this approach is confusing and inconsistent with the logic of checking for missing versions when querying.

After the change, we directly use the version checking logic used in the query, and set `version_miss` to true
if a missing version is found

and on the FE processing side. Originally, only the **bad replica** information was syncronized among FEs,
but not the **version missing** information. As a result, the non-master FE is not aware of the missing version information.

In the new design, we deprecate the original log persistence class `BackendTabletsInfo` and use the new 
`BackendReplicasInfo` to record replica reporting information and write both **bad** and **version missing**
information to metadata so that other FEs can synchronize these information.
2022-03-09 13:03:22 +08:00
Pxl
58e85375ca [fix](vectorized) fix float to string inaccurate (#8392) 2022-03-08 18:58:52 +08:00
40a5fac920 [fix](vectorized) Fix the datetime type read error and is_same set error in reader (#8386) 2022-03-08 18:58:02 +08:00
Pxl
cd8694e532 [feature][vectorized] support replace() (#8384) 2022-03-08 18:57:12 +08:00
Pxl
8214f32003 [fix] fix core dump on minmax_filter with decimal type (#8381) 2022-03-08 18:56:48 +08:00
b9010e34d0 [doc] Translate Chinese comment to English (#8340) 2022-03-08 18:52:48 +08:00
3eedd15f9c [optimize] optimze tablet read, avoid to create too much scanner for small tablet (#8096) 2022-03-08 13:59:45 +08:00
454b45bea3 [feature](vectorize)(function) support regexp&&sm4&&aes functions (#8307) 2022-03-08 13:14:02 +08:00
d711d64dda [fix](vectorization)Some small fix for SegmentIter Vectorization (#8267)
1. No longer using short-circuit to evaluate date type, because the cost of read date type is small,
    lazy materialization has higher costs.
2. Fix read hll/bitmap/date type error results.
2022-03-08 13:13:17 +08:00
d9c2c2cac6 Revert "[refactor] remove unused new_in_predicate code (#8263)" (#8372)
This reverts commit 757e35744d4f6319e936fca84b4be13cf043a578.
2022-03-07 15:55:38 +08:00
be4dd0c820 [fix][vectorized] Fix error cast to boolean (#8345) 2022-03-06 13:47:46 +08:00
baa3b14870 [fix] Use fmt::to_string replace memory buffer::data() (#8311) 2022-03-06 13:44:11 +08:00
910a140b93 [fix][vectorized] coredump about const compare in exchange node (#8302) 2022-03-05 15:28:23 +08:00
c18717df53 [fix](vectorized) Fix core dump of mutable block different of block (#8280) 2022-03-05 15:27:36 +08:00
9becb5a2b7 [typo] translate the comments of schema_change.h (#8321)
translate the comments of be/src/olap/schema_change.h
2022-03-05 14:41:20 +08:00
0383001442 [Enhancement] Support Skipping compaction lower replica where select queryable replica for better scan performance (#8146) 2022-03-05 09:51:50 +08:00
Pxl
0ee53be883 [fix][improvement](runtime-filter) fix string type length limit error && add runtime filter decimal support (#8282) 2022-03-03 22:44:49 +08:00
538df28737 [improvement](routine-load) Support routine load task succeed with empty data consumed (#8256) 2022-03-03 22:35:50 +08:00
e7c417505c [fix] fix hash table insert() may be failed but not handle this error (#8207) 2022-03-03 22:33:05 +08:00
8be71b69d5 [refactor] remove pusher.cpp and related mock test code (#8288) 2022-03-03 09:30:54 +08:00
09bfb8b9d3 [fix] (rpc-udf) Fixed the problem that the query could not be interrupted (#8248)
if an error occurred in the rpc server during the execution of rpc-udf.
Add java,cpp,python demo of rpc-udf server
2022-03-03 09:30:03 +08:00
246ac4e37a [fix] fix a bug of encryption function with iv may return wrong result (#8277) 2022-03-02 17:26:44 +08:00
b40e9144cb [feature-wip][array-type] Refactor type info for nested array. (#8279) 2022-03-02 14:20:39 +08:00
b241bc4e9d [fix][Vectorized] Fix exchange node merge sort null first order wrong (#8291) 2022-03-02 10:19:06 +08:00
940efc6014 [Fix]Remove duplicated destructor function in MinMaxFuncBase (#8287) 2022-03-01 18:38:09 +08:00
2b9b0fc1ec [Fix] Function percentile input null return null (#8238) 2022-03-01 14:42:48 +08:00
ada39dd9ad [improvement][vec] better memequal impl to speed up string compare (#8229)
like #8214

faster string compare operator in vec engine.
2022-03-01 11:25:12 +08:00
757e35744d [refactor] remove unused new_in_predicate code (#8263)
remove unused code of new_in_predicate.h/cpp
2022-03-01 11:11:42 +08:00
e77e2b0bf0 [improvement](lateral-view) Add number rows filtered in profile (#8251)
Add `RowsFiltered` counter in TableFunctionNode profile.
So that we can know the total number of rows that TableFunctionNode processed
2022-03-01 11:04:57 +08:00
27d2e3e949 [refactor](fe) Remove old fe meta version (#8246)
Remove old FE meta version < 100.
2022-02-28 17:47:01 +08:00
7f3564cca6 [chore] Support aarch64 target with ldb_toolchain (#8249) 2022-02-27 10:38:17 +08:00
351fbbcba5 [fix](olap) add check statement to protect get_dict_word_info() from crash (#8241)
check _num_elems firstly at the beginning of get_dict_word_info for safe
2022-02-26 17:05:58 +08:00
87b96cfcd6 [feature](iceberg) Step3: Support query iceberg external table (#8179)
1. Add Iceberg scan node 
2. Add Iceberg/Hive table type in thrift 
3. Support querying Iceberg tables of format types `parquet` and `orc`
2022-02-26 17:04:11 +08:00
Pxl
668188b91f [improvement][vectorized] support es node predicate peel (#8174) 2022-02-26 17:02:54 +08:00
83521a826a [Feature](create_table) Support create table with random distribution to avoid data skew (#8041)
In some scenarios, users cannot find a suitable hash key to avoid data skew, so we need to provide an additional data distribution for olap table to avoid data skew

example:
CREATE TABLE random_table
(
siteid INT DEFAULT '10',
citycode SMALLINT,
username VARCHAR(32) DEFAULT '',
pv BIGINT SUM DEFAULT '0'
)
AGGREGATE KEY(siteid, citycode, username)
DISTRIBUTED BY random BUCKETS 10
PROPERTIES("replication_num" = "1");

Co-authored-by: caiconghui1 <caiconghui1@jd.com>
2022-02-26 10:38:55 +08:00
cce721ad5b [improvement](olap) using placement-new to avoid dynamic mallocing for ParsedPage (#8172)
use C++ placement-new feature to save consuming, placement-new can separate
mallocing from constructing.
2022-02-25 11:09:53 +08:00
6f4cf57b17 [Bug][Vectorized] Fix bug of decimal cast to double loss precision (#8221)
Co-authored-by: lihaopeng <lihaopeng@baidu.com>
2022-02-25 11:04:11 +08:00
8642fa38b9 [Bug] Double/Float % 0 should be NULL (#8230)
Co-authored-by: lihaopeng <lihaopeng@baidu.com>
2022-02-25 11:03:42 +08:00
Pxl
4c5d7c27df [Bug] group_concat(value,null) not return null 2022-02-25 11:03:23 +08:00
a6bc9cbe53 [Function] Refactor the function code of log (#8199)
1. Support return null when input is invalid
2. Del the unless code in vec function

Co-authored-by: lihaopeng <lihaopeng@baidu.com>
2022-02-24 11:06:58 +08:00