Commit Graph

45 Commits

Author SHA1 Message Date
7df8459e21 [fix](regression-test) add retry time to avoid regression test failed (#20487)
Now after alter table ${tbl} set('dynamic_partition.end'='5'), we add dynamic partition async.
We need to wait dynamic scheduler.
2023-06-06 15:50:11 +08:00
3c28a71378 [fix](dynamic partition) partition create failed after alter distributed column (#20239)
This pr fix following two problems:

Problem1: Alter column comment make add dynamic partition failed inside issue #10811

create table with dynamic partition policy;
restart FE;
alter distribution column comment;
alter dynamic_partition.end to trigger add new partition by dynamic partition scheduler;
Then we got the error log, and the new partition create failed.
dynamic add partition failed: errCode = 2, detailMessage =      Cannot assign hash distribution with different distribution cols. default is: [id int(11) NULL COMMENT 'new_comment_of_id'], db: default_cluster:example_db, table: test_2
Problem2: rename distributed column, make old partition insert failed. inside #20405

The key point of the reproduce steps is restart FE.

It seems all versions will be affected, include master and lts-1.1 and so on.
2023-06-05 12:20:50 +08:00
50ce237a24 [fix](regression) exclude test_analyze_stats_p1 suite (#20366)
test_analyze_stats_p1 is failing constantly in regression test, @morrySnow suggests ignoring it first.

http://43.132.222.7:8111/test/-5693062769677098407?currentProjectId=Doris_DorisRegression&expandTestHistoryChartSection=true&expandedTest=build%3A%28id%3A155592%29%2Cid%3A9944
2023-06-05 08:21:46 +08:00
098c735064 [pipeline](fix) rm github_token, no need for it (#20360) 2023-06-02 14:11:21 +08:00
c03a19ea23 [improvement](bitmap) Using set to store a small number of elements to improve performance (#19973)
Test on SSB 100g:

select lo_suppkey, count(distinct lo_linenumber) from lineorder group by lo_suppkey;
exec time: 4.388s

create materialized view:

create materialized view customer_uv as select lo_suppkey, bitmap_union(to_bitmap(lo_linenumber)) from lineorder group by lo_suppkey;
select lo_suppkey, count(distinct lo_linenumber) from lineorder group by lo_suppkey;
exec time: 12.908s

test with the patch, exec time: 5.790s
2023-05-31 16:13:42 +08:00
198433b131 [typo](config)Remove FE config max_conn_per_user (#20122)
---------

Co-authored-by: Yijia Su <suyijia@selectdb.com>
2023-05-29 17:20:36 +08:00
694b8b6cd3 [test](pipline) adjust mem limit to 50% (#20030) 2023-05-25 15:51:32 +08:00
a713c225a5 [regressiontest](statistics) Collate and supplement statistics regression test (#19901)
This pr is mainly supplement statistics regression test. include the following:

analyze stats p0 tests:

1. Universal analysis

analyze stats p1 tests:

1. Universal analysis
2. Sampled analysis
3. Incremental analysis
4. Automatic analysis
5. Periodic analysis

manage stats p0 tests:

1. Alter table stats
2. Show table stats
3. Alter column stats
4. Show column stats and histogram
5. Drop column stats
6. Drop expired stats

TODO:

1. Supplement related documents
2. Optimize for unstable cases encountered during testing
3. Add other cases

For pr related to statistics, should ensure that all of these cases pass!
2023-05-24 20:17:28 +08:00
384a0c7aa7 [fix](testcases) Fix some unstable testcases. (#19956)
case of test_string_concat_extremely_long_string will exceed our test limit. Move it to p2 so that it will be tested only in SelectDB test environment.
Because we need to keep consistent with MySQL & avoid overflow. the q67 must keep its behavior like now. When we fully apply nereids & decimalV3 then, it will be fixed automatically.
In the parallel test, although all query stats were cleaned, the cases run in parallel will affect this. So we need to use a unique table for query_stats_test
test_query_sys_tables didn't deal with some unstable situations. fixed it.
temporarily disable unstable case analyze_test case for p0.
2023-05-24 09:52:02 +08:00
481e9aebdb [Refactor](spark load) remove parquet scanner (#19251) 2023-05-18 19:19:13 +08:00
ab8cfbbfb6 [bugfix](regression-test) add some window function test (#19460)
Only 2000 union will cause BE use a lot of memory, so that I enable other test in this PR only disable 2000 union case.



---------

Co-authored-by: yiguolei <yiguolei@gmail.com>
2023-05-10 12:06:02 +08:00
fae2e5fd22 [enchancement](statistics) implement automatically analyzing statistics and support table level statistics #19420
Add table level statistics, support SHOW TABLE STATS statement to show table level statistics.
Implement automatically analyze statistics, support ANALYZE... WITH AUTO ... statement to automatically analyze statistics.
TODO:

collate relevant p0 tests
Supplement the design description to README.md
Issue Number: close #xxx
2023-05-10 11:47:34 +08:00
1424fb96ca [bugfix](regression-test) disable string column length too large test and disable auto statistics collector and disable window function test (#19428) 2023-05-09 14:57:02 +08:00
3f6e5118e6 [enchancement](statistics) support periodic collection of statistics (#19247)
This PR enables periodic collection of statistics and is a precursor to automatic statistics collection. It mainly includes the following contents:

support periodic collection of statistics.
Change the type of Date in statistics p0 to DateV2(see [Enhancement](data-type) add FE config to prohibit create date and decimalv2 type #19077) for test locally. complement cases(remove Chinese characters, optimize code, etc) , improve stability.
Supports setting whether to keep records of statistics synchronization job info, convenient for use in p0 testing.
The statistics job table was modified, and some auxiliary judgments were added to avoid the user perceiving the modification. This function was removed when the table schema is stable.
2023-05-06 14:53:06 +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
9c25b514f5 [fix](doc) fix jsonb_extract doc (#19059)
This will cause FE start fail

1. docs under sql-manual need strict format.
2. Change the rule of github checks, to run FE ut if docs under sql-manual is changed
2023-04-25 20:01:51 +08:00
72632b1e32 [improvement](regression-test) add max_failure_num to skip tests when too much failure #19003 2023-04-25 09:03:36 +08:00
Pxl
908fbf92cf [Chore](build) ignore compile warning on orc && fix invalid command curdate on conf (#18810)
ignore compile warning on orc && fix invalid command curdate on conf
2023-04-20 10:03:40 +08:00
5d1abe4507 [Bugfix](Mtmv)Fix mtmv meta load failed (#18605)
MTMV meta load fail since meta was public to the CI System
2023-04-14 16:29:18 +08:00
34c946bb99 [Bug](date) fix regression test test_date_function (#18564) 2023-04-12 14:16:30 +08:00
09d98c1663 [BugFix](MTMV)Set enable_mtmv_scheduler_framework master only to avoid regression fail (#18473)
Set enable_mtmv_scheduler_framework master only to avoid regression fail
2023-04-09 08:47:18 +08:00
7d92bf095a [fix](expr) refractor create_tree_from_thrift to avoid stack overflow (#18214) 2023-03-31 10:38:20 +08:00
2ee1468576 [improvement](executor) Support task group schedule in pipeline engine (#17615) 2023-03-30 10:49:50 +08:00
6935e153e6 [pipeline](ckb) back to even pr id don't run ckb (#18022)
Co-authored-by: stephen <hello_stephen@@qq.com>
2023-03-22 20:37:12 +08:00
a627a563cc [pipeline](ckb) the pull request which id is even also needs run clickbench (#17759)
the pull request which id is even also needs run clickbench
2023-03-16 11:36:22 +08:00
b9fac82fb1 [fix](regression) adjust regression pipeline config(tablet_create_timeout_second) for avoiding create partition timeout (#17668)
This pull request for bellow problem :
regression pipleline fail case always meet error "Failed to create partition. Timeout. Unfinished mark: 10003=57059", so adjust tablet_create_timeout_second to 100
2023-03-13 11:18:03 +08:00
e182e2426f [fix](regression) close p0 fe regression pipline config for avoiding flink load fail (get tableList write lock timeout) (#17573)
This pull request for bellow problem :
when fe config set sys_log_verbos_modules = org.apache.doris, which will make fe get writeLock longer. In this config, make a stream load, that stream load will failed with this message ([ANALYSIS_ERROR]errCode = 2, detailMessage = get tableList write lock timeout, tableList=(Table [id=86135, name=flink_connector, type=OLAP]))
2023-03-09 14:18:38 +08:00
82df2ae9d8 [feature](mysql) Support secure MySQL connection to FE (#17138)
Background:
Doris currently does not support SSL connection from MySQL clients, it's not secure enough in some cases, especially access Doris via the public internet.

Solution:
- Use TLS1.2 protocol to encrypt information.
- Implementation details
  * server <--- connect <--- client
  * if enable SSL: {
  * server <--- SSL connection request packet <--- client
  * server <--- SSL Exchange ---> client } (we will add this `if` logic part in this PR)
  * server ---> handshake request packet ---> client
  * server <--- encrypted data ---> client (this part will be realized in this PR)
- reference1 https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_connection_phase.html#sect_protocol_connection_phase_initial_handshake_ssl_handshake
- reference2 https://www.rfc-editor.org/rfc/rfc5246

close #16313

Signed-off-by: Yukang Lian <yukang.lian2022@gmail.com>
Co-authored-by: Gavin Chou <gavineaglechou@gmail.com>
Co-authored-by: morningman <morningman@163.com>
2023-03-04 12:14:48 +08:00
9f97cd029f [Feature] (Nereids) add check to disable unsupported type (#17196)
1. disable decimalv3
2. disable json
3. disable complex type: array, map, struct
4. disable switch: group_by_and_having_use_alias
2023-03-03 17:57:48 +08:00
b8d8cf1ac9 [regression](test) script for teamcity to check if pr need run build (#16937)
* [regression](test) script for teamcity to check if pr need run build

* Update check-pr-if-need-run-build.sh

fix

* Update check-pr-if-need-run-build.sh

fix

---------

Co-authored-by: stephen <hello_stephen@@qq.com>
2023-03-01 15:59:31 +08:00
ed05f3b480 [regression-test](fuzzy) fuzzy session variable batch_size (#16384) 2023-02-21 17:53:19 +08:00
851a3575ae [fix](regression case) exclude test_broker_load suite, reopen after bug fix (#16554)
There is something wrong with the `test_broker_load` suite(s3 auth problem).
So I ignore this case temporarily.
cc @wsjz , please help to solve it and add it back
2023-02-09 15:51:32 +08:00
c1400a34eb [regression](fix) 1. fix broker load test case and add orc test 2. se… (#16373)
* [regression](fix) 1. fix broker load test case and add orc test 2. set enableBrokerLoad=true in pipeline

* add a load test for the orc file and let it run in the TeamCity pipeline.

--This pr may not pass P0 Regression check since the bug of orc load has not been fixed.--
change the column name in the load sql to lowercase to pass P0 Regression check.
corrected: it's not a bug but a feature.
2023-02-06 16:10:25 +08:00
c6bc0a03a4 [feature](Load)Suppot MySQL Load Data (#15511)
Main subtask of [DSIP-28](https://cwiki.apache.org/confluence/display/DORIS/DSIP-028%3A+Suppot+MySQL+Load+Data)

## Problem summary
Support mysql load syntax as below: 
```sql
LOAD DATA
    [LOCAL]
    INFILE 'file_name'
    INTO TABLE tbl_name
    [PARTITION (partition_name [, partition_name] ...)]
    [COLUMNS TERMINATED BY 'string']
    [LINES TERMINATED BY 'string']
    [IGNORE number {LINES | ROWS}]
    [(col_name_or_user_var [, col_name_or_user_var] ...)]
    [SET (col_name={expr | DEFAULT} [, col_name={expr | DEFAULT}] ...)]
    [PROPERTIES (key1 = value1 [, key2=value2]) ]
```

For example, 
```sql
            LOAD DATA 
            LOCAL
            INFILE 'local_test.file'
            INTO TABLE db1.table1
            PARTITION (partition_a, partition_b, partition_c, partition_d)
            COLUMNS TERMINATED BY '\t'
            (k1, k2, v2, v10, v11)
            set (c1=k1,c2=k2,c3=v10,c4=v11)
            PROPERTIES ("auth" = "root:", "strict_mode"="true")
```

Note that in this pr the property named `auth` must be set since stream load need auth. I will optimize it later.
2023-01-29 14:44:59 +08:00
29863112a4 (test) change remote_fragment_exec_timeout_ms in p0/p1 to 60 seconds (#15932)
test_join case failed due to send fragment timeout frequently.
2023-01-14 22:07:35 +08:00
7e90fc5784 [regresion-test](config) open fe debug log (#15044) 2022-12-15 10:06:25 +08:00
be3f3978c8 [enhancement](test) remove sf1DataPath conf from regression-conf.groovy (#13861) 2022-12-08 11:24:25 +08:00
1304185adb [Regression](Fix) fix the regression of pipeline and ConcurrentModificationException failed (#14849)
* [fix](ut) try to fix ConcurrentModifycationException bug

* [Regression](Fix) fix the regression of pipeline and ConcurrentModificationException failed

Co-authored-by: morningman <morningman@163.com>
2022-12-06 15:34:32 +08:00
5a2e3869df [regression](test) enable fe and be fuzzy test (#14673) 2022-11-30 08:40:32 +08:00
d3cb79c629 [regressiontest](fuzzy) modify window function and schema change test to pass fuzzy (#14632)
enable fe fuzzy mode for P0
set parallel instance num = 1 for window function
sleep 1000ms for schema change test or the data result is wrong.
2022-11-28 14:58:27 +08:00
d159a8d24b [test](pipline) modify teamcity regression pipline fe conf to 4G (#14584)
* adjust mem limit to 30%

* [test](pipline) modify teamcity regression pipline fe conf to 4G
2022-11-25 22:32:51 +08:00
ef82139a37 [pipeline](conf) set fragment_pool_thread_num_max=5000 in be.coonf (#14597) 2022-11-25 22:30:04 +08:00
6770bfc7f0 [fix](pipeline) adjust mem limit to 30% (#14523) 2022-11-23 20:07:45 +08:00
3489f4826c [fix](test) sync conf used in pipeline and in repository (#14414) 2022-11-20 00:05:08 +08:00
a9e53e5c86 [improvement](test) add conf for pipline (#14254)
Add conf used by pipline to git, then we will change conf of pipeline
via pr like code commit.
2022-11-17 16:05:24 +08:00