Commit Graph

11341 Commits

Author SHA1 Message Date
be8fb68712 [fix](nereids)distribute node missing rows and cost #20943
in dumped memo, distribute node missed estimated rows and cost.
2023-06-19 23:42:01 +08:00
f20ef165fe [opt](Nereids) update join stats derive (#20895)
in hash join condition, some equals are trustable, some are not.
an equal is trustable if one side is almost unique, like primary key. for such equal condition we could estimate more accurate.
the problem is in rewriten q20, the are 2 equal condition, one is trustable, another is not. But we treat both of them as trustable.

Test result:
on tpch100, from 2.2 sec to 0.44 sec
no impact on tpch other queries
no performance impact on tpcds queries
2023-06-19 23:40:44 +08:00
2a294801f1 Revert "[Test](regression) CCR syncer thrift interface regression test (#20935)" (#20990)
This reverts commit dd482b74c849b022862e7cfb1f1d0b933a84e3d2.
2023-06-19 21:38:03 +08:00
010861b7ec [enhancement](Nereids) Don't write to table_statistics when create sync analyze job anymore #20956
1. Don't write to table_statistics when create sync analyze job anymore since it's meaningless

2. Capture exceptions when creating each system analyze job to avoid the failure of creation of all automatic collection jobs due to a single job creation failure.

3. Mark auto triggered period job's job type as system
2023-06-19 20:00:41 +08:00
08ac55291f [opt](Nereids) change log level to debug to avoid log explode (#20954) 2023-06-19 18:50:06 +08:00
a3342cb088 [improvement](load) avoid producing small segment (#20852)
avoid producing small segment
2023-06-19 18:34:44 +08:00
415f1053a4 [minor](progress) do not update progress if job id is not set (#20949) 2023-06-19 18:13:43 +08:00
87e3a79387 [enhancement](pk) add bvar latency recorder for pk (#20942) 2023-06-19 15:29:42 +08:00
63b9684696 [Feature](broker-load) Support priority for Broker Load job. (#20628)
Support priority for Broker Load job.
2023-06-19 14:16:48 +08:00
dd5ecea36a [fix](compress) snappy does not work right (#20934) 2023-06-19 14:11:10 +08:00
26cca5e00a [Enhancement](tvf) Add frontends table-valued-function (#20857) 2023-06-19 13:57:40 +08:00
60ef9e9cfe [website](homepage) update pictures in homepage (#20968) 2023-06-19 13:31:41 +08:00
170cc46b12 [fix](hive) check hive transactional table's file format (#20888)
Sometimes we meet a hive table with parameter: "transactional" = "true", but format is parquet, which is not supported.
So we need to check the input format for transactional table.
2023-06-19 12:33:00 +08:00
08fff8923f [improvement](serde) Optimizing the performance of mysql result writter (#20928)
When converting query results into MySQL format, it involves transforming columnar data storage into row-based storage. This process raises the question of choosing between sequential reading and sequential writing. In reality, sequential writing is the better choice for performance optimization.

Test with 9M rows contains more than 20 columns, this patch can reduce the conversion time from 20s to 11s.
2023-06-19 12:29:01 +08:00
fb9fcf460a [fix](leftjoin) fix bug of left and full join with other conjuncts (#20946)
Fix bug of left and full outer join with other conjuncts. When equal matched row count of a probe row exceed batch_size, some times the _join_node->_is_any_probe_match_row_output flag is not set correcty, which result in outputing extra rows for the probe row.
2023-06-19 12:27:06 +08:00
4c6f1de42b [feature](nereids) enable nereids planner by default (#20761)
1. enable nereids planner by default
2. add fuzzy test on enable_nereids_planner
3. fix some ut that result different under legacy planner and nereids
2023-06-19 12:24:47 +08:00
124db9addc [docs](releasenote)add 1.2.5 release note (#20965) 2023-06-19 12:12:49 +08:00
e3454494b4 [improvement](extension) add new features to Mysql to doris tools (#14243) 2023-06-19 11:08:48 +08:00
Pxl
85c5d7c6a9 [Chore](materialized-view) add ssb_flat mv test case (#20869)
add ssb_flat mv test case
2023-06-19 10:51:50 +08:00
f44d2cf296 [Feature](inverted index) add inverted index size to tablet meta (#20916)
1. get inverted index size before segment writer's column writer clear, then add size to total data size and total index size
2. also do this in vertical compaction
2023-06-19 10:26:10 +08:00
e4c6dd5daa [chore](file) remove useless file (#20893) 2023-06-19 10:24:39 +08:00
Pxl
99810f1ea5 [Bug](pipeline) fix hang on union_source_operator when child sink_operator all finished (#20938) 2023-06-19 09:46:38 +08:00
0bed52d86b [bugfix](inverted index) fix not writing inverted index file if upgrade from old version #20945
The metadata indexes in MaterializedIndexMeta is introduced in 2.0-beta version and it's relied by writing inverted index. When upgrade doris from old version to 2.0-beta, the metadata indexes in MaterializedIndexMeta is empty and no inverted index file will be written.

This PR add compatibility logic to use metadata indexes in table if indexes in MaterializedIndexMeta is empty and indexes in MaterializedIndexMeta indexId is equal to table baseIndexId.

This PR also fix metadata indexes missing for schema change.
2023-06-19 09:11:36 +08:00
1efd345963 [Enhancement](table) adding information_schema.parameters table (#20259)
this is a virtual table for compatibility information_schema parameters table
2023-06-19 09:05:46 +08:00
8af77315e0 [fix](multi-catalog)fix s3 check, complete catalog properties (#20591)
stability and some fixes

1. fix s3 availability check
2. add independent  minio properties
3. add job conf cache
4. remove extra s3 propertie when convert catalog properties
5. add some ut case to check conveted properties
2023-06-18 20:21:59 +08:00
8366ce7a81 [enhancement](insert-stmt) Make insert into tbl values(); compatible with mysql (#20694) 2023-06-18 19:56:07 +08:00
785aeea460 [minor](scripts) remove release download scripts (#20940) 2023-06-18 19:42:20 +08:00
d6b7640cf0 [fix](inverted index) fix check failed for block erase temp column (#20924) 2023-06-18 19:27:48 +08:00
48065fce19 [bugfix](merge-on-write) optimize rowset tree and tablet header lock (#20911) 2023-06-18 19:26:02 +08:00
ac3290021d [fix](Nereids): MergeSetOperations can merge SetOperation ALL. (#20902) 2023-06-18 17:49:03 +08:00
5ae14549d1 [Feature](Nereids) support delete using syntax to delete data from unique key table (#20452) 2023-06-18 16:22:21 +08:00
905ba3fa86 [fix](Nereids & planner) fix 3 plan errors about mv selection (#20939)
fix 3 issues about mv selection:
1. in legacy planner, should not consider aux expr when do mv selection
2. in Nereids, should not hit mv when agg function on value column is distinct
3. select mv cannot rewrite agg function in on table with column name in uppercase
2023-06-18 12:45:34 +08:00
c6d78c2d7b [fix](Nereids) cannot get output when partitioned table without any parititon (#20937) 2023-06-18 12:44:36 +08:00
dd482b74c8 [Test](regression) CCR syncer thrift interface regression test (#20935) 2023-06-18 00:13:09 +08:00
ce9a20a375 [enhancement](merge-on-write) format logs about MoW and add more stats for publish (#20853) 2023-06-17 23:14:28 +08:00
06806dc737 [typo](doc) fix bucket description and style (#20922) 2023-06-17 21:56:00 +08:00
0585a1f004 [fix](compaction) fix time series compaction policy to adjust vertical compaction max segment size (#20889) 2023-06-17 20:32:34 +08:00
cc3f9ed9b7 [Fix](fd) fix fd limit over 100% (#20778) 2023-06-17 19:54:10 +08:00
0a59580aa4 [Enhancement](function) fix compatibility issues of sum/count during upgrade process (#20890)
in order to solve agg of sum/count is not compatibility during the upgrade process.
in PR [refactor](agg_state) refactor agg_state type to support fixed length object type #20370 have changed the serialize type and serialize column of sum/count
before is ColumnVector, now sum/count change to use ColumnFixedLengthObject
so during the upgrade process, will be not compatible if exist Old BE and Newer BE
2023-06-17 12:51:01 +08:00
72d8e41760 [fix]( regression-test ) mv_p0/test_drop_partition_from_index/test_drop_partition_from_index.groovy #20915 2023-06-17 10:39:30 +08:00
aea719627d Revert "[enhencement](streamload) add on_close callback for httpserver (#20826)" (#20927)
This reverts commit 5b6761acb86852a93351b7b971eb2049fb567aaf.
2023-06-17 10:39:02 +08:00
82af1507e7 [fix](testcase) fix case failure of strict insert (#20930) 2023-06-17 09:41:15 +08:00
e5015b472e [Fix](Error) fix some typo error in code (#20612) 2023-06-17 08:34:26 +08:00
15a4eca467 [typo](docs) Delete invalid streaming hint. (#20929) 2023-06-17 01:03:48 +08:00
fe18cfa2fb [improvement](pg jdbc)Support for automatically obtaining the precision of the postgresql timestamp type (#20909) 2023-06-16 23:41:09 +08:00
367f64e7bd [improvement](jdbc) support insert autoinc and default value column to mysql (#20765)
In JdbcMysqlClient, I've added methods to retrieve auto-increment and default value columns from MySQL. These columns are then mapped into Doris metadata to make them visible to users.

When handling the InsertStmt into an execution plan, Doris used to automatically fill in NULL or default values for columns not specified in the InsertStmt. However, in the JDBC catalog, we don't need Doris to handle these unspecified columns, so I've made changes to skip them directly.

For the insert prepared statement required for writing, our previous behavior was to obtain all columns for placeholders. So, the change I made is to pass in the columns processed by the execution plan during the sink task generation stage for dynamic generation.
2023-06-16 23:38:11 +08:00
e834637a5b [improvement](ck jdbc) Support for automatically getting the precision of clickhouse's datetime64 type (#20887) 2023-06-16 23:37:30 +08:00
bf197ee8d2 [opt](nereids) adjust cost model for BroadCastJoin and PartitionJoin (#20713)
we add penalty for broadcast join (bc for brief in the following).
the intuition of penalty is as follow:
1. if the build side is very small (< 1M), we prefer bc, and set `penalty=1`, which means no penalty
2. if build side is more than 1M, we consider the ratio of the probe row count to the build row count. the less the ratio is, the higher penalty is.

this pr has positive impact on tpch queries. Only q3 is changed. in out test (tpch 1T, 3BE) q3 improved from 5.1sec to 2.5 sec.
this pr has positive impact on tpcds queries. test on tpcds sf100 (3BE), cold run improve from 163 sec to 156 sec, hot run improves from 155 sec to 149 sec
2023-06-16 22:49:04 +08:00
bb4f10b457 [fix](Nereids) lost having when analyze sort-having-agg (#20914) 2023-06-16 22:13:28 +08:00
7ee744ff5a [opt](Nereids) add more unexpected expression check (#20901)
1. check sub-query after rewrite, should not meet any sub-query there
2. check below expression on specific plan
  - Aggreagate
    - TableGeneratingFunction
  - Filter
    - AggregateFunction
    - GroupingScalarFunction
    - TableGeneratingFunction
    - WindowExpression
  - Generate
    - AggregateFunction
    - GroupingScalarFunction
    - WindowExpression
  - Having
    - TableGeneratingFunction
    - WindowExpression
  - Join
    - AggregateFunction
    - GroupingScalarFunction
    - TableGeneratingFunction
    - WindowExpression
  - Project
    - TableGeneratingFunction
  - Sort
    - AggregateFunction
    - GroupingScalarFunction
    - TableGeneratingFunction
    - WindowExpression
  - Window
    - GroupingScalarFunction
    - TableGeneratingFunction
2023-06-16 22:12:39 +08:00