Commit Graph

12483 Commits

Author SHA1 Message Date
f001b9d5c8 [enhance](multi-catalog) support multi name service when config hive catalog #21825
when create catalog with multi-servicename like below:
REATE CATALOG hive_prod_t1 PROPERTIES (
'type'='hms',
'hive.metastore.uris' = 'thrift://10.198.xxx:9011,thrift://11.11.xxx:9001,thrift://10.198.xxx:9011',
'hadoop.username' = 'user',
'dfs.nameservices'='ns1007,ns1017',
'dfs.ha.namenodes.ns1007'='nn1,nn2',
'dfs.namenode.rpc-address.ns1007.nn1'='10.198.xxxx:8120',
'dfs.namenode.rpc-address.ns1007.nn2'='10.198.xxx:8120',
'dfs.client.failover.proxy.provider.ns1007'='org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider',
'dfs.ha.namenodes.ns1017'='nn1,nn2',
'dfs.namenode.rpc-address.ns1017.nn1'='10.198.xxxx:8120',
'dfs.namenode.rpc-address.ns1017.nn2'='10.198.xxxx:8120',
'dfs.client.failover.proxy.provider.ns1017'='org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider'
);

the result will be: ERROR 1105 (HY000): errCode = 2, detailMessage = Missing dfs.ha.namenodes.ns1007,ns1017 property
2023-08-10 10:48:08 +08:00
eafdab0cfd [Enhancement](tvf) Add frontends_disks table-valued-function (#22568)
---------

Co-authored-by: yuxianbing <yuxianbing@yy.com>
Co-authored-by: yuxianbing <iloveqaz123>
2023-08-10 10:40:24 +08:00
b90a7748a6 [Feature](Job Schedule)implement Transient Task Register (#22665)
Implement the TransientTaskRegister to support submitting transient tasks which do not require a timer trigger.
rename some class:
TimerTaskDisruptor -> TaskDisruptor
TimerTaskEvent -> TaskEvent
TimerTaskExpirationHandler -> TaskHandler
AsyncJobManager -> TimerJobManager
MemoryTask -> TransientTask
2023-08-10 10:34:13 +08:00
8591257d74 [fix](nereids) parallel instance number is set to 1 incorrectly (#22748)
make PlanNode.getNumInstance() abstract to force every PlanNode specify how to define its numInstance.
By default, PlanNode.numInstance is 1. PlanNode except exchangeNode should not use this default value directly. PlanNode.numInstance is used for PlanNode which will change numInstance like exchange node.
2023-08-10 10:17:37 +08:00
8a5021c235 [Fix](Sql)NPE when the Delete statement does not specify a where condition (#22766)
Execute Sql

delete from test_table.
2023-08-09 11:51:46,586 WARN (mysql-nio-pool-7|540) [StmtExecutor.analyze():987] Analyze failed. stmt[25, 519f916eeb94a8b-afe8e1094fb39fc1]
java.lang.NullPointerException: null
        at org.apache.doris.rewrite.ExprRewriter.applyRuleBottomUp(ExprRewriter.java:236) ~[classes/:?]
        at org.apache.doris.rewrite.ExprRewriter.applyRule(ExprRewriter.java:226) ~[classes/:?]
        at org.apache.doris.rewrite.ExprRewriter.applyRuleRepeatedly(ExprRewriter.java:216) ~[classes/:?]
        at org.apache.doris.rewrite.ExprRewriter.rewrite(ExprRewriter.java:166) ~[classes/:?]
        at org.apache.doris.rewrite.ExprRewriter.rewrite(ExprRewriter.java:151) ~[classes/:?]
        at org.apache.doris.analysis.DeleteStmt.analyze(DeleteStmt.java:127) ~[classes/:?]
        at org.apache.doris.qe.StmtExecutor.analyze(StmtExecutor.java:983) ~[classes/:?]
        at org.apache.doris.qe.StmtExecutor.executeByLegacy(StmtExecutor.java:660) ~[classes/:?]
        at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:448) ~[classes/:?]
        at org.apache.doris.qe.StmtExecutor.execute(StmtExecutor.java:419) ~[classes/:?]
        at org.apache.doris.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:441) ~[classes/:?]
        at org.apache.doris.qe.ConnectProcessor.dispatch(ConnectProcessor.java:589) ~[classes/:?]
        at org.apache.doris.qe.ConnectProcessor.processOnce(ConnectProcessor.java:826) ~[classes/:?]
        at org.apache.doris.mysql.ReadListener.lambda$handleEvent$0(ReadListener.java:52) ~[classes/:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
        at java.lang.Thread.run(Thread.java:829) ~[?:?]
Fix Result

[HY000][1105] errCode = 2, detailMessage = Where clause is not set
Affected version

2.0-Alpha +
2023-08-10 10:15:49 +08:00
b25d52b736 [feature](cast) remove some unused in functioncast and support some function in nereids (#22729)
1 ConvertImplGenericFromString do not need a template StringColumnType
2 remove timev1 in function cast
3 support time_to_sec , sec_to_time in nereids
2023-08-10 10:10:32 +08:00
919bfd73f1 [improvement](multi-catalog)add scanner isolation class loader (#22247)
Add scanner isolation class loader to make each plugin non-conflicting.
The BE will get scanner classes by JNI call and use JniClassLoader load them.
In the last version,we always get canner classes from the system class path by default,
so it cannot isolate the classes for each scanner
2023-08-10 10:02:46 +08:00
e6b835617b [fix](regression) fix export case (#22790)
Fix a export case because the machine that performs the export is randomized when there are multiple nodes.
2023-08-10 10:00:17 +08:00
df1f67d835 [improve](insert) Support server side prepare insert stmt (#22353) 2023-08-10 09:59:17 +08:00
768088c95e [refactor](udaf) refactor call udaf function and support map type in return (#22508) 2023-08-09 22:44:07 +08:00
0d75a54d6c [fix](compaction) fix null pointer if single replica compaction gets rowset version from peer (#22717) 2023-08-09 20:55:24 +08:00
3b7a0a4713 [fix](cache) Fix enable sql cache lead to FE Full GC or OOM #22769 2023-08-09 19:24:04 +08:00
Pxl
89dc1f73b2 [Bug](materialized-view) make mv matched when preagg have value column predicate contained in mv'where clause (#22779)
1. make mv matched when preagg have value column predicate contained in mv
'where clause
2. fix `org.apache.doris.common.AnalysisException: errCode = 2, detailMessage = BITMAP_UNION need input a bitmap column, but input INVALID_TYPE`
3. make the error message more detailed when create mv stmt parse failed
2023-08-09 19:17:55 +08:00
HB
5147c096ef [Enhancement] Add an API to query session information for all FEs (#20134)
Currently, Doris only has one interface for querying specific FE session information, and many times we need to know how many session information there are in the current cluster, so I added this API.

`
GET /rest/v1/session/all

{
"msg": "success",
"code": 0,
"data": {
"column_names": ["FE", "Id", "User", "Host", "Cluster", "Db", "Command", "Time", "State", "Info"],
"rows": [{
"FE": "10.14.170.23",
"User": "root",
"Command": "Sleep",
"State": "",
"Cluster": "default_cluster",
"Host": "10.81.85.89:31465",
"Time": "230",
"Id": "0",
"Info": "",
"Db": "db1"
},
{
"FE": "10.14.170.24",
"User": "root",
"Command": "Sleep",
"State": "",
"Cluster": "default_cluster",
"Host": "10.81.85.88:61465",
"Time": "460",
"Id": "1",
"Info": "",
"Db": "db1"
}]
},
"count": 2
}
`
2023-08-09 19:02:45 +08:00
e6a860fc9e [memo](nereids) record the chosen group expression in Group (#22661)
1. remember the chosen plan in group
2. set groupId after RecomputeLogicalPropertiesProcessor
2023-08-09 18:44:46 +08:00
2019bb3870 [fix](bitmap) fix wrong result of bitmap intersect functions (#22735)
* [fix](bitmap) fix wrong result of bitmap intersect functions

* fix test case
2023-08-09 18:31:24 +08:00
21beebde7d [fix](taskgroup) Fix task group overcommit memory GC profile (#22764) 2023-08-09 18:29:46 +08:00
2a13d15d20 [feature](Nereids): disable join order when the join number > 63 (#22708) 2023-08-09 17:09:38 +08:00
9422494064 [docs](docs)Rename Title and URL of HLL Functions (#22728) 2023-08-09 15:53:39 +08:00
58ef388c32 [docs](docs)Rename Title and URL of JSON Functions (#22732) 2023-08-09 15:53:25 +08:00
af5f3ae2a6 [docs](docs)Rename Title & URL and Change Category Name as Numeric of Math Functions (#22733) 2023-08-09 15:52:49 +08:00
2fb7aba9bc [docs](docs)Rename Title and URL of IP Functions (#22741) 2023-08-09 15:52:35 +08:00
910863b329 [docs](docs) Rename Window Functions (#22742) 2023-08-09 15:52:22 +08:00
780ba83d91 [docs](docs)Rename the Files Without Category of Sql Functions (#22746) 2023-08-09 15:51:47 +08:00
61e661d389 [docs](docs)Rename Title and URL of Table Functions (#22747) 2023-08-09 15:51:15 +08:00
c443bce141 [docs](docs)Delete Dash Between Title of Benchmark (#22751) 2023-08-09 15:51:01 +08:00
bf29110856 [docs](docs)Rename Title of FAQ-CN Version (#22752) 2023-08-09 15:50:44 +08:00
4332e15800 [docs](docs)Rename Title and URL of Hash Functions (#22726) 2023-08-09 15:50:23 +08:00
ed91ce5b1a [docs](docs)Rename Title and URL of Conditional Functions (#22725) 2023-08-09 15:49:11 +08:00
1625a7993c [docs](docs)Rename Title and URL of Bitmap Functions (#22721) 2023-08-09 15:48:16 +08:00
1cd99c27e2 [CI](docs)Add deadlink check (#22736) 2023-08-09 14:58:37 +08:00
77d3d4e324 [fix](cache) add sql cache conf cache_result_max_data_size (#22645)
Only the maximum number of rows in sql cache cache_result_max_row_count is not enough. If a row of data is too large, FE may OOM.
2023-08-09 14:46:23 +08:00
1d1077c3b6 [bugfix](fd) Recycle the segment file fds directly when delete stale rowset (#22705) 2023-08-09 14:45:56 +08:00
19a2617d70 [docs](streamload) improve some formatting (#22659) 2023-08-09 14:38:22 +08:00
690a519742 [fix](Nereids) disable or expansion when pipeline engine is disable (#22719) 2023-08-09 14:33:50 +08:00
31a4d6059e [fix](case) if enable_feature_binlog=false in frontend config, no nee… (#22692)
if enable_feature_binlog=false in frontend config, no nee…
2023-08-09 13:15:50 +08:00
445bebb4cb [docs](docs)Rename Titles & URL and Add Histogram Files of Aggregate Functions (#22720) 2023-08-09 13:13:07 +08:00
512af9b2ff [docs](docs)Rename Title and URL of Struct Functions (#22712) 2023-08-09 13:12:48 +08:00
7164dd09e6 [docs](docs) Rename Title and URL of String Functions (#22711) 2023-08-09 13:12:26 +08:00
d7ea27a5c7 [docs](docs) Rename Title and URL of GIS Functions (#22704) 2023-08-09 13:12:10 +08:00
9533918d4f [fix](delete) Fix parsing error of delete where date statement (#22690) 2023-08-09 12:33:03 +08:00
a8d690272f [refactor](Nereids) let topn runtime filter as PhysicalTopN's attr (#22745)
The original implement use MutableMap on PhysicalTopN.
It is easy to lose if we rewrite the plan after this processor.
The new implement use attr to indict whether use topn runtime filter
2023-08-09 12:13:21 +08:00
7890e464ee [fix](case) 1. disable unstable case window_function 2. add sync after stream load (#22677)
* Update test_dup_tab_auto_inc_with_null.groovy,add sync after streamload

* Update test_unique_table_auto_inc.groovy, add sync after streamload* [fix](case) disable unstable case window_function
2023-08-09 11:03:31 +08:00
4608dcb2d9 [fix](agg) fix coredump caused by push down count aggregation (#22699)
fix coredump caused by push down count aggregation
2023-08-09 10:21:20 +08:00
a778027569 [typo](docs)Modified description of JSON /String size (#21694) 2023-08-09 10:00:25 +08:00
508cbe030b [Chore](binlog) Refactor TABLET_MISSING in ingest_binlog && set_tstatus (#22727)
Signed-off-by: Jack Drogon <jack.xsuperman@gmail.com>
2023-08-09 09:58:54 +08:00
d3baac2952 [improvement](resource-tag) Add Backend tag location check (#22670)
Add Backend tag location check.
Avoid user set a bad backend tag, cause create table and dynamic partitions failed.
For example, the default value for all backends tag is default, When setting the replication_allocation of a table, user use the following command: ALTER TABLE example_db.mysql_table SET ("replication_allocation" = "tag.location.tag1: 1");, it can set success, but tag1 is not exist, cause dynamic partition can't create.
2023-08-09 00:08:34 +08:00
4359089b9c [fix](delete-pred) fix special char in delete sub condition #22667
For some users, their delete condition may contain special chars like '$', which will cause failure in parsing delete condition.
2023-08-09 00:04:26 +08:00
7bfcee6e71 [improvement](variable) add annotations for variables (#22292) 2023-08-08 22:16:42 +08:00
124c1b16cf [performance](load) remove unnecessary lock in TabletsChannel::add_batch (#22703)
This lock was introduced by lazy open in #18874.
It's unnecessary and costly to hold a lock while writing data to DeltaWriter in the first place.

However, since lazy open is reverted in #21821, we can completely omit this lock.
_tablet_writers is not supposed to be changed once we've reached TabletsChannel::add_batch.
2023-08-08 22:08:21 +08:00