Commit Graph

3920 Commits

Author SHA1 Message Date
c3348b8023 [docs] fix config enable_force_drop_redundant_replica name not correct in docs (#8154) 2022-02-21 09:40:21 +08:00
16020cbdf9 [fix](lateral-view) Fix bug that explode_json_array_string return unstable result (#8152)
Co-authored-by: morningman <chenmingyu@baidu.com>
2022-02-21 09:38:36 +08:00
409aefdfbf [refactor] add some log when close parquet file (#8144) 2022-02-21 09:36:53 +08:00
16bf60e0da [docs] Update data-model-rollup.md (#8126) 2022-02-21 09:36:31 +08:00
826738d97f [docs]Some doc improvements and typo fix (#8153) 2022-02-21 09:36:01 +08:00
b27122df8b [Docs] add rpc function document (#7984)
* add rpc function document
2022-02-20 23:26:52 +08:00
56adc7f56b [Bug][vec] Fix bug of nullable const value convert to argument cause coredump (#8139)
Co-authored-by: lihaopeng <lihaopeng@baidu.com>
2022-02-20 20:05:23 +08:00
13d217b947 [community](doc) Refactor the release and verify doc (#8136)
Because of the latest moving of some code to a new repository, the documentation for release and verification
needs to be reorganized. There are 5 relevant documents as follows.

1. release-prepare.md
    General instructions for the release and related preparation work.
2. release-doris-core.md
    The Doris Core release process
3. release-doris-connectors
    The Doris Connectors release process
4. release-complete.md
   Release completion after release polling passed.
5. release-verify.md
    Release verification methods.
2022-02-20 16:31:26 +08:00
02531cc536 [doc]fix start/stop command (#8150) 2022-02-20 12:03:47 +08:00
4926c0bee7 [typo] translate the comments of byte_buffer.h (#8127)
translate the comments of byte_buffer.h
2022-02-19 12:06:35 +08:00
694e6433cc [feature](test) Add regression test framework (#8125)
Add scalable regression testing framework(#7584)
contains
- Test framework making by groovy, and support built-in **readable DSL** named as `Action`
- Demo exists in `${DORIS_HOME}/regression-test/data/demo`
- Chinese doc exist in `${DORIS_HOME}/docs/zh-CN/developer-guide/regression-testing.md`

English document coming soon
2022-02-19 12:05:50 +08:00
5f50d9ae3b predicate test bugfix (#8134)
Co-authored-by: zuochunwei <zuochunwei@meituan.com>
2022-02-19 12:05:26 +08:00
5cc8cb1b93 [improvement](txn) Add PreCommitTime for the result of SHOW TRANSACTION stmt (#8124)
Add `PreCommitTime` for  the result of ` SHOW TRANSACTION;` and `SHOW PROC '/transactions/{DbId}/{state}';`.
2022-02-19 12:02:07 +08:00
0f7a25367d [fix](rowset-meta) Fix bug that rowset meta is not deleted (#8118)
As described in #8120, a large number of rowset meta remain in rocksdb, which may be generated by:

1. drop tablet

    The drop tablet task itself just sets the state of the tablet meta to `SHUTDOWN`
    and moves the tablet to `_shutdown_tablets` vector then the background thread
    will periodically clean up the tablet in `_shutdown_tablets` (that's why even if we execute
    the `drop table xx force`, the tablet may be delayed by 10min to 1 hour before it goes into the trash directory).

    The regular cleanup thread in the background saves the complete tablet meta as a `.hdr` file
    when deleting the tablet, and then moves it to the trash directory along with the data files.

    But this process does not process the rowset meta (before doing the checkpoint of the tablet meta,
    the rowset meta is stored independently in rocksdb as a key-value). So this results in a residual rowset meta.

2. clone task

    The clone task may migrate back and forth between BEs, which may result in a situation
    where the tablet id is the same on the BE, but the tablet uuid is different.
    This leads to some rowset meta can not find the corresponding tablet, but there is no thread
    to process these rowsets, and eventually lead to residual.

This is PR, I handled it in the regular cleanup thread with method `_clean_unused_rowset_metas()`.
I did not delete rowset meta along with "drop tablet" task, because "drop tablet" itself is not a synchronous operation.
It also relies on a background thread to clean up the tablet periodically.
So I put this operation in the background cleanup thread.
2022-02-19 12:00:48 +08:00
Pxl
1943a5da5f [docs] fix some document error and adjust some function document location
1. move `group_concat` from string-functions to aggregate-functions.
2. add `json_array`/`json_object`/`json_quote` to sidebar file.
3. move  `json_array`/`json_object`/`json_quote`/`get_json_double`/`get_json_int`/`get_json_string` to json-functions.
4.  change `group_concat` document to uppercase
2022-02-19 11:59:55 +08:00
9df5b2dfdc [fix](variables) Fix bug that execute showVariablesStmt with where expression return empty resultset (#8094)
This Bug is introduced by PR #7936 , which change key type of connectionMap from Long to Integer,
which cause connectionMap could not find connectContext by connectionId
2022-02-19 11:58:17 +08:00
9cb9781d86 [chore](storage) add STORAGE_LAYER_VECTORIZED_SWITCH (#8005)
if you want test storage layer vectorized, you need modify some codes to let vectorized storage layer working,
it's boring work.

now, you can just change one code (redefine the macro STORAGE_LAYER_VECTORIZED_SWITCH as 1 or 0),
this gets more convenient.
2022-02-19 11:47:36 +08:00
50864aca7d [refactor] fix warings when compile with clang (#8069) 2022-02-19 11:29:02 +08:00
8892780091 [Vectorized][Feature] support agg function percentile&&percentile_approx (#8066) 2022-02-18 13:42:24 +08:00
bcde1f265a [Function][Vectorized] Support least/greast function (#8107)
Co-authored-by: lihaopeng <lihaopeng@baidu.com>
2022-02-18 11:57:07 +08:00
68b24d608f [fix] (vectorization)Fix nullable column compute the hash value error (#8105)
Co-authored-by: lihaopeng <lihaopeng@baidu.com>
2022-02-18 11:20:47 +08:00
Z6N
920a6db5a7 Fix username@cluster:passwod is modified to cluster: username:passwod causes authentication failure (#8115)
Fix username@cluster:passwod is modified to cluster: username:passwod causes authentication failure 

Co-authored-by: z6n <ztmailgo@gmail.com>
2022-02-18 11:19:17 +08:00
2b1aec871d [docs] Modify the SSB document (#8101)
Add one step of preparation before load
2022-02-18 11:14:20 +08:00
d383821fd5 [refactor] Remove unused code in data dir (#8092) 2022-02-18 11:14:02 +08:00
31399d5876 [Bug][Vec] Fix the bug of coredump when vec exec engine with delete condition (#8109)
Co-authored-by: lihaopeng <lihaopeng@baidu.com>
2022-02-18 11:09:05 +08:00
4a16b6611b Update commit-format-specification.md (#8121)
I want to add some key words for commit format
2022-02-18 11:05:09 +08:00
b7e07ee472 [fix](cache) Throws ClassCastException when there are multiple EXCEPT, INTERSECT and UNION in the local view (#8083)
Issue Number: close #8082
Throws ClassCastException when there are multiple EXCEPT, INTERSECT and UNION in the local view.
2022-02-18 10:56:37 +08:00
b9f0b5565c [refactor](storage) refactor some interfaces of storage layer column (#8064)
1 format binary plain
2 remove batch_set_null_bitmap
3 fix segiter return value
4 set insert_many_binary_data args
2022-02-18 10:54:51 +08:00
936da4f10a [feature](thread-pool) Support thread pool per disk for scanners (#7994)
Support thread pool per disk for scanners to prevent pool performance from some high ioutil disks happening

key point:
1. each disk has a thread pool for scanners
2. whenever a thread pool of one disk runs out of local work, tasks can be retrieved from other threads(disks). This is done round-robin.

performance testing: 
vec version: 25% faster than single thread pool in a high io util disk test case
normal version: 8% faster than single thread pool in a high io util disk test case
2022-02-18 09:40:58 +08:00
a162f56284 (test) resolve unit test failed problem for VGenericIteratorsTest
Co-authored-by: zuochunwei <zuochunwei@meituan.com>
2022-02-17 20:03:07 +08:00
bdd78f20c8 [Vectorized][HashJoin] Eliminate hashjoin branch prediction (#8051)
Co-authored-by: jewisliu <jewisliu@tencent.com>
2022-02-17 19:00:26 +08:00
7471873e6f Add version upgrade instructions (#8057)
Add version upgrade instructions
2022-02-17 18:06:41 +08:00
8939b743e5 Update sql-block.md (#8106)
Documentation error
2022-02-17 18:06:03 +08:00
Pxl
e0dbf48682 [Vectorized] [AggFunction] Support group_concat (#8086) 2022-02-17 14:19:07 +08:00
f6e2a4fe16 [Vectorized][Function] Support year/month/week/hour/mintue/day/second floor/ceil function (#8068)
Co-authored-by: lihaopeng <lihaopeng@baidu.com>
2022-02-17 14:18:02 +08:00
f8411f3c6a [refactor](mysql_table_writer)split into two parts of vectorized and row mode (#8081) 2022-02-17 11:29:25 +08:00
289aacb78c [improvement] enable check_java_version (#8034)
Enable to check the Java version when Doris starts, to prevent the user experience caused by the inconsistency 
between the compiled version and the running version.
If the Java version is compiled and the Java version is run, it will not start, and a prompt message will be given.
2022-02-17 11:16:45 +08:00
486a0586ac [community] modify the doc of verifying apache release (#8084) 2022-02-17 10:53:31 +08:00
GRX
d9535c29f6 [doc] update alter table docs (#8076) 2022-02-17 10:52:59 +08:00
26289c28b0 [fix](load)(compaction) Fix NodeChannel coredump bug and modify some compaction logic (#8072)
1. Fix the problem of BE crash caused by destruct sequence. (close #8058)
2. Add a new BE config `compaction_task_num_per_fast_disk`

    This config specify the max concurrent compaction task num on fast disk(typically .SSD).
    So that for high speed disk, we can execute more compaction task at same time,
    to compact the data as soon as possible

3. Avoid frequent selection of unqualified tablet to perform compaction.
4. Modify some log level to reduce the log size of BE.
5. Modify some clone logic to handle error correctly.
2022-02-17 10:52:08 +08:00
Pxl
f06c13a828 [feature](vec)(function) support function convert_tz() (#8060) 2022-02-17 10:51:32 +08:00
bef1b55c1f [feature][fix](vec)(function) Fix multi args function call the DATETIME type not effective in DATE type and add the alias function (#8050)
1. Support some function alias of mod/fmod, adddate/add_data
2. Support some function of multi args: week, yearweek
3. Fix bug of multi args function call the DATETIME type not effective in DATE type
2022-02-17 10:49:25 +08:00
79fd81f035 [doc] Added be -238 error code description (#8048)
Added be -238 error code description
2022-02-17 10:47:52 +08:00
53f22bbc14 [fix] fix incorrect serialized_size of TDigest object (#8046) 2022-02-17 10:47:22 +08:00
d1cb2913c1 [improvement] check simd instructions before start (#8042)
Sometimes BE is build on a machine with SIMD instruction such as AVX2.
But the BE binary will be copied to a machine without AVX2. It will crashed without any error message.

This PR will check the required SIMD instructions and print error messages during startup.
2022-02-17 10:46:03 +08:00
264f38471c [feature](spark-load) add Hive Bitmap UDFs (#8036)
Hive Bitmap UDF provides UDFs for generating bitmap and bitmap operations in hive tables.
The bitmap in Hive is exactly the same as the Doris bitmap.
The bitmap in Hive can be imported into Doris through spark bitmap load.
2022-02-17 10:45:20 +08:00
0003822da7 [feature](vec) add ColumnHLL to support hll type (#7828) 2022-02-17 10:44:42 +08:00
e6fedff68f [Refactor][heartbeat] Make get fe heart response by thrift (#8035)
* [Refactor] Make get fe heart response by thrift

Co-authored-by: caiconghui1 <caiconghui1@jd.com>
2022-02-17 10:25:51 +08:00
Pxl
143c4085ee [Feature][Vectorized] support aggregate function ndv()/approx_count_distinct() (#8044) 2022-02-16 14:30:13 +08:00
a46af29051 [fix](meta) fix bug that FE can't start due to wrong image reading (#8045)
should remove decommission job type from enum
2022-02-16 11:58:40 +08:00