Commit Graph

395 Commits

Author SHA1 Message Date
daa9d975ca Fix bugs of Tablet Scheduler (#600) 2019-01-29 15:35:07 +08:00
722eec16bb Optimize header load failure process (#598) 2019-01-29 12:23:30 +08:00
c5fa1423cf fix bug of file deleted by compaction (#597) 2019-01-28 16:17:22 +08:00
26acf83cb0 Make status returned be right (#594)
RunLengthByteReader should return right error code instead of EOF
2019-01-27 18:40:45 +08:00
67cdc723ac Fix bug that only REPLICA_MISSING repair need to create a new replica (#590) 2019-01-25 17:56:42 +08:00
9d71a930a2 Fix bug that repair slot may not be released when clone finished (#589) 2019-01-25 16:49:15 +08:00
9a272f0592 Optimize something (#585)
1. Optimize the error msg of Tablet scheduler.
2. Missing helper nodes info when modify Frontends.
3. Fix bug that olap tablet's header lock is not released.
2019-01-25 14:27:33 +08:00
e135e3d41e Add an example of help load (#584) 2019-01-25 11:18:10 +08:00
bc7e7409ca Allow repair VERSION_IMCOMPLETE tablet when ALTERing table (#583)
Previously we do not allow repair tablet if the table it belongs
to is under ALTER process. But it will possibly let the alter job
failed due to some replica's failure of load.
2019-01-24 15:39:05 +08:00
cd7a2c3fd5 Refactor CreateTableTest (#579) 2019-01-24 13:56:41 +08:00
aeb89ab4d3 Add ColocateMetaService (#562) 2019-01-24 11:20:12 +08:00
2912a16b16 Fix data race of header (#576) 2019-01-23 20:01:16 +08:00
c82879cb2e Fix bug that heartbeat error msg may be null (#574) 2019-01-23 17:24:29 +08:00
4f3954fd77 Fix bug that recvr thread update sub plan's QueryStatistics when it is destructed (#573) 2019-01-23 17:00:40 +08:00
079141e14a Add disk usage percent in SHOW BACKEND stmt (#571) 2019-01-23 14:08:33 +08:00
a9e9aef3ca Fix sync and trash bug (#570)
1. no need to save header when header has no incremental delta
2. make fsync tablet_meta configurable
3. add metric for meta operation
2019-01-22 20:13:09 +08:00
9e240d432a Fix replica version report bug (#569)
Replica with version hash equals to 0 should be handled correctly.
2019-01-22 16:48:24 +08:00
e11bdf2db5 Remove unit of measurement about query statistics in audit log (#568) 2019-01-22 14:38:39 +08:00
09df294898 Fix some bugs (#566)
1. Backup obj should set state to NORMAL.
2. Replica with version 1-0 should be handled correctly.
2019-01-22 12:21:55 +08:00
e80f6ed86a Fix uncorrect hll type length when creating table (#565) 2019-01-22 11:22:49 +08:00
f7155217bf Remove build rows counter in PartitionHashJoinNode (#557)
* Remove build rows counter in PartitionHashJoinNode
* Fix unit test fail in RuntimeProfileTest
* Add check for result type length in cast_to_string_val
2019-01-21 14:08:59 +08:00
0dd4c6e0a0 Fix ASAN compilation issue (#561) 2019-01-21 13:09:45 +08:00
54e98f6964 Auto fix missing version replica (#560) 2019-01-21 08:56:43 +08:00
4013d0834e Add Docker building guide in README.md (#553)
Add building guide of Docker image in README.md
2019-01-18 14:21:33 +08:00
51c128c8d1 Skip balance when colocate group is balancing (#548) 2019-01-18 14:13:42 +08:00
717285db1e Remove unused code about showing current queries (#552) 2019-01-18 09:53:40 +08:00
4d5f92cce7 Add EsScanNode (#450) 2019-01-17 17:59:33 +08:00
723ef04f51 Fix string truncation error in CastExpr. (#551) 2019-01-17 17:38:34 +08:00
d15bc83de0 Fix some bugs of alter table operation (#550)
1. Fix bug that failed to query restored table after schema change.
2. Fix bug that failed to add rollup to restored table.
3. Optimize the info of SHOW ALTER TABLE stmt.
4. Optimize the info of some PROCs.
5. Optimize the tablet checker to avoid adding too much task to scheduler.
2019-01-17 15:17:51 +08:00
5cb1c161a4 Fix colocate join balance bug (#547) 2019-01-17 14:58:08 +08:00
6bef41633c Add DORIS_THIRDPARTY env in docker image (#539)
* Add param of specified thirdparty path
1. The thirdparth path can be specify on build.sh: ./build.sh --thirdparty /specified/path/to/thirdparty
2. If there are only thirdparty param of build.sh, it will build both fe and be
3. Add unit test of routine load stmt
4. Remove source code in docker image

* Add DORIS_THIRDPARTY env in docker image
1. Set DORIS_THIRDPARTY env in docker image. The build.sh will use /var/local/thirdparty instead of /source/code/thirdparty
2. remove --thirdparty param of build.sh

* Change image workdir to /root
2019-01-17 14:19:13 +08:00
0e5b193243 Add cpu and io indicates to audit log (#531) 2019-01-17 12:43:15 +08:00
33b133c6ff Fix bug that internal retry of stream load return wrong result (#541)
Add an internal-generated timestamp as a unique identifier to identify a request and a retry request
2019-01-16 18:59:19 +08:00
e8360f5eee Add counters to OlapScanNode (#538)
There is unnegligible cost to covnert VectorRowBatch to RowBatch,
When we seek block, we only read one row from engine to minimize
this convert cost.

This patch can optimize some query's time from 5s to 2s
2019-01-16 18:57:04 +08:00
79dc521893 Fix UnixMicros function (#544) 2019-01-16 17:26:43 +08:00
798a66e6a0 Implement new tablet repair and balance framework (#336)
More detail, see issue #540
2019-01-16 13:29:17 +08:00
f20c99fd09 Support storage migration (#534)
Add a migration lock to lock the data when doing storage migration.
2019-01-15 12:53:24 +08:00
b3b86731cb Remove useless check, not need lsb_release any more (#526) 2019-01-11 14:59:20 +08:00
0fcbe15280 Change the default bdbje sync policy to SYNC (#519) 2019-01-10 19:06:29 +08:00
65eed5fdc1 Fix inconsistency of three replicas belongs to one tablet (#523) (#525)
There are A, B, C replicas of one tablet.
A has 0 - 10 version.
B has 0 - 5, 6, 7, 9, 10 version.
1. B has missed versions, so it clones 0 - 10 from A, and remove overlapped versions in its header.
2. Coincidentally, 6 is a version for delete predicate (delete where day = 20181221).
   When removing overlapped versions, version 6 is removed but delete predicate is not be removed.
3. Unfortunately, 0-10 cloned from A has data indicated at 20181221.
4. B performs compaction, and data generated by 20181221 is be removed falsely.
2019-01-10 18:57:50 +08:00
742dc796b2 Fix inconsistency of three replicas belongs to one tablet (#523)
There are A, B, C replicas of one tablet.
A has 0 - 10 version.
B has 0 - 5, 6, 7, 9, 10 version.
1. B has missed versions, so it clones 0 - 10 from A, and remove overlapped versions in its header.
2. Coincidentally, 6 is a version for delete predicate (delete where day = 20181221).
   When removing overlapped versions, version 6 is removed but delete predicate is not be removed.
3. Unfortunately, 0-10 cloned from A has data indicated at 20181221.
4. B performs compaction, and data generated by 20181221 is be removed falsely.
2019-01-10 18:51:12 +08:00
eae755f833 Fix bug that schema change does not set null value correctly (#524) 2019-01-10 18:35:03 +08:00
0b50617542 Fix BE core if WHEN expr is null in CASE-WHEN clause (#521)
#518
2019-01-10 13:40:28 +08:00
d372b04e42 Revert "Add cpu and io indicates to audit log (#513)" (#520)
This reverts commit 5192e2f010308eefffa5271b0bdc947dfd9168ae.
2019-01-10 12:44:09 +08:00
5192e2f010 Add cpu and io indicates to audit log (#513)
Record query consumption into fe audit log. Its basic mode of work is as follows, one of instance of parent plan is responsible for accumulating sub plan's consumption and send to it's parent, BE coordinator will get total consumption because it's a single instance.
2019-01-09 22:28:20 +08:00
69f9987abd EsTable without partition info (#511) 2019-01-09 11:14:19 +08:00
92b138121b Support io and cpu indicates for current query (#497)
Help to locate big query when system overload, by checking consumptions of running parts of current all queries or specified one query. Its basic mode of work is as follows: firstly trigger BE to report RuntimeProfiles, and wait a moment. secondly caculate consumptions with RuntimeProfiles reported by BE. The consumptions supported by it are the cost of running ExecNode in query when call it.
2019-01-08 10:59:42 +08:00
cbf1f99a46 Fix parse es state failed in unit test (#502) 2019-01-07 14:13:26 +08:00
9bfd8d818a Add md5 property for UDF create statement (#500) 2019-01-06 19:45:04 +08:00
483c5a971e Add routine load statement (#456)
1. Add sql parser and sql scanner for routine load stmt such as KW_ROUTINE(routine), KW_PAUSE.
2. Create routine load statment like
      CREATE ROUTINE LOAD name ON database.table
      (properties of routine load)
      [PROPERTIES (key1=value1, )]
      FROM [KAFKA](type of routine load)
      (properties of this type)

      properties of routine load:
          The load property of CreateRoutineLoadStmt is disordered: Both 'LoadColumnsInfo, PartitionNames xxx' and 'PartitionNames, ColumnsInfo xxx' is right.
          [COLUMNS TERMINATED BY separator ]
          [(col1, ...)]
          [SET (k1=f1(xx), k2=f2(xx))]
          WHERE
          [PARTITION (p1, p2)]

      type of routine load:
          KAFKA

      different type has different properties
      properties of this type:
          k1 = v1
          k2 = v2
3. Pause/Resume/Stop routine load statment like
      PAUSE/RESUME/STOP ROUTINE LOAD jobName
4. Ddlexecutor support CreateRoutineLoadStmt, Pause/Resume/StopRoutineLoadStmt
5. Pause/Stop routine load will clear all of task which belong to job immediately
      The task which has been not committed will be abort.
6. Resume routine load will change job state to need scheduler
      The RoutineLoadJobScheduler will scheduler it later.
7. Show routine load statment like
      SHOW ROUTINE LOAD jobName
8. All of load property can implement LoadProperty such as LoadColumnsInfo, PartitionsNames etc
9. The sql of LoadColumnsInfo is Columns (c1, c2, c3) set (c1, c2, c3=c1+c2)
10. Add check of routineLoadName, db.routineLoadName is unique in database when job state is not final state.
2019-01-04 13:49:49 +08:00