Commit Graph

6608 Commits

Author SHA1 Message Date
f26b81e4dd [feature](multi-catalog) Change DatabaseIf APIs' return type to TableIf. (#10044)
Change the DatabaseIf APIs' return type to TableIf.
Use generics in DatabaseIf, to avoid changing the return type in Database.
Currently Database class use type Table, I'm try to avoid changing it to TableIf.
Because in this case, we need to change a lot of code.
2022-06-13 10:55:44 +08:00
6abc3da467 [doc] add description ofd[DEFAULT CURRENT_TIMESTAMP] (#10053) 2022-06-13 09:10:46 +08:00
8af9339b00 [BUGFIX] Fix wrong column types in result file sink (#10079) 2022-06-13 09:05:11 +08:00
797f6e1472 [Enhancement]Decode bitshuffle data before adding it into PageCache (#10036)
* [Enhancement]Decode bitshuffle data before add into PageCache

* Fix be ut failed
2022-06-13 09:04:23 +08:00
415b6b8086 [feature-wip](array-type) Support array type which doesn't contain null (#9809) 2022-06-12 23:35:28 +08:00
bf984c1e80 [test] Add drop force to cases associated with ALTER operations (#10049) 2022-06-12 21:27:44 +08:00
036276c1d3 [fix] Do not send drop task when replay drop table (#10062)
When doing checkpoint, FE will sends DropTask to BE.
This PR prohibit this conduct.
2022-06-12 09:59:38 +08:00
3f575e3e7c [fix](planner) produce wrong result when use bucket shuffle join with colocate left table (#10045)
When plan bucket shuffle join, we need to know left table bucket number.
Currently, we use tablet number directly based on the assumption that left table has only one partition.
But, when left table is colocated table, it could have more than one partition.
In this case, some data in right table will be dropped incorrectly and produce wrong result for query.

reproduce could follow regression test in PR.
2022-06-11 21:44:47 +08:00
990a2940ca [metric] add some metrics for cpu and memory (#9887)
1. add some metrics for cpu monitor;
2. add metrics for process state monitor;
3. add metrics for memory monitor;

It is convenient for us to use grafana to filter through different conditions.

After the added, we can find the cpu metrics like this:
doris_be_cpu{device="cpu1",mode="guest_nice"} 0
doris_be_cpu{device="cpu1",mode="guest"} 0
doris_be_cpu{device="cpu1",mode="steal"} 0
doris_be_cpu{device="cpu1",mode="soft_irq"} 107168
doris_be_cpu{device="cpu1",mode="irq"} 0
doris_be_cpu{device="cpu1",mode="iowait"} 3726931
doris_be_cpu{device="cpu1",mode="idle"} 2358039214
doris_be_cpu{device="cpu1",mode="system"} 58699464
doris_be_cpu{device="cpu1",mode="nice"} 1700438
doris_be_cpu{device="cpu1",mode="user"} 54974091

we can find the memory metrics as follow:
doris_be_memory_pswpin 167785
doris_be_memory_pswpout 203724
doris_be_memory_pgpgin 22308762092
doris_be_memory_pgpgout 152101956232


we also can find the process metrics as follow:
doris_be_proc{mode="interrupt"} 421721020416
doris_be_proc{mode="ctxt_switch"} 2806640907317
doris_be_proc{mode="procs_running"} 8
doris_be_proc{mode="procs_blocked"} 3
2022-06-10 19:45:31 +08:00
a7cca930b9 [fix](planner) fix don't rewrite nested union statement bug (#8513)
Issue Number: close #8512
2022-06-10 19:43:45 +08:00
e0cf2677a0 [dependency][enhancement] support build libhdfs in arm cpus (#10018)
Supports native hdfs functionality on arm cpu
This pr mainly upgrades libdfs3 and supports running on arm,and make libhdfs3 with kerberos as default
2022-06-10 19:40:41 +08:00
4135e59f77 [fix](fe) select stmt will make BE coredump when its castExpr is like cast(int as array<>) (#9995)
* [fix](fe) select stmt will make BE coredump when its castExpr is like cast(int as array<>)

* fix implicit cast scalar type bug

* Revert "fix implicit cast scalar type bug"

This reverts commit 1f05b6bab72430214dca88f386b50ef9a081e60a.

* only check array cast, retrigger
2022-06-10 15:03:09 +08:00
Pxl
495c34fa29 [Bug] [Vectorized] code dump on aggregate node over union node (#10040)
* miss check passthrough on vectorized

* format and add test

* update
2022-06-10 15:02:14 +08:00
81a9284305 [improvement][refactor](image) refactor the read and load method of meta image #10005 2022-06-10 14:56:14 +08:00
27b3c76ce0 [fix]Document image path error (#10050)
Document image path error
2022-06-10 14:34:26 +08:00
Pxl
979c81b066 [bugfix] signed long will be converted to signed long during dcheck and cause dcheck fail (#10047) 2022-06-10 14:26:38 +08:00
4a474420c8 [feature](function) Add ntile function (#9867)
Add ntile function.
For non-vectorized-engine, I just implemented like Impala, rewrite ntile to row_number and count.
But for vectorized-engine, I implemented WindowFunctionNTile.
2022-06-10 10:32:40 +08:00
a34d4b55f9 [dependency] Add opentelemetry related third-party library. (#9990) 2022-06-10 09:59:07 +08:00
47ca743957 [tpch] fix q17 rewrite error (#10030)
the current tpch q17 rewrite is not equivalent to original q17. it missed one condition
2022-06-10 09:17:10 +08:00
98c214e43a [doc] add create table statement for create-materialized-view doc (#10029) 2022-06-10 09:16:46 +08:00
1a31af0d85 [doc] Optimize cluster upgrade and binlog load document modification, restore adds common errors (#10027)
1.restore adds common errors
2.Optimize cluster upgrade documentation
3.Modify binlog documentation
2022-06-10 09:16:22 +08:00
1220cc147d [feature](vectorized) Support outfile on vectorized engine (#10013)
This PR supports output csv format file on vectorized engine.

** Parquet is still not supported. **
2022-06-10 09:15:53 +08:00
3363b3aa19 [fix](load) fix streamload failure due to false unhealthy replica in concurrent stream load (#10007)
in concurrent stream load, fe will run publish version task concurrently,
which cause publish task disorder in be.
For example:
fe publish task with version 1 2 3 4
be may handle task with sequence 1 2 4 3
In case above, when report tablet info, be found that version 4
published but version 3 not visible, it'll report version miss to fe,
and fe will set replica lastFailedVersion, and finally makes transaction
commits fail while no quorum health replicas。

Add a time condition if a version miss for 60 seconds then report version miss.
2022-06-10 09:15:14 +08:00
d247d06180 [Improvement] refine codes in TabletReader (#10042)
fast merge: just remove some code have no affect to other components
2022-06-10 09:12:33 +08:00
a45bf53af3 [website][doc]fix docs bugs with sidebar can not display and some style problems (#10039)
* fix docs bugs with sidebar can not display and some style problems
2022-06-10 08:49:37 +08:00
73a3093539 [dependency] add hyperscan and its dependency ragel to thirdparty (#9964) 2022-06-09 23:36:09 +08:00
9c1ba771da [fix](be) fix asan be set_storage_medium core (#9986) (#9987)
https://github.com/apache/incubator-doris/issues/9986
2022-06-09 23:12:58 +08:00
dc874709d7 [feature-wip](array-type) support array<decimal128> in mysql_result_writer (#9998) 2022-06-09 15:15:26 +08:00
6fab1cbf3c [feature-wip](array-type) Add array functions size and cardinality (#9921)
Co-authored-by: cambyzju <zhuxiaoli01@baidu.com>
2022-06-09 15:03:03 +08:00
9bc82542fd [test] add bitmap index regression test (#10008) 2022-06-09 12:19:07 +08:00
050cbba6e5 [fix][hudi] use lowerCase to get hudi fileFormatType (#9873)
use lowerCase of inputFormatName to get hudi fileFormatType
2022-06-09 12:13:02 +08:00
19bc14cf8d [feature-wip](array-type) Add array type support for vectorized parquet-orc scanner (#9856)
Only support one level array now.
for example:
- nullable(array(nullable(tinyint))) is **support**.
- nullable(array(nullable(array(xx))) is **not support**.
2022-06-09 12:11:47 +08:00
bf8b4fb2d3 [Bugfix] be crash when executing sql contains bitmap_intersect function (#9910)
* fix bitmap serialize bug

* add regression test for bitmap seralize bugfix

* add missing regression test out file

* fix reggresion test failed issue
2022-06-09 08:45:46 +08:00
e5ed259da6 [fix](regression-test) fix the comparison errors caused by inconsistent accuracy (#9931) 2022-06-09 00:35:22 +08:00
449bfe10d1 fix: fix a thread safe problem in LoadAction.java (#9955) 2022-06-09 00:34:07 +08:00
688f8f6e90 [test] Fix date function regression test case. (#9966) 2022-06-09 00:33:35 +08:00
342ab52270 [fix] Fix type description in PrimitiveType (#9985) 2022-06-09 00:30:32 +08:00
99fb830023 [feature] datetime column type support auto-initialized with default … (#9972) 2022-06-09 00:28:03 +08:00
9c52b4a508 [enhance] improve dict in-predicate evaluate (#10009) 2022-06-09 00:25:30 +08:00
5f56e17ef2 [feature-wip](multi-catalog)(step2) Introduce Internal Data Source (#9953) 2022-06-08 22:02:22 +08:00
2d39cffa5c [doc](website)Add Doris new official website code and documents (#9977)
In order to cooperate with Doris's successful graduation from Apache, the Doris official website also needs a new look
and more powerful feature, so we decided to redesign the Doris official website.
The code and documents of the new official website are included in this PR.

Since the new website is completely rewritten, the content and structure of the project are different from the previous one. 
In particular, the directory structure of documents has changed, and the number of documents is large, so the number of 
files in this PR is very large.

In the old website,all English documents are in the en/ directory, and Chinese documents in the zh-CN/ directory,
but in the new website,the documents are split into multiple directories according to the nav.
The document's directory structure changes as follows:
```
docs (old website)
|   |—— .vuepress (library)
|   |—— en
|   |   |—— admin-manual 
│   │   |—— advanced
|   |   |—— article
|   |   |—— benchmark
|   |   |—— case-user
|   |   |—— community
|   |   |—— data-operate
|   |   |—— data-table
|   |   |—— design
|   |   |—— developer-guide
|   |   |—— downloads
|   |   |—— ecosystem
|   |   |—— faq
|   |   |—— get-starting
|   |   |—— install
|   |   |—— sql-manual
|   |   |—— summary
|   |   |___ README.md
|   |—— zh-CN
...

docs (new website)
|   |—— .vuepress (library)
|   |—— en
|   |   |—— community (unchanged, community nav)
│   │   |—— developer (new directory, developer nav)
│   │   |   |—— design (moved from en/design)
│   │   |   |__ developer-guide (moved from en/developer-guide)
|   |   |—— docs (new directory, all children directories moved from en/, document nav)
│   │   |   |—— admin-manual 
│   │   |   |—— advanced
│   │   |   |—— benchmark
│   │   |   |—— data-operate
│   │   |   |—— data-table
│   │   |   |—— ecosystem
│   │   |   |—— faq
│   │   |   |—— get-starting
│   │   |   |—— install
│   │   |   |—— sql-manual
│   │   |   |—— summary
|   |   |—— downloads (unchanged, downloads nav)
|   |   |—— userCase (moved from en/case-user, user nav)
|   |   |___ README.md
|   |—— zh-CN
...
```
2022-06-08 17:45:12 +08:00
d9bbf67b9e [DefaultConfigChange]enable query vectorization and storage vectorization and storage low cardinality optimization by default (#9848)
Co-authored-by: yiguolei <yiguolei@gmail.com>
2022-06-08 15:29:43 +08:00
94089b9192 [Refactor] Use file factory to replace create file reader/writer (#9505)
1. Simplify code logic and improve abstraction
2. Fix the mem leak of raw pointer

Co-authored-by: lihaopeng <lihaopeng@baidu.com>
2022-06-08 15:07:39 +08:00
2ed523440f [fix](planner) passthrough child in SetOperationNode is wrong when enable vector engine (#9991)
In SetOperationNode we do passthrough, if we child output is same with itself output.
In method isChildPassthrough we only consider memory layout.
When we use vectorized engine, we need to use SlotDesc offset in TupleDesc instead of
memory layout to check whether pass-through can be performed
2022-06-08 14:12:04 +08:00
fc9afda97a [enhancement][diagnostics] Add a diagnostic: detect unused includes (#9117) 2022-06-08 11:52:48 +08:00
b15b1a9f07 [tools](tpc-h) Modify tpch tools (#9982)
1. Modify the create table stmt.
2. Modify part of queries.
2022-06-08 11:21:57 +08:00
35c3e4e33c [Bug] runtime filter is not used as expected (#10001)
* [Bug] runtime filter is not used as expected

* update
2022-06-08 11:10:39 +08:00
dcdfc5b32a [fix](coordinator) fix bug that unable to generate query profile (#10002)
This bug was introduced from #9720
2022-06-08 10:59:15 +08:00
b6c45327ed [revert](test) delete bitmap_index test case (#9999)
This test may cause endless loop
2022-06-08 08:56:23 +08:00
e97d835ba7 [feature](statistics) Statistics derivation.Step 2:OtherNode implemen… (#9458)
closed #9644

Second step of statistics derivation: implementation of nodes other than scan_node.
The statistical information derivation interface of all nodes is uniformly placed in DeriveFactory.java.
Added one-sided to verify the derivation is correct.

Statistics derivation for each node is placed in its own *StatsDerive.java
detailed design: https://docs.google.com/document/d/1u1L6XhyzKShoyYRwFQ6kE1rnvY2iFwauwg289au5Qq0/edit
2022-06-07 21:10:28 +08:00