Commit Graph

6711 Commits

Author SHA1 Message Date
5bdfaf6447 [improve](metrics)Display garbage collector type (#27408) 2023-11-27 23:28:25 +08:00
2076d2b390 [Fix](statistics)Fix bug and improve auto analyze. (#27626)
1. Implement needReAnalyzeTable for ExternalTable. For now, external table will not be reanalyzed in 10 days.
2. For HiveMetastoreCache.loadPartitions, handle the empty iterator case to avoid Index out of boundary exception.
3. Wrap handle show analyze loop with try catch, so that when one table failed (for example, catalog dropped so the table couldn't be found anymore), we can still show the other tables.
4. For now, only OlapTable and Hive HMSExternalTable support sample analyze, throw exception for other types of table.
5. In StatisticsCollector, call constructJob after createTableLevelTaskForExternalTable to avoid NPE.
2023-11-27 22:13:48 +08:00
7ac97c1650 [fix](bdbje) add free disk config (#27578) 2023-11-27 21:29:02 +08:00
bb68900bed [fix](bdbje) Fix bdbje logging level not work (#27597)
* `EnvironmentConfig.FILE_LOGGING_LEVEL` only set FileHandlerLevel, we should
   set logger level firstly, otherwise it will not take effect.
2023-11-27 21:24:34 +08:00
646f1ea087 [performance](Nereids): avoid use getStringValue() in getTimeFormatter() (#27625)
Original `getTimeFormatter()` will convert `long` to `string`, and then parse `string` to `int`.
2023-11-27 21:08:32 +08:00
HB
c7b9a32e3e [improvement](show snapshot) show iceberg snapshot print summary info (#27448)
Iceberg's snapshot has summary information, but Doris did not display it. This patch fixes this issue.
2023-11-27 20:56:50 +08:00
3d7d166355 [feature](cmd) add UNSET_VARIABLE statement to set back variables (#27552) 2023-11-27 20:30:04 +08:00
HB
36a528b6bc [fix](judge-partition) Fix incorrect logic in determining whether it is a partitioned table (#27515)
The old logic used to determine whether it was a partition table based on the number of buckets, but if I had a partition table with only one partition and the number of buckets in that partition was 1, it would be mistakenly recognized as a non partition table.

```
Table[test_load_doris_to_hive_2] is not partitioned
```
2023-11-27 18:56:52 +08:00
d5a56dc7f4 [information_schema](tables)modify information_schema.tables rows column use cache rows. (#27028)
Use the cached information and estimated information of the table in the rows column under 
information_schema.tables. Avoid querying information_schema.tables that will cause rpc timeout when there are a 
large number of tables in the catalog.
2023-11-27 17:48:06 +08:00
66eeafcd48 [refactor](Nereids): unify one DateLiteral init() (#27618)
`fromDateStr` will parse `date string` into `dateLiteral`, but `init()` already handle it, so we can use `init()` replace it.
2023-11-27 17:09:45 +08:00
fde4bab048 [fix](Nereids) non-deterministic expression should not be constant (#27606) 2023-11-27 16:40:30 +08:00
cbdb886b6e [fix](Nereids): fill up miss slot of order having project (#27480)
fill up miss slot of order having project such as 
```
select a + 1 as c from t having by c > 2 order by a 
```
2023-11-27 16:00:29 +08:00
612347f650 [fix](planner)sort node should materialized required slots for itself (#27605)
this is a follow up pr for #27526 . The old pr didn't fix the problem correctly, this pr do.
2023-11-27 15:37:11 +08:00
234aff3e78 [feature](Nereids): Pushdown TopN through Union (#27535)
```
topn
-> Union All 
  -> child plan1
  -> child plan2
  -> child plan3

rewritten to

topn
-> Union All 
 -> topn
  -> child plan1
 -> topn
  -> child plan2
 -> topn
  -> child plan3
```
2023-11-27 14:13:18 +08:00
1b4cd24b36 [opt](Nereids) support where, group by, having, order by clause without from clause in query statement (#27006)
Support where, group by, having, order by clause without from clause in query statement.
For example as following:

SELECT 1 AS a, COUNT(), SUM(2), AVG(1), RANK() OVER() AS w_rank
WHERE 1 = 1
GROUP BY a, w_rank
HAVING COUNT() IN (1, 2) AND w_rank = 1
ORDER BY a;

this will return result:

| a  |count(*)|sum(2)|avg(1)|w_rank|
+----+--------+------+------+------+
| 1  |       1|     2|   1.0|     1|


For another example as following:

select 1 c1, 2 union (select "hell0", "") order by c1
the second column datatype will be varchar(65533), 65533 is the default varchar length.

this will return result:

|c1    | 2 |
+------+---+
|1     | 2 |
|hell0 |   |
2023-11-27 12:05:14 +08:00
331effdb20 [feature](Nereids): support merge graph in group (#27353) 2023-11-27 11:48:38 +08:00
0e1e4c8508 [opt](nereids) disable infer column name when query (#27450)
Disable infer column name when query, because it cause some errors when using BI tools
This feature is firstly developed by #26055
2023-11-27 11:26:17 +08:00
5cb5241a9e [feature](mtmv) materialized view rewrite framework (#27059)
materialized view rewrite framework, support to query rewrite by struct info.
The idea is from "Optimizing Queries Using Materialized Views- A Practical, Scalable Solution"
2023-11-27 11:15:54 +08:00
82d15669bc [minor](fe) convert Chinese annotations into English (#27560) 2023-11-27 11:03:44 +08:00
9aafcf2e22 [Enhance](fe) Support setting initial root password when FE firstly launch (#27438) 2023-11-27 11:03:27 +08:00
d0fea8db27 [chore][log] Opt log, revert some log introduced by #25739 (#26365) 2023-11-27 10:48:02 +08:00
550f3e801d [improve](routine_load) move log from write lock (#27576) 2023-11-27 10:47:31 +08:00
cd6c61347d [Feature](tvf)(avro-jni) avro-jni add projection push down (#26885) 2023-11-27 10:33:27 +08:00
baadc14e60 [Enhancement](function) support unix_timestamp with float (#26827)
---------

Co-authored-by: YangWithU <plzw8@outlook.com>
2023-11-27 09:58:53 +08:00
3791de3cfa [feature](mtmv)(6)implement cancel method (#27541)
1.implement cancel task method
2.fix `show create table ` not display `comment`
2023-11-27 09:49:46 +08:00
04033dce01 [improve](routine_load) add db and table name in create routine load job log (#27500) 2023-11-25 23:41:34 +08:00
b08865982a [improvement](disk balance) Impr disk rebalancer sched when be load r… (#26412) 2023-11-25 23:35:16 +08:00
ff1a06abcf [test](regression) add routine load sequence and error test (#27519) 2023-11-25 23:30:20 +08:00
7a1b4267d5 [improve](transaction) lightweight transaction lock logic (#27564) 2023-11-25 23:24:36 +08:00
d4f2db74f9 [fix](nereids) fix stats error when using dateTime type filter (#27571)
Currently doris doesn't support datetime type filter stats estimation, but only for date type.
It will cause the filter using datetime type column with the same date and different time computing out a inaccurate selectivity and estimate a wrong row count, such as :

where o.book_time >= '2020-03-01 00:00:00.0' and o.book_time <= '2020-03-01 23:59:59.0';

This pr adds the datetime type(only support hh:mm:ss scale) filter estimation and improve the row count estimation for the above case.
2023-11-25 11:04:51 +08:00
7134da63ac [improvement](nereids) add config for nereids trace dir (#27495)
Signed-off-by: nextdreamblue <zxw520blue1@163.com>
2023-11-25 10:37:23 +08:00
cc395f5428 [Fix](hive-transactional-table) Fix NPE when query empty hive transactional table. (#27563) 2023-11-25 10:29:39 +08:00
6b1428dba1 Fix auto analyze doesn't filter unsupported type bug. (#27559)
Fix auto analyze doesn't filter unsupported type bug.
Catch throwable in auto analyze thread for each database, otherwise the thread will quit when one database failed to create jobs and all other databases will not get analyzed.
change FE config item full_auto_analyze_simultaneously_running_task_num to auto_analyze_simultaneously_running_task_num
2023-11-25 10:22:52 +08:00
6142a539f4 [deprecated](external) remove deprecated hudi and iceberg external table (#27456)
The creation of hudi and iceberg table is disallowed since v1.2.
All these features are covered by hudi/iceberg catalog.
We should remove the code in v2.1

The PR mainly changes:
1. remove the code of hudi/iceberg external table.
2. remove code of iceberg database.
3. disallowed hive external table's creation.
4. disabled odbc,mysql,broker external table by default, and add FE config `disable_odbc_mysql_broker_table` to control it
2023-11-24 23:18:07 +08:00
59efb1b238 [fix](planner)join node should output required slot from parent node #27526 2023-11-24 21:50:32 +08:00
eb250bca5c [fix](set) fix error message when set a session only variable (#27554) 2023-11-24 21:48:16 +08:00
d98d2d491f [chore](tablet scheduler) update sched ctx err (#27514) 2023-11-24 18:09:49 +08:00
d769fb69dd NEED (#27531) 2023-11-24 18:04:36 +08:00
553e4a8903 [feature-wip](merge-on-write) MOW table support different primary keys and sort keys (#24788) 2023-11-24 16:37:30 +08:00
Pxl
33b540641e [Bug](materialized-view) add limitation for duplicate expr on materialized view (#27523)
add limitation for duplicate expr on materialized view
2023-11-24 15:47:14 +08:00
674dd98fb2 [fix](Nereids): CustomRewriteJob don't handle condition rule return null (#27516) 2023-11-24 14:38:37 +08:00
540132f656 [fix](profilev2) fix merge profile min is zero #27524 2023-11-24 14:11:11 +08:00
dbff9d7a89 [chore](fuzzy) topn_opt_limit_threshold (#27496) 2023-11-24 14:08:27 +08:00
dbbab63623 [fix](nereids)keep cast operator if cast a varchar to another longer varchar in LogicalSetOperator (#27393) 2023-11-24 14:07:04 +08:00
dfe3a2dd01 [feature](mtmv)(3)Implementing multi table materialized views (#26146)
Introduction to Main Classes:
- MTMVService:MTMV services for other modules to call
- MTMVHookService:All operations that affect the MTMV
  - MTMVJobManager:All operations that affect the MTMV job
  - MTMVCacheManager:All operations that affect the MTMV Cache
- MTMVTask&MTMVJob:Inherit from job framework
2023-11-24 12:34:38 +08:00
c24a33c857 [enhancement](audit) hide password and other sensitive information in log and audit log (#27115)
Signed-off-by: nextdreamblue <zxw520blue1@163.com>
2023-11-24 10:27:30 +08:00
17ca75f834 [chore](Nereids): add eager aggregate into rules (#27505)
Add `Eager Aggregate` rules into Rewrite rules.
2023-11-24 10:06:04 +08:00
8e74470db9 [fix](statistics)Fix auto analyze remove finished job bug (#27486)
Finished job must be removed from the job list, otherwise the next batch of jobs will not be scheduled.
2023-11-23 23:22:02 +08:00
eb878ad0d2 [fix](Export) add feut for Cancel Export (#27178) 2023-11-23 23:18:30 +08:00
540bce4d1b [typo](log) Let env lock msg more distinct (#27493) 2023-11-23 23:03:06 +08:00