Commit Graph

382 Commits

Author SHA1 Message Date
9cd0e09457 Fix bug that cast DateLiteral to other types (#1364) 2019-06-24 10:57:25 +08:00
9f7a335d02 Increase the timeout of publish version task when doing alter job (#1359)
The previous setting of timeout of a publish version task is mess.
I change it to a configurable time, default it 30 seconds.

And when the table is under rollup or schema change, I double this timeout.
This a kind of best-effort-optimization. Because with a short timeout,
a replica's publish version task is more likely to fail. And if quorum replicas
of a tablet fail to publish, the alter job will fail.

If the table is not under rollup or schema change, the failure of a replica's
publish version task has a minor effect because the replica can be repaired
by tablet repair process very soon. But the tablet repair process will not
repair rollup replicas.
2019-06-22 14:29:16 +08:00
bc14855f25 Fix FE unit test's failure (#1360) 2019-06-21 22:23:36 +08:00
120e7e9119 Add more UT for FEFunctions (#1344) 2019-06-21 21:54:14 +08:00
6a17f07f97 Fix wrong query result with constant InPredicate (#1357) 2019-06-21 21:48:00 +08:00
3b95867603 Add Checkstyle for doris-fe (#1353) 2019-06-21 21:45:54 +08:00
7550b2f09b Convert mini load to streaming mini load (#1323)
* This commit has brought contribution to streaming mini load
The operation of streaming mini load is sames as previous. Also, user can check the load by frontend.
The difference is that streaming mini load finish the task before reply of REST API while the non-streaming only register a load.

* When updating doris
Updating fe or be firstly are also supported. After fe and be are updated, the streaming mini load will take effect.

* For multi mini load
The non-streaming mini load still has been used by multi mini load. The behavior of multi mini load has not been changed.

* Add a interface named isSupportedFunction
This function is used to protect the correctness of new feature which consists of be and fe during updaing.
2019-06-21 19:34:50 +08:00
ea71277094 Support mysql client 8.0 connection fe (#1349)
for example:
mysql --default-auth=mysql_native_password -P9030 -utest -ptest123456 -hA.B.C.D
2019-06-21 19:15:34 +08:00
3024a6675a Fix the broker hang when fe restart (#1338) 2019-06-20 19:44:17 +08:00
0d3c80dd8a Fix bug that function greast and least return wrong type (#1342) 2019-06-20 19:02:10 +08:00
7f1c3640ed Fix show proc '/jobs/load' stmt for loadv2 (#1335)
* Add streaming job in LoadProc
* Add a config named desired_max_waiting_jobs
1. If the number of pending load jobs is more then desired_max_waiting_jobs, the create load stmt will be rejected.
2. If the number of need_scheduler load jobs is more then desired_max_waiting_jobs, the new routine load job will be rejected.
3. Desired max size is only a expect number, so the size of queue may be more then this number sometimes.

* Merge load manager and load jobs in jobs proc dir
2019-06-20 13:12:12 +08:00
e143dd2c1a Modify the max keep time of historical alter jobs (#1334)
Currently, historical alter jobs will keep for a while before being removed.
And this time is configured by label_keep_max_second. Which is also used for
Load jobs.

But to avoid too many historical load jobs being kept in memory,
'label_keep_max_second' always set to a short time, causing alter jobs to be
removed vary soon.

Add a new FE config 'history_job_keep_max_second' to configure the keep time of
alter jobs. Default is 7 days.
2019-06-19 19:41:48 +08:00
5cd4777bb4 Fix bug that if match wrong symbol (#1324) 2019-06-19 09:17:13 +08:00
bad6478d4f Allow chars i,h,s in time_format (#1328) 2019-06-18 19:48:19 +08:00
30028bc35b Deny specify partition for unpartitioned table (#1319) 2019-06-15 18:19:56 +08:00
5c2cf9f2ce Handle the situation when there is no enough backends for tablet repair (#1299)
If there are only 3 backends and replication num is 3. If one replica of a
tablet is bad, there is no 4th backend for tablet repair. So we need to delete
a bad replica first to make room for new replica.
2019-06-14 20:28:29 +08:00
c8d7b8e1c4 Fix bug that FE web frontend can not get static resource files (#1312) 2019-06-14 20:12:57 +08:00
b002ba04d9 Fix the error of duplicated label (#1303) 2019-06-14 14:13:38 +08:00
a8900d102d Change defalut value to NOT NULL when creating table (#1293) 2019-06-12 18:28:11 +08:00
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