Commit Graph

14920 Commits

Author SHA1 Message Date
add6bdb240 [fix](multi-catalog)add the max compute fe ut and fix download expired (#27007)
1. add the max compute fe ut and fix download expired
2. solve memery leak when allocator close
3. add correct partition rows
2023-11-20 10:42:07 +08:00
8c9a22cc4f [fix](tablesample) Fix computeSampleTabletIds NullPointerException (#27165)
```
2023-11-05 22:52:01,914 WARN (mysql-nio-pool-167|1655) [StmtExecutor.analyze():992] Analyze failed. stmt[222101, ec1adf0f9f7b405d-8cb71a522bc50b82]
java.lang.NullPointerException: null
        at org.apache.doris.planner.OlapScanNode.computeSampleTabletIds(OlapScanNode.java:952) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.planner.OlapScanNode.init(OlapScanNode.java:548) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.planner.SingleNodePlanner.createScanNode(SingleNodePlanner.java:2064) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.planner.SingleNodePlanner.createTableRefNode(SingleNodePlanner.java:2213) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.planner.SingleNodePlanner.createSelectPlan(SingleNodePlanner.java:1244) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.planner.SingleNodePlanner.createQueryPlan(SingleNodePlanner.java:266) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.planner.SingleNodePlanner.createSingleNodePlan(SingleNodePlanner.java:189) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.planner.OriginalPlanner.createPlanFragments(OriginalPlanner.java:160) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.planner.OriginalPlanner.plan(OriginalPlanner.java:101) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.qe.StmtExecutor.analyzeAndGenerateQueryPlan(StmtExecutor.java:1141) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.qe.StmtExecutor.analyze(StmtExecutor.java:975) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.qe.StmtExecutor.executeByLegacy(StmtExecutor.java:673) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:451) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:422) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:435) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.qe.ConnectProcessor.dispatch(ConnectProcessor.java:583) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.qe.ConnectProcessor.processOnce(ConnectProcessor.java:834) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.mysql.ReadListener.lambda$handleEvent$0(ReadListener.java:52) ~[doris-fe.jar:1.2-SNAPSHOT]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_333]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_333]
        at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_333]
2023-11-05 22:52:01,914 WARN (mysql-nio-pool-167|1655) [StmtExecutor.executeByLegacy():776] execute Exception. stmt[222101, ec1adf0f9f7b405d-8cb71a522bc50b82]
org.apache.doris.common.AnalysisException: errCode = 2, detailMessage = Unexpected exception: null
        at org.apache.doris.qe.StmtExecutor.analyze(StmtExecutor.java:993) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.qe.StmtExecutor.executeByLegacy(StmtExecutor.java:673) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:451) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:422) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:435) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.qe.ConnectProcessor.dispatch(ConnectProcessor.java:583) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.qe.ConnectProcessor.processOnce(ConnectProcessor.java:834) ~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.mysql.ReadListener.lambda$handleEvent$0(ReadListener.java:52) ~[doris-fe.jar:1.2-SNAPSHOT]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_333]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_333]
        at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_333]
```
2023-11-20 10:03:47 +08:00
767b5a1770 [test](external_table_p0)append log in external_table_p0 for debug unknown table case (#27212) 2023-11-19 22:47:32 +08:00
23ab3333a0 [chore](thirdparty) Fix link errors of librdkafka (#27247)
Exclude coverage symbol from librdkafka's version script generator to
avoid compatibility issues with recent linkers such as lld-17.
2023-11-19 21:22:26 +08:00
58aefbc33f [feature](clucene) coverage compilation option added (#27162) 2023-11-19 05:33:08 -06:00
c7cefe27d5 [pipelineX](broadcast) Add error logs (#27243) 2023-11-19 17:02:00 +08:00
70e070182f [feature](executor)Make workload group property not required (#27229)
* Make workload group property not required

* remove useless  UT
2023-11-19 17:01:51 +08:00
ab16d0f473 [com](github) add auto replay on new PR to show how to run pipeline (#27219) 2023-11-19 17:01:38 +08:00
febd60c75f [fix](join) incorrect result of left join with other conjuncts (#27238) 2023-11-19 15:36:39 +08:00
836cda65d8 [refactor](profilev2) split merged profile to a single runtime profile to make the logic more clear (#27184) 2023-11-19 13:21:50 +08:00
hat
61fe545e48 [fix][chore](clang-tidy) Fix order of tidy Checks (#27237)
Clang-tidy add checks based on the order of `Checks` field.
Here the `-*` removes the `clang-diagnostic-*,clang-analyzer-*` before.
2023-11-19 13:06:01 +08:00
7b817197b2 [pipelineX](sink) simplify result sink dependency (#27226) 2023-11-19 12:42:10 +08:00
b560d863c2 [fix](dynamic) Fix error reporting when dynamic partition properties contain incorrect attributes (#25373) 2023-11-19 09:51:57 +08:00
329abc3452 [feature](nereids) runtime filter prune when column stats are not available (#27099)
1. prune rf when column stats are not available
2. print rf in "explain shape plan", both join side and apply side
3. add regression case to check plan shape/rf/rf prune for tpch_sf1000 (stats are not available)
2023-11-18 19:32:33 +08:00
b42828cf69 [fix](window_function) min/max/sum/avg should be always nullable (#27104)
Co-authored-by: starocean999 <40539150+starocean999@users.noreply.github.com>
2023-11-18 18:41:42 +08:00
2f41e0c823 [FIX](complextype)fix information schema for complex type (#27203)
when we select in information schema , here do not show complex type information
2023-11-18 11:32:32 +08:00
be7273da83 [refactor](executor)Refactor workload meta update to be #26710 2023-11-18 11:19:38 +08:00
b1eef30b49 [pipelineX](dependency) Wake up task by dependencies (#26879)
---------

Co-authored-by: Mryange <2319153948@qq.com>
2023-11-18 03:20:24 +08:00
38e4779fde [fix](ccr) Mark getBinlog,getBinlogLag,getMeta,getBackendMeta as from master (#27211)
Signed-off-by: Jack Drogon <jack.xsuperman@gmail.com>
2023-11-18 00:25:11 +08:00
0aec436ef8 [chore](be) format reader parameter settings (#22964) 2023-11-18 00:11:46 +08:00
4b6330cb93 [regression test](http stream) add case for strict_mode (#27098) 2023-11-18 00:10:02 +08:00
2841c5cfd2 [improvement](transaction) txn prune memory after visible (#27128) 2023-11-18 00:09:27 +08:00
fc47eb51f7 [regression test](schema change) add some schema change regression cases (#27112) 2023-11-18 00:08:53 +08:00
c20487888f [refact](fe) Refact GlobalTransactionMgr (#27070)
* Only export `GlobalTransactionMgr` method, avoid
  using `DatabaseTransactionMgr`
2023-11-18 00:08:20 +08:00
fc18dc6a05 [fix](regression-test) enhance stream load test user password (#27170) 2023-11-18 00:01:39 +08:00
9319d173dd [refactor](planner) filter empty partitions in a unified location (#27190) 2023-11-17 23:58:21 +08:00
5fb27eb652 [fix](compile) fix BE compile failure on Mac (#27206) 2023-11-17 23:52:51 +08:00
b477839bce [enhancement](jdbc catalog) Add lowercase column name mapping to Jdbc data source & optimize database and table mapping (#27124)
This PR adds the processing of lowercase Column names in Oracle Jdbc Catalog. In the previous behavior, we changed all Oracle columns to uppercase queries by default, but could not handle the lowercase case. This PR can solve this situation and improve All Jdbc Catalog works
2023-11-17 23:51:47 +08:00
5d548935e0 [improvement](insert) support schema change and decommission for group commit (#26359) 2023-11-17 21:41:38 +08:00
e3e249c584 [Bug](SchemeChange) Loading tasks during alter job cause modify column failed (#26975)
When a table is doing schema-change, it adds _doris_shadow prefix in name of modified columns in shadow index.

The writes during schema-change will generate rowset schema with _doris_shadow prefix in BE.

If the alter task arrives at be after the write request, it will use the rowset schema with max version which has the _doris_shadow prefix.

And an error will be thrown as below:

a shadow column is encountered __doris_shadow_p_retailprice
[INTERNAL_ERROR]failed due to operate on shadow column

This commit will disable shadow prefix in rowset meta schema.
2023-11-17 21:24:53 +08:00
0a1a6cf02f [fix](topn) add defensive code in topn opt to avoid crash due to column not in tablet schema 2023-11-17 21:14:10 +08:00
c459408580 [fix](jni) avoid BE crash and NPE when close paimon reader (#27129)
1. Do not use FATAL log when jni encounter error, to avoid crash.
2. Fix NPE when closing PaimonReader, the reader may not be assigned if PaimonReader open failed.
2023-11-17 20:01:08 +08:00
635a339bce [fix](fe ut) fix unstable ut DecommissionTest (#27082) 2023-11-17 19:30:24 +08:00
ee12297cd9 [fix](test) Fix fe ut BDBJEJournalTest not stable (#27192) 2023-11-17 19:24:12 +08:00
a8720e645f [fix](fe ut) Fix borrow oject throw npe (#27072)
occasional failure of fe ut, borrowObject throw npe
```
get agent task request. type: CREATE, signature: 10008, fe addr: null
java.lang.NullPointerException
	at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936)
	at org.apache.commons.pool2.impl.GenericKeyedObjectPool.register(GenericKeyedObjectPool.java:1079)
	at org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:347)
get agent task request. type: CREATE, signature: 10012, fe addr: TNetworkAddress(hostname:127.0.0.1, port:56072)
	at org.apache.commons.pool2.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:277)
	at org.apache.doris.common.GenericPool.borrowObject(GenericPool.java:99)
	at org.apache.doris.utframe.MockedBackendFactory$DefaultBeThriftServiceImpl$1.run(MockedBackendFactory.java:219)
	at java.lang.Thread.run(Thread.java:750)
```
2023-11-17 19:16:29 +08:00
52995c528e [fix](iceberg) iceberg use customer method to encode special characters of field name (#27108)
Fix two bugs:
1. Missing column is case sensitive, change the column name to lower case in FE for hive/iceberg/hudi
2. Iceberg use custom method to encode special characters in column name. Decode the column name to match the right column in parquet reader.
2023-11-17 18:38:55 +08:00
f8b61d3d8e [Enhance](fe) select BE local broker to scan Hive table when 'broker.name' in hms catalog is specified (#27122)
Since #24830 introduce `broker.name` in hms catalog, data scan will run on specified brokers.
And [doris operator](https://github.com/selectdb/doris-operator) support BE and broker deployed in same pod, BE access local broker is the fastest approach to access data.
In previous logic, every inputSplit will select one BE to execute,  then randomly select one broker for actual data access, BE and related broker are always located on  separate K8S pod.
This pr optimizes the broker select strategy to prioritize BE-local broker when `broker.name` is specified in hms catalog.
2023-11-17 18:29:55 +08:00
0ece18d6cd [FIX](regresstest) fix test_map_nested_array csv file for id(#27105) 2023-11-17 04:20:02 -06:00
fa7e1b7fc7 [fix](Nereids) result type of add precision is 1 more than expected (#27136) 2023-11-17 04:13:09 -06:00
xy
fdec286e82 [optimize](cooldown)Shorten the _meta_lock lock interval (#27118)
Change the two passes of _rs_version_map to one, reducing cpu overhead and shortening the lock interval of _meta_lock

Co-authored-by: xingying01@corp.netease.com <xingying01@corp.netease.com>
2023-11-17 16:59:36 +08:00
xy
ab322eaa2b [improvement](detailMessage) add AvailCapacity prompt in detailMessage (#26328)
Co-authored-by: xingying01 <xingying01@corp.netease.com>
2023-11-17 16:54:31 +08:00
593e3662b0 [Fix](match) fix match null for no index (#26983)
This pull request addresses an issue observed with inverted index tables or tables without indices when querying null values using the MATCH function. 
Previously, executing a query like `SELECT * FROM table WHERE column MATCH null;` would yield incorrect results. 

The update introduces enhanced handling of nullable columns within the MATCH function, ensuring accurate query results when null values are involved.
2023-11-17 15:57:50 +08:00
9b040b3fbd [fix](nereids) partition prune fails in case of NOT expression (#27047)
* handle not and add regression test
2023-11-17 15:50:09 +08:00
ec92ba4af1 [fix](statistics)Fix alter column stats bug (#27093)
Encode the min and max value with base64 encoder while inject the column stats.
2023-11-17 15:40:47 +08:00
4d2fb1fffb [fix](load) add lock in active_memtable_mem_consumption (#27101) 2023-11-17 15:03:15 +08:00
e1b180d53d [improve](streamload) Explicitly judge the return value of close #27134 2023-11-17 14:17:09 +08:00
285c617a5f [minor](stats) Add start/end time for analyze job, precise to seconds of TableStats update time #27123 2023-11-17 13:59:53 +08:00
b359fff097 [regression test](http_stream) Case for Invalid file format (#27133) 2023-11-17 13:46:17 +08:00
a0661ed9d2 [Fix](multi-catalog) Fix complex type crash when using dict filter facility in the parquet-reader. (#27151)
- Fix complex type crash when using the dict filter facility in the parquet-reader by turning off the dict filter facility in this case.
- Add orc complex types regression test.
2023-11-17 13:43:58 +08:00
c7d961cb11 [regression test](stream load) add case for strict_mode=true and max_filter_ratio=0.5 (#27125) 2023-11-17 13:39:01 +08:00