Commit Graph

8276 Commits

Author SHA1 Message Date
e5b0ca4e8c [fix](streamload) report exactly error message when be does not receive heartbeat from fe (#13518)
* [fix](streamload) report exactly error message when be does not receive heartbeat from fe

Http service is started before hearbeat from fe, so if a streamload comes before heartbeat
from fe, then be report an error like below because master address is not set.
"Couldn't open transport for :0 (Could not resolve host for client socket.)".
2022-10-24 11:50:24 +08:00
e53baeea17 [Improvement](Audit): Remove default_cluster for audit log db #13499 2022-10-24 11:46:06 +08:00
e17c2416f0 [fix](join) fix be core dump when using right join with other join predicates (#13511) 2022-10-24 10:35:07 +08:00
9a47e2dab4 [improvement](profile) Change some profile warning log to debug log (#13539) 2022-10-24 10:34:15 +08:00
4754ccf16b [refactor](Nereids) remove useless explaration job in cascades framework (#13545) 2022-10-24 10:33:24 +08:00
d266b8fb50 [fix](restore) fix wrong replica allcation after restore (#13575)
How to reproduce:
1. create a table with replica allocation, eg:
    ```
    "replication_allocation"="tag.location.group_01:1, tag.location.group_02:1, tag.location.group_03:1"
    ```
2. Backup this table
3. Restore this table with specific replication allocation, eg: `"replication_allocation" = "tag.location.default: 3"`
4. After restore, executing `show create table xxx`, you will be the `replication_allocation` is still:
    ```
    "replication_allocation"="tag.location.group_01:1, tag.location.group_02:1, tag.location.group_03:1"
    ```
    Not what we expected
5. But if you execute `show partitions from xxx`, the replication allocation of each partition is what we expected:
    ```
    "replication_allocation" = "tag.location.default: 3"
    ```

This is because when doing restore job, we forget to set the "default" replica allocation property of the table.
And the result of `show create table` is got from "default" replica allocation property, not from the real replica property of each partition
2022-10-24 09:42:28 +08:00
477b28efac [deps](fe)upgrade commons-text to 1.10.0 (#13562) 2022-10-23 23:30:02 +08:00
87864e40bf [doc](random_sink) Add some doc content about random sink (#13577)
1. Add some doc content about random sink
2. Fix bug of showing missing rowsets info
2022-10-23 22:51:56 +08:00
b042ef9765 [chore](macOS) Fix the issues with protoc and protoc-gen-grpc-java on M1 (#13571)
There are some errors occur when building FE by JDK (arm64) on M1 because the dependencies protoc and grpc-java doesn't support M1. 
#13563 modified the build.sh to fix this issues by adding -Dos.arch=x86_64 to build command.
However, if some one executes `mvn clean package -DskipTests=true` under the folder fe, the errors will occur again.

This PR introduces a better way to fix them.
2022-10-23 14:10:46 +08:00
4b5a2c1a65 [fix](export)(outfile) fix bug that export may fail when writing SUCCESS file (#13574) 2022-10-23 13:02:49 +08:00
6ef891870f improve the outfile doc (#13569) 2022-10-22 23:21:12 +08:00
3a3def447d [fix](csv-reader) fix bug that csv reader can not read text format hms table (#13515)
1. Missing field and line delimiter
2. When query external table with text(csv) format, we should pass the column position map to BE,
    otherwise the column order is wrong.

TODO:
1. For now, if we query csv file with non-exist column, it will return null.
    But it should return null or default value of that column.
2. Add regression test after hive docker is ready.
2022-10-22 22:40:03 +08:00
a7c221d04e [Bug](sort) Fix bug in string sorter (#13548) 2022-10-22 21:26:23 +08:00
413d2332ce [improvement](heartbeat) Add some relaxation strategies to reduce the failure probability of regression testing (#13568)
The regression test may failed because of heartbeat failure occasionally.
So I add 2 new FE config to relax this limit

1. `disable_backend_black_list`
    Set to true to not put Backend to black list even if we failed to send task to it. Default is false.
2. `max_backend_heartbeat_failure_tolerance_count`
   Only if the failure time of heartbeat exceed this config, we can set Backend as dead. Default is 1.
2022-10-22 17:53:07 +08:00
20ade4ae96 [chore](macOS) Disable JAVA UDF temporarily (#13563)
Fail to start BE (ASAN) if it was built with JAVA UDF on macOS.
2022-10-22 01:05:45 +08:00
wxy
60e9fe2b3a [fix](plugin) bugfix for dirty uninstallation of dynamic plugin (#13540) (#13543)
Co-authored-by: wangxiangyu@360shuke.com <wangxiangyu@360shuke.com>
2022-10-21 23:28:06 +08:00
6ff6a4f8b2 [fix] The special library name table name problem (#13519) 2022-10-21 22:45:35 +08:00
038ccab3c4 [benchmark](rewrite) add hints for q20 (#13561) 2022-10-21 22:35:50 +08:00
8e19b13f18 [Improvement](runtimefilter) don nott allocate memory if all targets are local (#13557) 2022-10-21 21:43:38 +08:00
122f36e5be [RuntimeFilter] (vec) support runtime filter in indeed slot id (#13556) 2022-10-21 21:41:23 +08:00
c1cce29b20 [chore](regression) modify duplicate table name for regression cases (#13527) 2022-10-21 21:37:13 +08:00
f0b608018b [config](tpch) Disable jemalloc and change the hint of tpch q22 (#13555) 2022-10-21 21:35:43 +08:00
a5db1be44f [enhancement](publish) add metic publish version cost (#13522)
Co-authored-by: yixiutt <yixiu@selectdb.com>
2022-10-21 19:17:03 +08:00
02598931e6 [fix](ddl) check view name by table name regex when create (#13240) 2022-10-21 17:41:23 +08:00
3006b258b0 [Improvement](bloomfilter) allocate memory for BF in open phase (#13494) 2022-10-21 17:37:26 +08:00
a555f45834 [fix](array-type) fix the wrong result of array_join function (#13477)
this pr is used to fix the wrong result of array_join function.
before the change, the array_join function will return wrong result.
MySQL [example_db]> select array_join(["", "1", "2"], '');
+--------------------------------------+
| array_join(ARRAY('', '1', '2'), '') |
+--------------------------------------+
| 1_2 |
+--------------------------------------+
3.after the change, the array_join function will return correct result.
MySQL [example_db]> select array_join(["", "1", "2"], '');
+--------------------------------------+
| array_join(ARRAY('', '1', '2'), '') |
+--------------------------------------+
| _1_2 |
+--------------------------------------+
Issue Number: #7570
2022-10-21 17:36:44 +08:00
ddc08ee690 [enhancement](Nereids) turn on stream pre aggregate for nereids (#13538)
Exactly the same behavior as the legacy optimizer.
2022-10-21 17:23:53 +08:00
3e92f742bf [Bugfix](MV) Fix insert negative value to table with bitmap_union MV will cause count distinct result incorrect (#13507) 2022-10-21 16:07:31 +08:00
847b80ebfa [test](jdbc) add jdbc and hive regression test (#13143)
1. Modify default behavior of `build.sh`
    The `BUILD_JAVA_UDF` is default ON, so that jvm is needed for compilation and runtime.

2. Add docker-compose for MySQL 5.7, PostgreSQL 14 and Hive 2
   See `docker/thirdparties/docker-compose`.

3. Add some regression test cases for jdbc query on MySQL, PG and Hive Catalog
   The default is `false`, if set to true, you need first start docker for MySQL/PG/Hive.

4. Support `if not exists` and `if exists` for create/drop resource and create/drop encryptkey
2022-10-21 15:29:27 +08:00
ccc04210d6 [feature](jsonb type) functions for cast from and to jsonb datatype (#13379) 2022-10-21 15:18:16 +08:00
5dde13fb7d [fix](scan)extend_scan_key should not change the range parameter (#13530)
* [fix](scan)extend_scan_key should not change the range parameter

* [fix](scan)new olap scan node has the same issue
2022-10-21 15:17:12 +08:00
Pxl
88ceace855 [Bug](predicate) fix core dump on bool type runtime filter (#13417)
fix core dump on bool type runtime filter
2022-10-21 13:15:22 +08:00
9dc5dd382a [enhancement](memtracker) Fix Brpc mem count and refactored thread context macro (#13469) 2022-10-21 12:01:38 +08:00
b861b66bef [improve](Nereids): verify the join reorder search space; (#13498)
* [improve](Nereids): verify the join reorder search space;
2022-10-21 11:48:04 +08:00
3ca8bfaf30 [Function](array) support array_difference function (#13440) 2022-10-21 10:57:37 +08:00
3e168c87c6 [improvement](regression-test) wait for publish timeout of stream load (#13531) 2022-10-21 10:11:03 +08:00
9a3c1f0867 [Improvement](decimal) print decimal according to the real precision and scale (#13437) 2022-10-21 10:00:01 +08:00
d3f65aa746 [Improvement](join) remove unnecessary state for join (#13472) 2022-10-21 09:59:34 +08:00
1f7829e099 [Fix](array-type) bugfix for array column with delete condition (#13361)
Fix for SQL with array column:
delete from tbl where c_array is null;

more info please refer to #13360

Co-authored-by: cambyzju <zhuxiaoli01@baidu.com>
2022-10-21 09:29:02 +08:00
27d84eafc5 [feature](alter) support rename column for table with unique column id (#13410) 2022-10-21 08:45:34 +08:00
1b0dafcaa1 [Enhancement](load) consider memtable in flush while reducing load me… (#13480)
We should consider memory which are being flushed from memtable to disk when trying to reduce memory by flushing memtable. Otherwise, we might not release memory space as expected. (e.g. lots of large memtable is in flush, the reduce_mem_usage method picks some small memtables to flush, it can't release enough memory and also can generate lots of small segments, which can cause -238 error)
2022-10-21 08:35:35 +08:00
e62d3dd8e5 [opt](function) refactor extract_url to use StringValue (#13508)
change extract_url use stringvalue to repalce std::string to speed up
2022-10-21 08:33:39 +08:00
3dd00df24b [fix](jsonreader) release memory of both value and parse allocator (#13513) 2022-10-21 08:33:05 +08:00
d2be5096d6 [Revert](mem) revert the mem config cause perfermace degradation (#13526)
* Revert "[fix](mem) failure of allocating memory (#13414)"

This reverts commit 971eb9172f3e925c0b46ec1ffd1a9037a1b49801.

* Revert "[improvement](memory) disable page cache and chunk allocator, optimize memory allocate size (#13285)"

This reverts commit a5f3880649b094b58061f25c15dccdb50a4a2973.
2022-10-21 08:32:16 +08:00
736d113700 [fix](memtracker) Fix transmit_tracker null pointer because phamp is not thread safe #13528 2022-10-21 08:30:30 +08:00
d624ff0580 [chore](macOS) Avoid using binutils from Homebrew to build third parties (#13512)
Overwrite the environment variable PATH to avoid using binutils from Homebrew to build third parties which may cause compilation errors.

Error: building for macOS-x86_64 but attempting to link with file built for unknown-unsupported file format
2022-10-21 01:28:30 +08:00
95f437c506 [fix] Fix potential unhandled exception cause data inconsistency (#11029)
Co-authored-by: TsukiokaKogane <cby141994@gamil.com>
2022-10-20 23:23:36 +08:00
483a46d17c [feature](Nereids) generate ExprId from 0 for each statement (#13382)
Currently, ExprId in Nereids is generated by a global gnerator and shared by all statement. There are three problems:
1. ExprId could out of bound
2. hard to debug
3. could not use bitset to present ExprId set

This PR solve this problem by new Id generator for each statement. after this PR ExprId always start from 0 for each statement.

TODO:
1. refactor all place that new StatementContext in test code to ensure the logic is same with main code.
2022-10-20 22:29:22 +08:00
4ae777bfc5 [fix](Nereids) NPE caused by GroupExpression has null owner group when choosing best plan (#13252) 2022-10-20 22:23:36 +08:00
7109cbfe6f [feature-wip](unique-key-merge-on-write) fix that delete the bitmap of stale rowset (#13393) 2022-10-20 21:53:13 +08:00