Commit Graph

2107 Commits

Author SHA1 Message Date
34d94dfd4e [GithubTemplate] Remove license of Github template file (#4091)
Github template file can not add license.
2020-07-14 10:11:44 +08:00
ecb1bfb22a [Community] Add pull request template (#4072)
add a  pull request template like apache kylin to make our pr more  more formal
2020-07-13 20:55:12 +08:00
da921928d0 [Code]Fix some spell problem (#4066)
fix some spell problem
2020-07-13 20:54:31 +08:00
78a1dea19d Support using B/K/KB/M/MB/G/GB/T/TB/P/PB as unit in session variable exec_mem_limit (#4063)
Support using B/K/KB/M/MB/G/GB/T/TB/P/PB as unit in  session variable exec_mem_limit
2020-07-13 20:54:14 +08:00
2e460f581c [Bug] Support get all rowset meta info in memory from tablet meta url (#4061)
This PR is to fix bug that we cannot get the newest tablet meta info from tablet meta url.
2020-07-13 20:53:51 +08:00
e435e6f9a8 [Bug][Planner]Fix bug of count(*) in MV selector (#4060)
The output columns of query should be collected by all of tupleIds
in BaseTableRef rather than the top tupleIds of query.
The top tupleIds of count(*) is Agg tuple which does not expand the star.

Fixed #4065
2020-07-13 20:53:10 +08:00
cd4fec8ab1 [Bug] Fix core of double delete, when RowBatch call transfer_resource_ownership (#4052)
Resource release should be done by dest RowBatch. 
When we call method transfer_resource_ownership.
if we don't clear the corresponding resources,
which will cause the core problem of double delete.
2020-07-13 20:52:22 +08:00
d7893f0fa7 [Bug]Fix some schema change not work right (#4009)
[Bug]Fix some schema change not work right
This CL mainly fix some schema change to varchar type not work right
because forget to logic check && Add ConvertTypeResolver to add
supported convert type in order to avoid forget logic check
2020-07-11 10:18:29 +08:00
3fcbb646f6 [Bug][Broker] Fix bug that the error exception is not caught when closing the broker writer (#4034)
Broker should return the error status.
Fix #4033
2020-07-10 20:42:39 +08:00
265c26f67d [Doris On ES] Add docvalue limitation for doc_values scan and enable doc_values scan default (#4055) 2020-07-10 18:37:36 +08:00
42cb11901b [webserver] Make BE webserver more pretty (#4050)
Add some CSS and js files, and use boost-table framework to make BE's website more pretty
2020-07-09 21:50:52 +08:00
efef067f2d [Bug] Fix mem_pool npe (#4045)
Fix mem_pool NPE in column reader.
Add a safe allocation method.
2020-07-09 21:50:22 +08:00
ebaa0c7137 [Bug][SQL]Fix predicate pushdown may incorrect when groupby with grouping sets (#4041)
Fixes #4040 
Fix predicate pushdown may incorrect when groupby with grouping sets
2020-07-09 21:49:37 +08:00
d2ab38a5e0 [Feature] Batch update partition's property in one command (#3981)
Support following command.
```
alter table tbl_name modify partition (p1, p2, p3) set ("replication_num" = "3");
```
2020-07-09 21:48:43 +08:00
fafc7e406e [Spill]Fix the problem of mem exec, when analytic eval node need to spill to disk with a low mem limit (#3991)
[Bug] Fix the problem of mem exec, when analytic eval node need to spill to disk with a low mem limit.
And clear_reservations of Analytic node reservation of block manager.
[Running Profile] Add Spilled flag in Running Profile, when Analytic eval node and sort node spill to Disk.
2020-07-09 09:30:22 +08:00
5a27981e49 [Config] Add thrift_client_retry_interval_ms config in be for thrift client to avoid avalanche disaster in fe thrift server (#4022)
This PR is mainly to add  `thrift_client_retry_interval_ms` config in be for thrift client
to avoid avalanche disaster in fe thrift server and fix some typo and some rpc
setting problems at the same time.
2020-07-08 21:07:00 +08:00
fb0ecb70fd [SQL]fix inline view join mysql choose shuffle join bug (#4048)
fix #4047 

#3886 has certain relevance to this case。

the sql : `bigtable t1 join mysqltable t2 join mysqltable t3 on t1.k1 = t3.k1`
1. after reorder:
    t1, t2, t3

2. choose join t1 with t2:  
   t1 join t2 with no conditions, and Doris choose cross join

3. choose join (t1 join on t2) with t3:  
   in old code, the t2 is mysqlTable, so the cardinality is zero,
and "the cross join t1 with t2" 's cardinality is t1.cardinality multiply t2.cardinality, 
for t2 is mysql, so t2.cardinality is zero, and "the cross join t1 with t2" is zero.
t3 is mysqltable, t3's cardinality is zero.

**If two tables need to be joined both are zero,we will choose the shuffle join**

So I change the mysql table ‘s cardinality from 0 to 1,  the cross join's cardinality is not zero.
2020-07-08 20:56:24 +08:00
413d6d2f22 [Bug] Fix core when modifing char to varchar and loading boolean with replace aggregation (#4042)
1. Doris support modify char to varchar. There is a bug when use two-level pointer when converting the date.
2. Boolean can be used as metric value with REPLACE and REPLACE_IF_NOT_NULL aggregation function. The aggregation function should be added into aggregation map.
2020-07-08 11:12:42 +08:00
6d4fd25815 [shell] Fix BE unit test directory not match bug (#4028) 2020-07-08 10:01:42 +08:00
7715a84d4d [Config] Enable some features by default (#4031)
Its time to enable some features by default.

1. Enable FE plugins by setting `plugin_enable=true`
2. Enable dynamic partition by setting `dynamic_partition_enable=true`
3. Enable nio mysql server by setting `mysql_service_nio_enabled=true`

Also modify installation doc, add download link of MySQL client.
2020-07-08 09:59:10 +08:00
b7051d0971 [Config]Make it easier for users to find configuration items needed (#3957)
This PR is to make config items ordered by key and support like predicate for admin show config stmt
2020-07-07 23:12:21 +08:00
ab8851f7aa [webserver] Make BE webserver handle static files (#4021)
Make BE webserver handle static files, e.g. css, js, ico, then we can make
BE website more pretty.
2020-07-07 23:08:29 +08:00
1aa148da7f [Bug]Fix mini load NPE (#4026)
for #4025
2020-07-07 23:08:08 +08:00
c3d9feed75 [Load][Json] Refactor json load logic to make it more reasonable (#4020)
This CL mainly changes:

1. Reorganized the code logic to limit the supported json format to two, and the import behavior is more consistent.
2. Modified the statistical behavior of the number of error rows when loading in json format, so that the error rows can be counted correctly.
3. See `load-json-format.md` to get details of loading json format.
2020-07-07 23:07:28 +08:00
5c42514a8f [Bug][SQL]Fix except node child not order correctly (#4003)
Fixes #3995 
## Why does it happen
When SetOperations encounters that the previous node needs Aggregate, the timing of add AggregationNode is wrong. You should add AggregationNode first before add other children.

## Why doesn't intersect and union have this problem
intersect and union conform to the commutation law, so it doesn't matter if the order is wrong

## Why this problem has not been tested before
In the previous test case, not cover the previous node was not AggregationNode
2020-07-07 23:06:36 +08:00
1cc9e1606f [Doris On ES] Add UT test for all search phase (#4035)
I forget push some UT test in this PR #4012.
Also remove `_cluster/state` resource because DOE does not rely the full ES cluster state meta.
2020-07-07 23:05:02 +08:00
c9a7c373a7 [Bug] Return actual json for ConnectionAction (#4016) 2020-07-07 20:14:55 +08:00
d396408861 Correct typos (#4024) 2020-07-07 13:33:46 +08:00
3ba38e3381 [Doris On ES][Refactor] refactor and enchanment ES sync meta logic (#4012)
After PR #3454 was merged, we should refactor and reorganize some logic for long-term sustainable iteration for Doris On ES.
To facilitate code review,I would divided into this work to multiple PRs (some other WIP work I also need to think carefully)

This PR include:

1. introduce SearchContext for all state we needed
2. divide meta-sync logic into three phase
3. modify some logic processing
4. introduce version detect logic for future using
2020-07-07 09:04:05 +08:00
913b2caac4 [Dynamic Partition]Support set replication number (#3965)
This CL mainly support set replication_num property in dynamic partition
table if dynamic_partition.replication_num is not set, the value is the
same as table's default replication_num.
2020-07-05 16:28:38 +08:00
2e111c05ac [Bug] Fix bug that BE crash when doing alter table task (#4015)
Need to check delete condition first
2020-07-05 16:28:03 +08:00
fa338fb6d9 [Bug][Memroy Leak]Fix bug TransactionState is not clear from idToFinalStatusTransactionState (#4013)
This CL includes:
1. Memory leak because transactionState is not removed.
2. Extracting the clear logic to method to avoid forget.
2020-07-05 16:27:41 +08:00
ba120292ab [ShowIndex] Make Show Index stmt act same as MySQL behavior (#4010)
`SHOW INDEX FROM db2.tbl1 FROM db1;` will be same as
`SHOW INDEX FROM db1.tbl1;`
2020-07-05 16:26:54 +08:00
1fc82cd6e4 [Code Cleanup]Use ThreadPoolManager to manage some native thread (#3997)
Now, FE use ThreadPoolManager to manage and monitor all Thread,
but there are still some threads are not managed. And FE use `Timer` class
to do some scheduler task, but `Timer` class has some problem and is out of date,
It should replace by ScheduledThreadPool.
2020-07-05 16:26:22 +08:00
6699be2ac8 [Bug] Keep order of read from segment consist with the write order (#3993)
Fixes #3989
Add segment id to the comparator when merging the rows read from UNIQUE key table.
2020-07-05 16:25:28 +08:00
7351f7c237 [Config]Allower use to config different thrift server model (#3986)
Doris only support TThreadPoolServer model in thrift server, but the
server model is not effective in some high concurrency scenario, so this
PR introduced new config to allow user to choose different server model
by their scenario.
Add new FE config: `thrift_server_type`
2020-07-05 16:24:29 +08:00
f521507a46 [SQL] Explain verbose stmt to print tupleDesc/slotDesc information (#3970) 2020-07-05 16:22:43 +08:00
725ebafd99 [Bug] Cancel the query if OlapScanner prepare failed (#4002) 2020-07-03 21:33:07 +08:00
bbb7782702 [Bug] Fix bug that linked schema change for alpha rowset will case BE to crash (#3983)
Co-authored-by: chenmingyu <chenmingyu@baidu.com>
2020-07-03 21:19:31 +08:00
64f7a1fd1e [Log] Add log for loading image (#3996)
When fe load image failed, more logs should be printed to help users analyze errors.
2020-07-03 21:19:08 +08:00
9bb7e5d208 Fix some code & comments (#3999)
TPlanExecParams::volume_id is never used, so delete the print_volume_ids() function.
Fix log, and log if PlanFragmentExecutor::open() returns error.
Fix some comments
2020-07-03 21:18:47 +08:00
ab325f5bfd [shell] Fix BUILD_TYPE not used bug (#3990)
We can build unit tests by specify BUILD_TYPE to DEBUG/RELEASE/LSAN/ASAN,
and outputs in each mode will be placed to different directories, it will
save time if rebuild in a same mode.
2020-07-03 10:00:05 +08:00
a16236f22f [refactor] Remove useless return value of class RowsetGraph (#3977) 2020-07-03 09:59:51 +08:00
1e813df3fd [Doris On ES] [Bug-Fix][Refactor] Fix potential null pointer exception and refactor function process logic (#3985)
fix: https://github.com/apache/incubator-doris/issues/3984

1. add `conjunct.size` checking and `slot_desc nullptr` checking logic
2. For historical reasons, the function predicates are added one by one, I just refactor the processing make thelogic for function predicate processing more clearly
2020-07-02 22:32:16 +08:00
5ade21b55d [Load] Support load true or false as boolean value (#3898)
Fixes #3831
After this PR 
insert into: `1/"1" -> 1, 0/"0"->0, true/"true"->1, false/"false" -> 0, "10"->null, "xxxx" -> null`
load: `1/true -> 1, 0/false -> 0` other -> null
2020-07-02 13:58:24 +08:00
707d03cbde [SQL] Remove order by for subquery in set opertion clause (#3806)
implemnets #3803 
Support disable some unmeaningful order by clause.
The default limit of 65535 will not be disabled because of it is added at plannode,
after we support spill to disk we can move this limit to analyze.
2020-07-02 13:56:53 +08:00
d3d835844f [Performance] Improve performance of unique table read (#3974)
Implements #3971 
the test table as list:
```
mysql> desc test;
+------------+---------+------+-------+---------+---------+
| Field      | Type    | Null | Key   | Default | Extra   |
+------------+---------+------+-------+---------+---------+
| rid        | BIGINT  | No   | true  | 0       |         |
| qid        | BIGINT  | No   | true  | 0       |         |
| qidDeleted | TINYINT | No   | false | 0       | REPLACE |
| type       | TINYINT | No   | false | 0       | REPLACE |
| uid        | BIGINT  | No   | false | 0       | REPLACE |
| toUid      | BIGINT  | No   | false | 0       | REPLACE |
| status     | INT     | No   | false | 0       | REPLACE |
| createTime | INT     | No   | false | 0       | REPLACE |
| source     | INT     | No   | false | 0       | REPLACE |
| misFlag    | INT     | No   | false | 0       | REPLACE |
| anonymous  | TINYINT | No   | false | 0       | REPLACE |
| uv         | TINYINT | No   | false | 1       | REPLACE |
+------------+---------+------+-------+---------+---------+
12 rows in set (0.00 sec)

mysql> select count(*) from test;
+----------+
| count(*) |
+----------+
|  1093760 |
+----------+
1 row in set (1.00 sec)
```
There is 29 versions at present
![image](https://user-images.githubusercontent.com/9098473/85992244-2aa26c80-ba27-11ea-918a-04701a58dbdf.png)
I run the query `select sum(uv) from test` for 10 times,
the average ScanTime reduced from `9s277ms`  to `8s206ms`
2020-07-02 13:56:08 +08:00
6a7583bb08 [Doc] Add doc for setting dev env of FE in Eclipse (#3952)
Also fix some doc bugs
2020-07-02 13:54:36 +08:00
9785e103ea [Bug] Fix bug that delete stmt with filter condition delete all data from table on segment v2 (#3943)
When we get different columns's row ranges by column_delete_conditions, we should use union operation instead of intersection operation to get final get final row ranges.
The root cause is that we lost the relationship of the two delete conditions in same delete stmt.
Base data:
```
    k1, k2
    1,  2
    1,  3
case 1:
   delete from tbl where k1=1 and k2=2;
case 2:
   delete from tbl where k1=1;
   delete from tbl where k2=2;
```
We treat the above 2 cases as same, which is incorrect.
So we need to process every rowset of delete conditions separately.
2020-07-02 11:07:23 +08:00
2362500e77 [Doris On ES] Support create table with wildcard or aliase index (#3968) 2020-07-01 22:08:06 +08:00