Commit Graph

4501 Commits

Author SHA1 Message Date
ffd50b6aeb [improvement](broker) TOperationStatus determines that a null pointer is redundant. (#18712)
TOperationStatus determines that a null pointer is redundant. If tOperationStatus is a null pointer, then tOperationStatus.getMessage() will have a null pointer exception.
2023-05-04 10:03:09 +08:00
52d25f41a4 [feature](multi-catalog) Rename multi-catalog config 'specified_database_list' to 'include_database_list', and introduce new multi-catalog config 'exclude_database_list' (#18834)
In my scene, We need to specify databases that are excluded to synchronize to doris,
like some databases store temporary table.
Since #17803 introduce `specified_database_list` to specify 'include databases',
this pr introduce new config `exclude_database_list` to specify 'exclude databases',
and rename `specified_database_list` to `include_database_list` for naming symmetry.

BTW, when `include_database_list` and `exclude_database_list` specify overlapping databases, `exclude_database_list` would take effect with higher privilege over `include_database_list`.
2023-05-04 09:30:02 +08:00
72d937ad52 [fix](auth)fix es catalog show table (#19202) 2023-05-02 20:22:07 +08:00
05beb8538e [Fix](multi-catalog) fix FE abnormal exit when replay OP_REFRESH_EXTERNAL_TABLE (#19120)
When salve FE nodes replay OP_REFRESH_EXTERNAL_TABLE log, it will invoke `org.apache.doris.datasource.hive.HiveMetaStoreCache#invalidateTableCache`,
but if the table is a non-partitioned table, it will invoke  `catalog.getClient().getTable`.
If some network problem occurs or this table is not existed, an exception will be thrown and FE will exit right away.
The solution is that we can use a dummy key as the file cache key which only contains db name and table name.
And when slave FE nodes replay OP_REFRESH_EXTERNAL_TABLE log,
it will not rely on the hms client and there will not any exception occurs.
2023-05-02 09:53:20 +08:00
a978be32a6 [fix](schema_change) remove shadow prefix of schema for tablesink (#18822)
LSC updates tablet's schema in writing. Be optimized adding columns via linked schema change and
it distinguishes adding by comparing column name. e.g. if new column's name is not found in old schema,
then it is a newly-add column.

When a table is under schema-changing, it adds __doris_shadow_ prefix in name of columns in shadow index.
Then  writes during schema-changing would bring schema with __doris_shadow_ to be.
If schema change request arrives at be after writes, then be do it as a add-column schema change due to 
__doris_shadow_ is not in base tablet.
2023-04-30 22:46:36 +08:00
da4de37dec [feature-wip](mv lifecycle) separate life cycle of base table and its materialized views (#19210)
support related syntax and add:regress-test case

---------

Co-authored-by: yzy <yzy@nanfeng_yzy@163.com>
2023-04-30 17:42:02 +08:00
fc3728c6ab [fix](dynamic-partition) create HOUR unit partition with DATEV2 throw exception (#19213)
Need to forbid create HOUR unit partition with partition column type DATEV2
```
Unexpected exception: String index out of range: 10
```
2023-04-29 08:23:06 +08:00
c74c2a4f8e [fix](Metadata tvf) Metadata TVF supports read the specified columns from Fe (#19110) 2023-04-29 00:06:08 +08:00
d006143330 [fix](multi-catalog) when endpoint has no region, need a suggestion (#19203)
solve the problem

```
 mysql> CREATE CATALOG iceberg PROPERTIES (  
    'type'='iceberg', 
    'iceberg.catalog.type'='rest',                                                                                                                                         
    'uri' = 'http://0.0.0.0:8888,  
    "AWS_ACCESS_KEY" = "admin",                                                                                                                                           
    "AWS_SECRET_KEY" = "password", 
    "AWS_REGION" = "us-east-1",                  
    "AWS_ENDPOINT" = "http://minio:9000"
);  
show databases; 

ERROR 1105 (HY000): IllegalArgumentException, msg: java.lang.IllegalArgumentException: The value of property fs.s3a.endpoint.region must not be null   
```
2023-04-29 00:05:41 +08:00
43e70ab252 [chore](recover) add a config to recover remaining data in emergency (#18986) 2023-04-28 17:42:00 +08:00
aef9355cd3 [feature-wip](partial update) PART1: support basic partial write (#17542) 2023-04-28 17:17:57 +08:00
718297d3c1 [test](statistics) add p0 test of sampling statistics (#19176)
1. Added test p0 for sampling collection statistics
2. Modify the uniqueKeys of table analysis_jobs for deletion based on relevant conditions
3. Solve the problem that incremental statistics p0 is less stable
2023-04-28 15:50:05 +08:00
f0852f2ac9 [fix](fe)fix bug if left table is empty and there are multiple right tables need do bucket shuffle to left side (#19169)
* [fix](fe)fix bug if left table is empty and there are multiple right tables need do bucket shuffle to left side

* fix bug

* fix test cases
2023-04-28 15:06:38 +08:00
Pxl
ec517a53a8 [Chore](build) upgrade clang-format version to 16 && move thrift to fe-common (#19155)
upgrade clang-format version to 16
move thrift to fe-common
fix core dump on pipeline engine when operator canceled and not prepared
2023-04-28 14:14:51 +08:00
5e9c0c3500 [Enhancement](data-type) add FE config to prohibit create date and decimalv2 type (#19077)
* prohibits date and decimal type

* add config in test
2023-04-28 11:31:51 +08:00
86be6d27e7 [Enhencement](Cancel Export) Cancel export support to cancel IN_QUEUE state export job (#19058) 2023-04-28 09:27:23 +08:00
a35fc02bd4 [enhance](Nereids): handle project of OuterJoin in Reorder. (#19137) 2023-04-27 22:17:03 +08:00
0f895640d9 [opt](Nereids)(WIP) optimize agg and window normalization step 1 (#19168)
1. move SimplifyAggGroupBy behind NormalizeAggregate
2. fix project to agg rule for the project containing window expression
2023-04-27 21:42:23 +08:00
7cf1ffa0b4 [fix](planner) ctas should not clone queryStmt after parse (#19114)
Remove redundant clone in the constructor of CTAS stmt

Error message:

```
NullPointerException, msg: java.lang.NullPointerException: null
```
2023-04-27 20:09:11 +08:00
8288494e8e [fix](planner) AnalyticEvalNode should call child's getOutputTupleIds method to get the correct output tuple id (#19163) 2023-04-27 20:04:51 +08:00
f3f0496b99 [feature](multi-catalog) support oceanbase jdbc catalog and jdbc external table (#18943)
* [feature](multi-catalog) support oceanbase jdbc catalog and jdbc external table
2023-04-27 17:14:48 +08:00
7d89b57706 [enhancement](stats) Optimize stats pre-load logic #19138
1. Don't do pre-load until stats table gets ready
2. Don't put pre-loaded unknown stats to cache
2023-04-27 16:01:31 +08:00
30f2f67ca1 [fix](Hive bitmap udf) NPE error when mapreduce task only has map task (#19140)
Issue Number: close #17539
2023-04-27 14:52:26 +08:00
9de2ec5aa5 [fix](Nereids) topn two phase read do not process child correct (#19136) 2023-04-27 13:23:15 +08:00
484612a0af [opt](statistics) optimize Incremental statistics collection and statistics cleaning (#18971)
This pr mainly optimizes the following items:
- the collection of statistics: clear up invalid historical statistics before collecting them, so as not to affect the final table statistics.
- the incremental collection of statistics: in the case of incremental collection, only the corresponding partition statistics need to be collected.

TODO: Supports incremental collection of materialized view statistics.
2023-04-27 11:51:47 +08:00
ab8adea39f [fix](load-profile) fix show load profile return emoty result (#19125)
Fix 2 bugs of show load profile:

For broker load, the second level should be the sub task' id.
show load profile stmt should be forwarded to master FE to execute.
2023-04-27 11:05:00 +08:00
908518915d [Feature](resource-group) Support alter resource group (#18990) 2023-04-27 10:48:17 +08:00
f9f5bbde6f [feature-wip](duplicate_no_keys) add create duplicate table without keys (#18758) 2023-04-27 09:59:56 +08:00
84d040bdbf [fix](heartbeat) fix update BE last start time (#18962)
Sometimes the LastStartTime info in show backends result is unchanged even if BE restart.
This PR fix it
2023-04-27 09:59:04 +08:00
20395ce501 [feature](array_function): add support for array_cum_sum function (#18231) 2023-04-27 09:57:13 +08:00
32fa9e09f4 [feature](Nereids): enable OuterJoinAssoc (#19111) 2023-04-27 09:50:15 +08:00
b5140bc9b4 [fix](fe)hll_raw_agg function's return type should be always not nullable (#19115) 2023-04-27 08:00:49 +08:00
ae252d1cfa [opt](Nereids) simplify decimalv3 comparison predicate (#18975)
1. fix constant folding failed on decimalv3 type
2. support reduce decimalv3 literal precision in comparison predicate
3. support fe config enable_decimal_conversion
2023-04-26 23:57:09 +08:00
925efc1902 [bug](map-type)fix some bugs in map and map element function (#18935)
fix some bugs in map and map element function.
2023-04-26 22:10:15 +08:00
aacc075f09 [fix](planner) SetOperationNode's slots' nullability calculation is wrong (#19108)
SetOperationNode's slots' nullability should consider slots info from all children, even some children have EmptyResultSet
2023-04-26 21:18:37 +08:00
55d7c5e147 [fix](nereids) column prune should use slots from children (#19112)
the slots' nullable property may different between parent and children. So column prune should always use slots of children
2023-04-26 21:10:29 +08:00
aabcab9dbe [Improvement](runtime filter) Improve merge phase (#18828) 2023-04-26 21:01:20 +08:00
b3b261e052 [fix](colocate) prohibit dead backend as destination backend in colocate balance (#18970) 2023-04-26 20:09:01 +08:00
e83d0d9b6a [opt](Nereids) forbid some bad pattern aggregate in AggregateStrategy (#18877)
since we cannot do stats derive and cost estimate on agg very good.
this PR remove some aggregate pattern that usually not good.
1. one stage agg after exchange. this pattern is good only when process very few rows.
2. three stage distinct agg with gather middle merge.
2023-04-26 20:01:35 +08:00
4a6e65c172 [Fix](Planner) fix throw NPE when parse error (#19097)
some syntax error will cause unclear msg: NPE,because symbol.value is null and cause NPE when call toLowerCase(), we fix it by check if the value is null and return early.
2023-04-26 19:19:55 +08:00
a32fa219ec Revert "[Enhancement](compaction) stop tablet compaction when table dropped (#18702)" (#19086)
This reverts commit 296b0c92f702675b92eee3c8af219f3862802fb2.

we can use drop table force stmt to fast drop tablets, no need to check tablet dropped state in every report

Co-authored-by: caiconghui1 <caiconghui1@jd.com>
2023-04-26 18:27:46 +08:00
0c60f0e266 fe conf action spec item (#18916) 2023-04-26 17:54:00 +08:00
59d8aa5a6f [Fix](multi catalog)Fix Hive partition path doesn't contain partition value case bug (#19053)
Hive support create partition with a specific location. In this case, the file path for the create partition may not contain the partition name and value. Which will cause Doris fail to query the the hive partition.
This pr is to fix this bug.
2023-04-26 17:18:51 +08:00
Pxl
60cda12e57 [Bug](pipeline-engine) fix hang on insert into select when enable pipeline engine (#19075) 2023-04-26 16:50:19 +08:00
45874bbf62 [refactor](fs)(step2)separate the storage and filesystem methods (#19012)
Co-authored-by: jinzhe <jinzhe@selectdb.com>
2023-04-26 15:06:31 +08:00
6356146274 [Fix](Nereids) fix nereids fold failed by be return null exception (#19013)
```sql
select if(
    date_format(CONCAT_WS('', '9999-07', '-26'), '%Y-%m') = DATE_FORMAT(curdate(), '%Y-%m'),
    curdate(),
    DATE_FORMAT(DATE_SUB(month_ceil(CONCAT_WS('', '9999-07', '-26')), 1), '%Y-%m-%d')
) 
```
return null when construct new children of if(), we find that the the more than "0" index in result map doesn't replace the const map caused by incorrect value-assignment in code.
2023-04-26 14:57:45 +08:00
39cf393874 [fix](stats) Fix potential NPE when loading Histogram (#19078)
Return Histogram.UNKNOWN as default when error occurred during loding
2023-04-26 14:24:01 +08:00
d3a0b94602 [feature](stats) Support to kill analyze #18901
1. Report error if submit analyze jobs when stats table is not available
2. Support kill analyze
3. Support cancel sync analyze
2023-04-26 14:23:44 +08:00
50d9f35f63 [fix](planner) NPE when use ctas to create table (#18973)
This is caused by expr in orderbyelements is not analyzed.
2023-04-26 14:12:28 +08:00
7a786c3b09 [fix](Nerieds) fix bucket shuffle plan and cost model bugs and add new function add_months (#18836)
fix
1. fix varchar(1) compare to varchar(2) bug
2. fix bucket shuffle join's cost model bug

feature:
1. support add_months function
2023-04-26 13:52:44 +08:00