Commit Graph

1167 Commits

Author SHA1 Message Date
23078a5cee Avoid Chinese garbled for streamLoad java sample (#2229) 2019-11-18 21:14:35 +08:00
d8cfbbedf7 Support bitmap_empty function (#2227) 2019-11-18 20:37:00 +08:00
626001fae4 Fix bug upon is not null with batch without null data (#2219)
DefaultValueReader will be created for this column after adding a column.
Upon IS NOT NULL predicate, be will be core dump because of null pointer.
2019-11-17 22:54:29 +08:00
59e9027f76 Fix bug that timeout is not taken effect in streamload (#2217) 2019-11-16 22:29:55 +08:00
c5ce72215d Optimize tablet report with expired transaction. (#2215)
When there are lots of expired transactions on BE, and with large
number of tablet, the report thread may become to slow. Because it
has to iterate the whole transaction map for each tablet.

But this is unnecessary. We should first build a expired transaction
map with 'tablet id' as key. And for each tablet, we only need to seek
the expired transaction map once with tablet id, instead of traversing
the whole transaction map.
2019-11-15 23:03:21 +08:00
22d0987e97 Set cumulative point upon no suitable rowsets (#2204) 2019-11-14 22:16:42 +08:00
8b7735f7e9 Fix npe when segment writer init failed (#2202) 2019-11-14 21:40:18 +08:00
4f56698db4 Change ifnull syntax support date type (#2123) (#2206) 2019-11-14 21:33:12 +08:00
6688fef158 Add more note for streamLoad java sample (#2198) 2019-11-14 21:27:56 +08:00
20e0344033 Fix condition npe bug (#2200) 2019-11-14 14:13:49 +08:00
b187c0881c Fix bug of null safe equal join (#2193) 2019-11-14 08:52:48 +08:00
3dcb8c991c Make RowBatch compatible with old version (#2190)
Field len of StringValue is changed from int to int64. This will cause
invalid length of StringValue when deserializing RowBatch sent from 0.10
Doris. And then this will lead fail to allocate memory and make BE
crash.
2019-11-13 23:26:26 +08:00
84c1fa88b8 Add node dead num metrics for all types of node (#2191)
Following metrics will show the number of nodes which are down.

frontend_down_num
backend_down_num
broker_down_num
2019-11-13 23:25:51 +08:00
35b2800542 Keep num_of_columns_from_file incompatibile with 0.10 protocol (#2187)
After checking, I found that broker load in 0.11 added num_of_columns_from_file parameter in thrift. This parameter does not consider compatibility in BE.
So broker load could cause BE crashed during the upgrade
2019-11-13 22:04:15 +08:00
8063353429 Fix concurrent create same directory failed (#2176) (#2185) 2019-11-13 20:59:25 +08:00
11872d5cf6 Sending clear txn task explicitly after transaction being aborted (#2182) 2019-11-13 11:22:45 +08:00
b9c7f6e5ac Fix create path bug (#2177) 2019-11-12 12:46:54 +08:00
b4d630137a Fix DB meta lost bug 2 (#2174) 2019-11-12 09:35:27 +08:00
1695d8ffc7 Clean the fe/target directory before building (#2173)
Clean the fe/target directory before building
Otherwise, the fe output dir will contains some deprecated libraries.
2019-11-11 22:04:17 +08:00
d0316d158d Refactor and reorganize the file utils (#2089) 2019-11-11 20:25:41 +08:00
068eed8eb0 Add delete state of row block v2 for performance (#2055) 2019-11-11 20:07:37 +08:00
06befc45ed Support decrease edit_log_roll_num config (#2171) 2019-11-11 14:20:32 +08:00
288cf1ec80 Fix DB meta lost bug (#2167) 2019-11-11 11:02:21 +08:00
9eaba67606 Limit the FE log file number (#2163)
1. upgrade log4j to 2.12.1
2. Add 2 new FE config:
        'sys_log_delete_age' and default is '7d', for sys log.
        'audit_log_delete_age' and default is '30d', for audit log.

   it means if a log's last modification time is 7/30 days ago, it will be deleted.
2019-11-11 09:12:57 +08:00
c92de36bec Add ext_unix_timestamp for date < 1970-01-01 and > 2038-01-19 (#2161) 2019-11-08 21:19:26 +08:00
48d9318d07 Support date_add function to support partition prune (#2154)
Currently in the date_add/date_sub functions (DATE_ADD(DATETIME date,INTERVAL expr type)), the expr parameter is the interval you want to add.
Doris will convert these functions to xxx_sub/xxx_add. However, there is only the days_add function in fe, which causes other date_add formats, such as select date_add('2010-11-30 23:59:59', INTERVAL 2 DAY), cannot be pruned.

So I've added other functions to support fe partition prune
2019-11-08 18:57:21 +08:00
3886503c02 Fix bug of core in multi join (#2164)
The result of function named getHashLookupJoinConjuncts() are the predicates which already adjust the order of left and right child.
2019-11-08 18:55:38 +08:00
9ea14b83bb Remove failed UT (#2165) 2019-11-08 16:48:32 +08:00
42395d2455 Change Null-safe equal operator from cross join to hash join (#2156)
* Change Null-safe equal operator from cross join to hash join
ISSUE-2136

This commit change the join method from cross join to hash join when the equal operator is Null-safe '<=>'.
It will improve the speed of query which has the Null-safe equal operator.
The finds_nulls field is used to save if there is Null-safe operator.
The finds_nulls[i] is true means that the i-th equal operator is Null-safe.
The equal function in hash table will return true, if both val and loc are NULL when finds_nulls[i] is true.
2019-11-08 12:43:48 +08:00
af79485eb2 Ignore --helper start argument if not first time to start FE (#2159) 2019-11-08 08:48:11 +08:00
89dc461f91 Fix UT and remove unused code (#2160) 2019-11-08 08:47:48 +08:00
d461a451d7 Add log info for QueryPlanAction (#2152) 2019-11-07 22:48:20 +08:00
2581d6d574 Support hdfs broker reading config from hdfs-site.xml (#2148)
In the production environment, hdfs broker should read config from hdfs-site.xml instead of manual input due to the complexity of hdfs config
add dfs.namenode.kerberos.principal.pattern config for kerberos auth
fix some getting config code for brief
2019-11-07 22:23:31 +08:00
2efd9e54ea Optimize the query plan so that UnionNode can be executed distributedly (#2150) 2019-11-07 19:41:06 +08:00
c25e826dce Fix default value column bug (#2134) 2019-11-07 19:06:24 +08:00
cfc98e3571 Fix string type column zone map bug (#2144)
string type column's zone map of segment is wrong and segments are filtered incorrectly.
2019-11-07 15:57:38 +08:00
188d97c215 Add null bit verification for row_batch transformation (#2139) 2019-11-07 14:05:23 +08:00
5a4908e99a Forward stmt with stmt id generated on origin FE. (#2129)
Some stmt, such as DDL and DML stmt will be forwarded from non-master FE
to Master FE. But these stmt will be logged in non-master FE's audit log
with its origin stmt id generated on non-master FE.

So we should also pass this origin stmt id to Master, so that we can track
this stmt's execution process more easily.
2019-11-07 10:28:15 +08:00
f14cdacfd1 Fix single column read bug (#2122) 2019-11-07 10:24:02 +08:00
6759e83a07 Add license header for md files and fix some translation's error (#2137) 2019-11-06 21:35:07 +08:00
7b4ae7df06 Merge pull request #2141 from morningman/modify_routine_load_log
Add some log to detect deadlock of routine load job
2019-11-06 16:09:56 +08:00
96f60ea6ca Add some log to detect deadlock of routine load job 2019-11-06 15:57:51 +08:00
7ad72bbcb8 Enable decimalV2 cast to different precision (#2131)
The precision of cast function is useless. For example,
Query: select cast(10 as decimal(1,0));
Result: 10
Although numeric field is overflow, the numeric could be return.

So, the cast function from decimal(a,b) to decimal(c,d) could not be executed.
2019-11-05 20:31:23 +08:00
78a4270457 Fix in predicate bug (#2132) 2019-11-05 20:27:22 +08:00
0046eecb0a Refactor OwnedSlice (#2126) 2019-11-05 20:09:17 +08:00
65c3b0907a Support aggregation type of REPLACE_IF_NOT_NULL (#2127)
Some use has the requirment that only some of columns will be update in
one load operation, and others will retain as original. However, Doris
can't handle this situation, because user must specify value for all
columns. Then if a column aggregation method is REPLACE, use must query
original value to overwrite it. This often needs some work for user to
do.

If this CL is applied, user can use REPLACE_IF_NOT_NULL instead of
REPLACE. Then when load data to table, if user don't intent to change
value of this column, user can specify NULL for this column. Doris will
retain original value for this column.
2019-11-05 18:08:34 +08:00
ccc1b9d98c Optimize percentile_approx through radix sort (#2102) (#2107) 2019-11-05 09:25:47 +08:00
d2e34310ef Fix bug that UpdateTabletMetaInfoTask not returned (#2119) 2019-11-05 09:23:41 +08:00
d83eec7a14 Fix META read (#2125)
PR #2083 introduce a meta read bug, which will ignore already written data.
2019-11-04 18:44:04 +08:00
ac5dd0c9f2 Support sql mode (#2083)
At present, we do not support SQL MODE which is similar to MySQL. In MySQL, SQL MODE is stored in global session and session with a 64 bit address,and every bit 0 or 1 on this address represents a mode state. Besides, MySQL supports combine mode which is composed of several modes.

We should support SQL MODE to deal with sql dialect problems. We can heuristically use the MySQL way to store SQL MODE in session and parse it into string when we need to return it back to client.

This commit suggests a solution to support SQL MODE. But it's just a sample, and the mode types in SqlModeHelper.java are not really meaningful from now on.
2019-11-01 23:21:00 +08:00