Commit Graph

363 Commits

Author SHA1 Message Date
8b79abcaba Support setting exec_mem_limit in ExportJob (#1280) 2019-06-11 21:05:45 +08:00
53062122ea Change strategy of incorrect data (#1255)
This change adds a load property named strict_mode which is used to prohibit the incorrect data.
When it is set to false, the incorrect data will be loaded by NULL just like before.
When it is set to true, the incorrect data which belongs to a column without expr will be filtered.
The strict_mode is supported in broker load v2 now. It will be supported in stream load later.
2019-06-10 20:39:45 +08:00
6a54464ee8 Fix bug that NullPredicate is not correctly handled by partition pruning (#1276) 2019-06-10 20:11:42 +08:00
2efd5a4d86 Fix bug: FE pid file has wrong content(#1273)
For example, we start the process for the first time. The pid is 12345. Due to the accident, the process is killed and the fe.pid exists. Then we start the process for the second time. The pid is 6789. The fe.pid shows 67895 , Because file.write only cover the first four digits. This case can happen easily when we use supervise. Then I add the file.setLength(0) and delete the old data.
2019-06-10 17:29:04 +08:00
038ddcfa0b Set timeout configuration for stream load (#1271) 2019-06-10 15:51:58 +08:00
e4e04e8203 Make LZO support optional (#1263) 2019-06-07 22:26:54 +08:00
ff0dd0d2da Support SSL authentication with Kafka in routine load job (#1235) 2019-06-07 16:29:01 +08:00
f424321625 Fix IllegalArgumentException in LoadManager (#1240) 2019-06-04 22:23:13 +08:00
c20d62679e Add negative load from StreamLoad (#1227) 2019-05-31 07:14:06 +08:00
309b779a7d Check colocate table name should be case-sensitive (#1224) 2019-05-30 22:47:22 +08:00
180d8e5cbd Modify some thirdparties (#1228)
1. Change Kafka java client from 2.0.0 to 0.10.1.1. Because high version client may not support low server server.
2. Enable SSL in librdkafka
2019-05-30 21:23:37 +08:00
fa4ac9f751 Replay GlobalVariable by Annotation (#1219) 2019-05-29 19:21:42 +08:00
319c71f69f Remove unnecessary import sun.security.ssl.Debug (#1215) 2019-05-29 12:35:20 +08:00
f648bdd968 Fix datediff function (#1208) 2019-05-28 15:55:31 +08:00
9d19c6c315 Support arbitrary kafka properties (#1204) 2019-05-28 10:03:50 +08:00
08c8caeacf Add max cache size to ClientCache in BE (#1202)
Currently, unlimited client cache pool may cause too many connections in FE
2019-05-24 22:02:09 +08:00
41152f5c84 Modify FE sys log and audit log configuration (#1198)
All FE logs are now with suffix yyyyMMdd or yyyyMMddHH, specified by 2 new
configurations: 'sys_log_roll_interval' and 'audit_log_roll_interval'

All FE logs roll at max size of 1024MB(default), specified by new
configuration: 'log_roll_size_mb'

By default, the new FE logs will look like this:

log/
    fe.audit.log
    fe.audit.log.20190524-1
    fe.audit.log.20190523-2
    fe.log
    fe.log.20190524-1
    fe.log.20190524-2
    fe.log.20190523-3
    fe.warn.log
    fe.warn.log.20190524-1
    fe.warn.log.20190523-2
    fe.gc.log.20190524

Configurations 'sys_log_roll_mode' and 'audit_log_roll_mode' are deprecated.
2019-05-24 11:24:38 +08:00
85b4619d54 Change insert into to streaming (#1191)
The non-streaming hint of insert into will use the streamin plan which is same as the plan of stream insert.
It will also record the load info and return the label of insert stmt.
The partition is supportted in insert into stmt. The result which meet the target partitions will be loaded.
The introduction of example has been changed especially non-streaming insert.
Also, the param of partition_names is added in sql syntax which is used to declare the target partition_names in target table.

Change META_VERSION to 50
2019-05-23 20:53:30 +08:00
42601f2d88 Print unfinished tablet when cancel load job (#1186) 2019-05-23 19:22:54 +08:00
488e3825f7 Fix bug that restore process in BE causes BE crash (#1193)
When calling SnapshotLoader.move(), all files should be revoked if they
are in GC queue, or the file may be deleted after move() success.
2019-05-23 19:22:29 +08:00
2fe1950d84 Fix minor string format bug (#1189) 2019-05-23 14:14:51 +08:00
5e245e031b Change source type to BATCH_LOAD_JOB (#1182) 2019-05-22 11:07:38 +08:00
b98b07efe2 Add persistence of load job v2 (#1176) 2019-05-21 19:30:26 +08:00
9bf19f13bb Fix borker load submit job fail with null (#1172) 2019-05-17 19:09:44 +08:00
b2e63910a6 Fix bug that routine load task may be blocked due to premature deconstruction (#1166)
Data consumer group should wait all data consumers finished before return.
2019-05-16 16:15:00 +08:00
f985ea99fc Add support column reference in LOAD statement (#1162) 2019-05-15 20:26:10 +08:00
ad88741b69 Fix bug that bad tablet blocking compaction of other tablets (#1158)
A bad tablet is always be chosen to do compaction, and failed again
and again, which may block compaction of other tablets.
Add a BE config 'min_compaction_failure_interval_ms' to avoid choosing
bad tablet again at a certain interval, so that other tablets have
chance to do the compaction.

Also fix a bug that using avg() function on varchar column return
unexpected exception.
2019-05-15 12:44:38 +08:00
398055ef3e Add logic of cancel job (#1154) 2019-05-14 17:26:45 +08:00
31f55532f7 Fix bug that cast decimal or bool to other type (#1152) 2019-05-13 17:41:10 +08:00
559db490e0 Fix bug that rename table to an existing rollup index name should not be allowed (#1150)
Also fix another bug that backup/restore job should add to task map after writing edit log.
ISSUE: #522
2019-05-13 17:10:51 +08:00
ffe3eaa1a7 Implement adddate, days_add and from_unixtime function in FE (#1149) 2019-05-13 16:59:52 +08:00
6117227754 FE support assigning constant conjunct and calculating expression (#1126) 2019-05-11 23:10:58 +08:00
15c9be4dfe Fix bug that balance task always choose high usage path (#1143) 2019-05-11 22:07:17 +08:00
ae18cebe0b Improve colocate table balance logic for backend added (#1139)
1. Improve colocate table balance logic for backend added
2. Add more comment
3. Break loop early
2019-05-11 21:49:51 +08:00
debb58c278 Add SHOW FUNCTION and update docs for UDF (#1140) 2019-05-11 21:46:37 +08:00
f499759f15 Revise the exception message (#1141) 2019-05-10 19:52:11 +08:00
4039985729 Fix some bugs about decommission (#1138)
1. Print the last few tablets of decommission backend in fe.log for debug.
2. OlapTableSink should get replica on alive Backends, not only available Backends.
3. When decommission multi Backends, we should drop the redundant replicas before creating a new one.
4. Replicas on decommissioning Backends should be not added to catalog again.
5. Decommissioning Backends should not be chosen as destination of tablet repairing.
2019-05-10 17:41:48 +08:00
79ab7f4413 Change label of broker load txn (#1134)
* Change label of broker load txn

1. put broker load label into txn label
2. fix the bug of `label is already used`
3. fix partition error of new broker load

* Fix count error in mini load and broker load

There are three params (num_rows_load_total, num_rows_load_filtered, num_rows_load_unselected) which are used to count dpp.norm.ALL and dpp.abnorm.ALL.
num_rows_load_total is the number rows of source file.
num_rows_load_unselected is the not satisfied (where conjuncts) rows of num_rows_load_total
num_rows_load_filtered is the rows (quality not good enough) of (num_rows_load_total-num_rows_load_unselected)
2019-05-10 16:53:46 +08:00
fdc0c40549 Fix malformed at AM bug (#1136) 2019-05-10 16:23:14 +08:00
6635c36cc5 Fix decommission BE bug (#1122)
The pre-check of replica num should be check database of current cluster
2019-05-09 18:53:10 +08:00
1eeb5ea891 Add str_to_date function in fe (#1118) 2019-05-09 17:20:44 +08:00
93d2dd5f82 Fix bug of routine load job (#1116)
Fix null pointer exception when sending routine load task
2019-05-09 12:56:53 +08:00
77a1b31baa Add show load of loadv2 (#1113)
This change include the show load of loadv2 and some bug fix of loadv2.
Firstly, the show load will perform both load and loadv2 info. According to loadv2, the ETL progress of loadv2 is N/A during the period of loading.
Secondly, the loadv2 will be created when version of property is v2.
This is a temporary property which will not influence the old broker load.
After the loadv2 is finished, the default load will be changed to loadv2.
Finally, there are some bug in LoadingTaskPlanner fixed by this change.
2019-05-09 10:27:30 +08:00
7699c76df2 Fix Nullpointer exception encountered in transaction process (#1112)
* Fix Nullpointer exception encountered in transaction process
* Do not choose unavailable BE when repair tablet
2019-05-08 20:30:34 +08:00
965ecedd5d Fix compile bug (#1106) 2019-05-07 17:36:34 +08:00
a08170fd50 Enhance the usabilities (#1100)
* Enhence the usabilities

1. Add metrics to monitor transactions and steaming load process in BE.
2. Modify BE config 'result_buffer_cancelled_interval_time' to 300s.
3. Modify FE config 'enable_metric_calculator' to true.
4. Add more log for tracing broker load process.
5. Modify the query report process, to cancel query immediately if some instance failed.

* Fix bugs
1. Avoid NullPointer when enabling colocation join with broker load
2. Return immediately when pull load task coordinator execution failed
2019-05-07 15:55:04 +08:00
0c62cb888f Support negative keyword in Broker Load (#1101) 2019-05-06 22:15:27 +08:00
11be24df40 Add new scheduler of load in fe (#1076)
* Add new scheduler of load in fe

1. New scheduler only support the broker load now.
2. The stage of load consist of PENDING -> LOADING -> FINISHED
3. The LoadScheduler will divide job into a pending task. There are preparations that need to be done on pending task.
4. OnPendingTaskFinished will be invoked after pending task. It is used to submit the loading task which is created based on attachment of pending task.
5. OnLoadingTaskFinished will be invoked after loding task. It is used to record the commit info and commit txn when all of task has been finished.
.

* Combine pendingTask and loadingTask into loadTask

1. The load task callback include two methods: onTaskFinished, onTaskFailed

* Add txn callback of load job

1. isCommittting is true when beforeCommitted in txn
2. job could not be cancelled when isCommitting is true
3. job will be finished after txn is visible
4. old job will be cleaned when (CurrentTS - FinishedTs) / 1000 > Config.label_keep_seconds
5. LoadTimeoutChecker is performed to cancel timeout job
2019-05-06 13:49:06 +08:00
ba78adae94 Fix bugs when using function in both stream load request and routine load job (#1091) 2019-05-05 20:51:30 +08:00
588aa7bed3 Fix date_format function in fe (#1082) 2019-05-01 22:20:49 +08:00