Commit Graph

16428 Commits

Author SHA1 Message Date
ece5f8e86c [pipelineX](fix) Fix input data distribution for distinct streaming agg (#29980) 2024-01-16 18:42:09 +08:00
c7d3b833c5 [fix](ci) Update .asf.yaml (#30004) 2024-01-16 18:42:09 +08:00
0afb4561cd [chore](ci) replace clickbench pipeline to performance pipeline (#29929) 2024-01-16 18:42:09 +08:00
66513d57f9 [feature](function) support ip function named ipv6_cidr_to_range(addr, cidr) (#29812) 2024-01-16 18:42:09 +08:00
43597afe2c [bugfix](core) writer status is read and write concurrently and will core by use after free (#29982)
Co-authored-by: yiguolei <yiguolei@gmail.com>
2024-01-16 18:42:09 +08:00
0ea5f0f5de [fix](Nereids): fix offset in PlanTranslator (#29789)
Current BE operator don't support `offset`, we need add offset into `ExchangeNode`
2024-01-16 18:41:21 +08:00
8433169e5e [test](regression-test) fix case bug, add 'order by' to make it stable (#29981) 2024-01-16 18:41:21 +08:00
d5dcdf3e07 [Improve](array) support array_enumerate_uniq and array_suffle for nereids (#29936) 2024-01-16 18:40:32 +08:00
c9cf9ab841 [pipelineX](improvement) Improve data distribution for streaming agg (#29969) 2024-01-16 18:40:32 +08:00
94bfa6e46d [fix](Nereids): fix wrong api calling (#29977) 2024-01-16 18:40:32 +08:00
b99b9efda8 [fix](Nereids) top-n with top project should hit top-n opt (#29971)
in PR #29312, we limit top-n opt only enable in simplest cases.
in this PR, we let go of some restrictions.
2024-01-16 18:40:32 +08:00
9e30a67a2a [Improve](topn opt) avoid crash when rpc returned row contains duplicated row entry (#29872)
1. Add more info to trace potential bug and avoid crash
2. use correct permutation size to do `column->permute`
2024-01-16 18:40:31 +08:00
e09118eb9c extract agg in struct info node (#29853) 2024-01-16 18:39:37 +08:00
ffc6f58e85 [pipelineX](fix) Fix incorrect partition number (#29963) 2024-01-16 18:39:37 +08:00
9282ff8e56 [asf] remove some collaborators (#29967)
There should be at most 10 collaborators
2024-01-16 18:39:06 +08:00
be893d792c [fix](jni) fix jni_reader function name get_nex_block to get_next_block (#29943) 2024-01-16 18:39:00 +08:00
f6dc6ea13b [improvement](catalog) Escape characters for columns in recovery predicate pushdown in SQL (#29854)
In the previous logic, when we restored the Column in the predicate pushdown based on the logical syntax tree for JdbcScanNode, in order to avoid query errors caused by keywords such as `key`, we added escape characters for it, but before we only Binary predicates are processed, which is imperfect. We should add escape characters to all columns that appear in the predicate to avoid errors with keywords or illegal characters.
2024-01-16 18:39:00 +08:00
05a65b9f81 [improve](join) remove join probe dependency of wait rf publish finish #29792 2024-01-16 18:39:00 +08:00
e35b26f4fc [feature](auditlog)Add runtime cpu time/peak memory metric (#29925) 2024-01-16 18:39:00 +08:00
97955da749 [enhancement](fe-memory) support label num threshold to reduce fe memory consumption (#22889)
Co-authored-by: Yongqiang YANG <98214048+dataroaring@users.noreply.github.com>
2024-01-16 18:38:54 +08:00
b7b8e59392 [opt](scanner) use buffered queue to avoid acquiring locks frequently (#29938) 2024-01-16 18:37:44 +08:00
3f20e28f3d [doc](jvm) Correct the jvm parameters of be (#29958) 2024-01-16 18:37:44 +08:00
b47e289560 [refactor](Nereids): avoid ConnectContext.get() ASAP to improve proformance (#29952) 2024-01-16 18:37:44 +08:00
54d23e0f8e [typo](docs) fix default value display exception (#29859)
---------

Co-authored-by: hechao <hechao@selectdb.com>
2024-01-16 18:37:44 +08:00
7a574df9fc [fix](pipelineX) fix multi be may be missing profiles #29914 2024-01-16 18:37:44 +08:00
fd66ce0928 [enhancement](docs) Clarify the requirement for JDK exact version 8 in install guide (#29921)
* docs: Clarified the requirement for JDK exact version 8

* fix: Update code
2024-01-16 18:37:44 +08:00
c8845c9e07 [opt](scanner) Improve the efficiency of TOPN opt (#29937) 2024-01-16 18:37:44 +08:00
fd59a3e3a8 [chore](Fix) Fix uninitilized buffer in read_cluster_id() (#29949) 2024-01-16 18:37:40 +08:00
9773fef4a1 [fix](class-loader) fix class loader conflict on BE side (#29942)
1. make `hadoop-common` in be java extension as `provided`.
2. must load be java extension jars before hadoop jars
2024-01-16 18:37:06 +08:00
4b4fd1a290 [improvement](log) add txn log (#28875) 2024-01-16 18:37:06 +08:00
8ca807578f [fix](migrate disk) fix migrate disk lost data during publish version (#29887)
Co-authored-by: Yongqiang YANG <98214048+dataroaring@users.noreply.github.com>
2024-01-16 18:37:06 +08:00
4efc8647de [deps](hadoop) update hadoop on BE side to 3.3.6 (#29939)
Same as on FE side
2024-01-16 18:37:02 +08:00
2bb83f7621 [fix](schema cache) adjust the destruction order of _tablet_schema_cache and storage engine (#29923) 2024-01-16 18:36:51 +08:00
74e4486c65 [fix](partition) Add more log for single replica load when partition id eq 0 (#28707) 2024-01-16 18:35:32 +08:00
615d94bbc7 [log](insertadd log in parse insert into values data (#29903) 2024-01-16 18:35:32 +08:00
7309061db4 [pipelineX](improvement) Adjust local exchange strategy (#29915) 2024-01-16 18:35:32 +08:00
25428bd7fb [fix](kerberos) fix BE kerberos ccache renew, optimize kerbero options (#29291)
1. we need  remove BE kinit, and use jni login with keytab, because kinit cannot renew TGT for doris in many complex cases.
> This pull requet will support new instance from keytab: https://github.com/apache/doris-thirdparty/pull/173, so now we  won't need kinit cmd, just login with keytab and principal

2. add `kerberos_ccache_path` to set kerberos credentials cache path manually.

3. add `max_hdfs_file_handle_cache_time_ms` to set hdfs fs handle cache time.
2024-01-16 18:35:29 +08:00
5e697990a8 [bugfix](timeout) serving_blocks_num may cause timeout, try to fix it (#29912)
Although serving_blocks_num is an atomic variable. It's ++ and -- are not protected by transfer lock.
I am not sure the memory order of ++ and --.
I think it maybe the root cause of query timeout. So that I remove the check and test it in github pipeline.
2024-01-16 18:34:19 +08:00
a836f41854 [enhance](serde)update slice reserve and deduce slice back usage #29879 2024-01-16 18:33:51 +08:00
620cfc3cd7 [fix](move-memtable) set idle timeout equal to load timeout (#29839) 2024-01-16 18:33:51 +08:00
a974e96841 [community](tool) add a tool to pick pr from one branch to another (#29764) 2024-01-16 18:33:51 +08:00
d48c8a1dce [test](ut) added UT cases for show partitions external table (#29565) 2024-01-16 18:33:51 +08:00
e5c8192d47 [ut](stats) Added tests for JDBC analysis tasks (#28591) 2024-01-16 18:33:51 +08:00
612186e657 [doc](sql-dialect)(audit) add doc for sql dialect and audit plugin (#29775) 2024-01-16 18:33:51 +08:00
c599cf311d [fix](migrate) migrate check old tablet had deleted (#29909) 2024-01-16 18:33:51 +08:00
e3a1138da7 [fix](migrate disk) fix tablet disk migration timeout too large (#29895) 2024-01-16 18:33:51 +08:00
7c493b08c5 [refactor](dialect) make http sql converter plugin and audit loader as builtin plugin (#29692)
Followup #28890

Make HttpSqlConverterPlugin and AuditLoader as Doris' builtin plugin.
To make it simple for user to support sql dialect and using audit loader.

HttpSqlConverterPlugin

By default, there is nothing changed.

There is a new global variable sql_converter_service, default is empty, if set, the HttpSqlConverterPlugin will be enabled

set global sql_converter_service = "http://127.0.0.1:5001/api/v1/convert"

AuditLoader

By default, there is nothing changed.

There is a new global variable enable_audit_plugin, default is false, if set to true, the audit loader plugin will be enable.

Doris will create audit_log in __internal_schema when startup

If enable_audit_plugin is true, the audit load will be inserted into audit_log table.

3 other global variables related to this plugin:

audit_plugin_max_batch_interval_sec: The max interval for audit loader to insert a batch of audit log.
audit_plugin_max_batch_bytes: The max batch size for audit loader to insert a batch of audit log.
audit_plugin_max_sql_length: The max length of statement in audit log
2024-01-16 18:31:59 +08:00
a69ce49b07 [fix](Nereids) adjust min/max stats for cast function if types are comparable (#28166)
estimate column stats for "cast(col, XXXType)"

-----cast-est------
query4 41169 40335 40267 40267
query58 463 361 401 361
Total cold run time: 41632 ms
Total hot run time: 40628 ms

----master------
query4 40624 40180 40299 40180
query58 487 389 420 389
Total cold run time: 41111 ms
Total hot run time: 40569 ms
2024-01-16 18:31:59 +08:00
bbfc3d037e [doc](auto-inc) Add user oriented doc for auto increment column (#29230) 2024-01-16 18:31:59 +08:00
0b16938b7f [Fix](Nereids) Fix datatype length wrong when string contains chinese (#29885)
When varchar literal contains chinese, the length of varchar should not be the length of the varchar, it should be 
the actual length of the using byte.
Chinese is represented by unicode, a chinese char occypy 4 byte at mostly. So if meet chinese in varchar literal, we 
set the length is 4* length.

for example as following:
>        CREATE MATERIALIZED VIEW test_varchar_literal_mv
>             BUILD IMMEDIATE REFRESH AUTO ON MANUAL
>             DISTRIBUTED BY RANDOM BUCKETS 2
>             PROPERTIES ('replication_num' = '1')
>             AS
>             select case when l_orderkey > 1 then "一二三四" else "五六七八" end as field_1 from lineitem;

mysql> desc test_varchar_literal_mv;
the def of materialized view is as following:
+---------+-------------+------+-------+---------+-------+
| Field   | Type        | Null | Key   | Default | Extra |
+---------+-------------+------+-------+---------+-------+
| field_1 | VARCHAR(16) | No   | false | NULL    | NONE  |
+---------+-------------+------+-------+---------+-------+
2024-01-16 18:31:59 +08:00