Commit Graph

123 Commits

Author SHA1 Message Date
8ac9492b11 Fix SHOW BACKENDS return ERROR (#320)
In some case, errMsg in Backend maybe null. we change it when check it
nut null

Issue: #317
2018-11-15 20:14:39 +08:00
d7ee57e881 Optimize quota unit (#309)
Originally, we can only set quota in bytes unit. This commit add quota unit:K/KB/M/MB/G/GB/T/TB/P/PB
for convenience.
2018-11-15 14:03:52 +08:00
063f7d7a9a Fix code LICENSE for file modified from LevelDB. (#300) 2018-11-12 16:09:40 +08:00
ae8d16c81e Fix failed cases in regression test (#299) 2018-11-12 11:15:39 +08:00
2081b7fea5 Be compatible with old RPC (#296)
Add palo.PInternalService which can server old version palo's client.

Issue: #293
2018-11-10 15:46:45 +08:00
6f206ae9c6 Fix some license (#290) 2018-11-09 14:30:09 +08:00
1d8fc4bb69 Improve cardinality, avgRowSize, numNodes stat info in OlapScanNode (#256)
Currently, the cardinality, avgRowSize, numNodes stat info in OlapScanNode is none, So the broadcastCost and partitionCost are both wrong and Doris couldn't auto choose a best join strategy.

So we should make the statistical information in OlapScanNode more precise.
2018-11-07 13:59:05 +08:00
fc8f78d81c Fix unit test failure (#286) 2018-11-07 12:53:11 +08:00
0c4edc2b3c Fix BE can't be grayscale upgraded (#285) 2018-11-07 09:34:39 +08:00
370e73ce5d Fix truncation error in CastExpr (#283) 2018-11-06 18:57:13 +08:00
8d7bd01a71 Simplify constant Expr (#255)
Simplify constant Expr could improve Partition Pruning. The examples for constant Expr Simplifing:

1 + 1 + 1 --> 3
date_add('2018-08-08', 1) --> 2018-08-09
year('2018-07-24')*12 + month('2018-07-24') -> 24223
2018-11-06 17:24:54 +08:00
acb332833a Fix view missed parenthesis bug (#253) 2018-11-06 15:25:40 +08:00
cb36e411e9 Support AnalyticExpr in View (#248) 2018-11-05 20:39:21 +08:00
8b665a41c8 Support NULLS LAST and NULLS FIRST syntax (#252)
Allow User specify the null ordering

NULLS FIRST: specifies that NULL values should be returned before
non-NULL values.
NULLS LAST: specifies that NULL values should be returned after
non-NULL values.
2018-11-05 20:35:10 +08:00
9ae631adb6 Fix InsertStmt reAnalyze bug (#251) 2018-11-05 15:36:40 +08:00
69f3b02485 Fix a bug that user can not kill it own connection (#276) 2018-11-02 16:36:59 +08:00
312dfd10bb Change SQL built-in function's symbol (#274) 2018-11-02 16:24:21 +08:00
847d29e394 Delete useless debug log (#250) 2018-11-02 16:06:01 +08:00
c92892bbb9 Fix UnionStmt toSql bug (#249) 2018-11-02 14:50:09 +08:00
ad12d907da Failed to register equal conjuncts which refer more than three tuples (#266)
Change-Id: I7eaf28ee6db35671971108f3edefe908d46ae87f
2018-11-01 20:34:48 +08:00
cccd1292fe Make class name compatible with the old name (#267)
We wrote the old name 'com.baidu.palo.xxx' in bdbje as meta journal.
So we need to make it compatible with 'org.apache.doris.xxx'.
2018-11-01 19:23:10 +08:00
2a290048c7 Change the lock type of Catalog lock (#265)
* Change the lock type of Catalog lock

Implement a QueryableReentrantLock to see which thread held the lock.

* Key in empty version has no min/max value

It should be ignored to reconstruct min/max statistics upon restart.
2018-11-01 16:33:09 +08:00
2868793b6b Change license to Apache License 2.0 (#262) 2018-11-01 09:06:01 +08:00
06413999e5 Fix some compile and script errors (#259)
1. Fix error class in start_fe.sh and start_broker.sh.
2. Add log4j2.xml in fe/src/test/resources/ to run fe ut without log4j warnings.
3. Reduce the test file size in be ut.
2018-10-31 19:45:21 +08:00
2be7991561 Change com.baidu.palo to org.apache.doris
Change some package names in fe/fs_brokers/gensrc dir.
2018-10-31 17:07:16 +08:00
051aced48d Missing many files in last commit
In last commit, a lot of files has been missed
2018-10-31 16:19:21 +08:00
5d3fc80067 Added:
* Add streaming load feature. You can execute 'help stream load;' to see more information.

Changed:
* Loading phase of a certain table can be parallelized, to reduce the load job execution time when multi load jobs to a single table.
* Using RocksDB to save the header info of tablets in Backends, to reduce the IO operations and increate speeding of restarting.

Fixed:
* A lot of bugs fixed.
2018-10-31 14:46:22 +08:00
ae9ce81453 Changed: change build.sh to use environment variable to get thirdparty's
path, and change PALO_HOME to DORIS_HOME
2018-10-30 16:29:06 +08:00
68d663fe7a Changed: change the compilation method of Frontend and Apache hdfs broker from ANT to MAVEN 2018-10-27 11:35:20 +08:00
4f6f8572de Added: Add 3 new metrics of Backends: host_fd_metrics, process_fd_metrics and process_thread_metrics, to monitor open file number and thread number.
Added: Support getting column size and precision info of table or view using JDBC.

Updated: Change the promethues type name GAUGE to lowercase, to fit the latest promethues version.
Updated: Backend ip saved in FE will be compared with BE's local ip when doing heartbeat, to avoid false positive heartbeat response.
Updated: Using version_num of tablet instead of calculating nice value to select cumulative compaction candicates.

Fixed: Predicates should not be pushed down to subquery which contains limit clause.
Fixed: Fix the formula of calculating BE load score.
Fixed: Fix a bug that in some edge cases, non-master Fontend may wait for a unnecessary long timeout after forwarding cmd to Master FE.
Fixed: A bug that granting privs on more than one table does not work.
Fixed: Support 'Insert into' table which contains HLL columns.
Fixed: ExportStmt' toSql() method may throw NullPointer Exception if table does not exist.
Fixed: Remove unnecessary 'get capacity' operation to avoid IO impact.

Internal commit id: merge to c16bd603a53dfe2089ff95704c698a738c317792
2018-10-26 14:48:21 +08:00
65fe7f65c1 Fixed: privilege logic error:
1. No one can set root password expect for root user itself
    2. NODE_PRIV cannot be granted.
    3. ADMIN_PRIV and GRANT_PRIV can only be granted or revoked on *.*
    4. No one can modifly privs of default role 'operator' and 'admin'.
    5. No user can be granted to role 'operator'.
Fixed: the running load limit should not be applied to replay logic. It will cause replay or loading image fail.
Changed: optimize the problem of too many directories under mini load directory.
Fixed: missing password and auth check when handling mini load request in Frontend.
Fixed: DomainResolver should start after Frontends transfer to a certain ROLE, not in Catalog construction methods.
Fixed: a stupid bug that no one can set password for root user... fix it: only root user can set password for root.
Fixed: read null data twice
    When reading data with a null value, in some cases, the same data will be read twice by the storage engine,
    resulting in a wrong result.The reason for this problem is that when splitting,
    and the start key is the minimum value, the data with null is read.
Fixed: add a flag to prevent DomainResovler thread start twice.
Fixed: fixed a mem leak of using ByteBuf when parsing auth info of http request.
Fixed: add a new config 'disable_hadoop_load', default is false, set to true to disable hadoop load.
Changed: add detail error msg of submitting hadoop load job in show load result.
Fixed: Backend process should be crashed if failed to saving header.
Added: exposure backend info to user when encounter error on Backend. for debugging it more convenient.
Fixed: Should remove fd from map when inputstream or outputstream is closed in Broker process.
Fixed: Change all files' LF to unix format.

Internal commit id: merge from dfcd0aca18eed9ff99d188eb3d01c60d419be1b8
2018-10-01 19:58:41 +08:00
bea10e4f06 1. hide password and other sensitive information in log and audit log
2. add 2 new proc '/current_queries' and '/current_backend_instances' to monitor the current running queries.
3. add a manual compaction api on Backend to trigger cumulative or base compaction manually.
4. add Frontend config 'max_bytes_per_broker_scanner' to limit to bytes per one broker scanner. This is to limit the memory cost of a single broker load job
5. add Frontend config 'max_unfinished_load_job' to limit load job number: if number of running load jobs exceed the limit, no more load job is allowed to be submmitted.
6. a log of bug fixed
2018-09-19 20:04:01 +08:00
f3a6f23da8 merge to 055ce846df2efc25ac32b1fa486f83af91341a04 (#225)
change backends proc column title name FreeSpace to UsedSpace
2018-08-24 17:53:48 +08:00
cc74efb3c5 merge to ddb65b69f9c788e359e191889cb31f15279c41ec (#224)
1. Apache HDFS broker support HDFS HA and Hadoop kerberos authentication.
2. New Backup and Restore function. Use Fs Broker to backup your data to HDFS or restore them from HDFS.
3. Table-Level Privileges. Grant fine-grained privileges on table-level to specified user.
4. A lot of bugs fixed.
5. Performance improvement.
2018-08-24 17:12:26 +08:00
aad32ec8fc merge to 3eb59087fb98ed61655997de525331736c56256a (#215)
1. fixed a bug when cast float to string
2. delay result's cancelled time
3. update type check in CastTo
4. remove unused mysql channel log
5. update stop_be.sh, use kill -0 instead of flock -nx
6. update jprotobuf-rpc to 3.5.15 in Frontend, the previous version will cause too many threads in JVM
2018-07-26 19:22:37 +08:00
19997510a6 merge to 9625ef157dd44c58802d63cb7547f037b75fd710 (#208)
1. Implement Backend http server using libevent instead of mongoose.
2. Remove Old Hypertable rpc framework, use brpc instead.
3. Change rpc from FE to BE to brpc.
4. Fs broker support HDFS HA.
5. add more metrics to monitor.
6. Lots of bug fixed.
2018-07-17 09:20:30 +08:00
f681ff0c98 Update InsertStmt.java 2018-06-14 12:21:46 +08:00
9f7b1ea6d4 merge to 87fd4ebd9977afb1e1193429dd75c7c82caab204 (#202)
1. ix bugs in query layer.
2. remove some redundant code in BE
3. support specify multi helper node when starting FE
4. add proc 'cluster_load_statistic' to show load balance situation of Palo
2018-06-08 08:42:23 +08:00
c4be57150b merge to 6da2dd322d34810ef6f12ebc0f870d89f55df140 (#200)
1. rewrite metric module, add disk capacity metric
2. add Cluster load statistic proc to observer cluster load balance status
3. fix bug: show table status from db throw Nullpointer exception
4. performance: change push_down table size to 1024 in HashJoinNode
2018-06-04 14:51:11 +08:00
8e6eee3d28 merge to d228001a62c9c4f8e87f82eef9a88804dfed2831 (#195)
1. modify FE audit log format, for parsing it more convenient
2. fix bug: evaluate conjuncts assigned to SortNode in InlineViewRef
3. fix bug: invalid apache hdfs broker jar in apache_hdfs_broker_java_libraries.tar.gz
2018-05-22 19:01:13 +08:00
5065d634eb merge to 7ab21a103ba63af3bd27f45f7056b1ddbcc93a13 (#194)
1. call done->Run when stream receiver is closed
2. change the name of frontend in bdbje, use arbitrary name instead of ip_port
3. change sync backend report to async, to avoid timeout when backend report
4. fix: buf in WrapperField is not equal to field_buf minus one
2018-05-18 13:57:04 +08:00
2419384e8a push 3.3.19 to github (#193)
* push 3.3.19 to github

* merge to 20ed420122a8283200aa37b0a6179b6a571d2837
2018-05-15 20:38:22 +08:00
9b420d258b fix left join bug, be compatible with sqlalchemy (#189)
merge to 4bd53476a7c3e6451aa1cf640a010d3b7bb0ec42
2018-04-13 22:30:22 +08:00
6cf2fb4d47 Bug fixs
merge to 2d4cc9e1358c980b4f726e17d036639bc31127aa (#188)
contains:
    first_value with PRECEDING LEFT and NON-PRECEDING RIGHT rewrite error and count* materialize SlotDescriptor
    error when referring to the slot of the current query and subquery Simultaneously.

    fix join and count(*) materialize SlotDescriptor error.

    fix materialize scannode's conjuncts bug.

    remove no used materialization work.

    it have to evaluate orderby in subquery because we limit the number of rows returned by subquery.

    the method of judging limit is wrong.

    user info is missing when retrying to call load check.

    It's wrong to pass aggregate function when it's param is not materialized.

    InsertStmt does not pass the session param to observer.
2018-04-11 16:05:33 +08:00
5de798fdd6 Merge code to github (#187)
* merge to 95787f8be1fd0ff215708fb0f49997b632876586
* Bugs fixed
2018-03-23 14:04:55 +08:00
b8fa22ddd3 distinguish limit 0 in analyze (#186) 2018-03-12 18:11:54 +08:00
ab2d606361 Update AsyncDeleteJob
fix persist AsyncDeleteJob bug
2018-02-26 13:44:16 +08:00
0008399987 add FE metrics (#178)
Add more metrics of FE.
You need to update fe/lib when update FE
2018-01-17 11:11:37 +08:00
5a1388c676 fix union with order by bug (#177) 2018-01-15 14:05:49 +08:00
497292387c add export retry (#176) 2018-01-11 14:20:41 +08:00