Commit Graph

8724 Commits

Author SHA1 Message Date
958aee38e9 [fix](Nereids): fix Master Bors problem. (#16794) 2023-02-16 01:53:53 +08:00
de8d884ec3 [Fix](multi catalog)Fix iceberg parquet file doesn't have iceberg.schema meta problem (#16764)
To support schema evolution, Iceberg add schema information to Parquet file metadata.
But for early iceberg version, it doesn't write any schema information to Parquet file.
This PR is to support read parquet without schema information.
2023-02-16 00:08:59 +08:00
5c29a9ef1a [community](team) add new PMC members and committers (#16796) 2023-02-15 23:07:16 +08:00
dd06cc7609 [pipeline](shuffle) Improve broadcast shuffle (#16779)
Now we reuse buffer pool for broadcast shuffle on pipeline engine. This PR ensures that a pipeline with a broadcast shuffle sink will not be scheduled if there are no available buffer in the buffer pool
2023-02-15 22:03:27 +08:00
611d9aca10 [feature](docker)Add Docker Broker Init Script (#16733)
Add Docker Broker Init Script
2023-02-15 19:26:01 +08:00
ecadd4b392 [feature](Nereids): add OuterJoinAssoc rule (#16676)
* move isIntersecting.

* [feature](Nereids): add OuterJoinAssoc rule

* fix bug

* fix
2023-02-15 19:19:28 +08:00
fe9b2fb803 fix bug, rename thread (#16780) 2023-02-15 18:51:22 +08:00
Pxl
f4ed52906a [Feature](Materialized-View) change mv rewrite from bottom up to up bottom && Compatible with old … (#16750)
1.change mv rewrite from bottom up to up bottom
2.compatible with old version mv
3.restore some ut codes (but disable)
4. fix some ut introduced by [fix](planner)fix bug for missing slot #16601 and [Feature](Materialized-View) support multiple slot on one column in materialized view #16378
2023-02-15 17:24:46 +08:00
0c56a4622c [Feature](struct-type) Add implicitly cast for struct-type (#16613)
Currently not support insert {1, 'a'} into struct<f1:tinyint, f2:varchar(20)>
This commit will support implicitly cast the char type in the struct to varchar.
Add implicitly cast for struct-type.
2023-02-15 16:55:00 +08:00
Pxl
f50edff59d [Chore](build) enable fallthrough check annd fix some fallthrough bug (#16748)
* enable fallthrough check annd fix some fallthrough bug

* fix

* fix
2023-02-15 15:58:43 +08:00
585b74b175 [chore](workflow) Fix Ubuntu package conflicts by skipping apt upgrade (#16754)
In `Build Third Party Libraries (Linux)` job, some errors occur due to the package conflicts. This PR fixes these errors by skipping the command `apt upgrade`.

```
Unpacking odbcinst1debian2:amd64 (2.3.11) ...
dpkg: error processing archive /tmp/apt-dpkg-install-SY6NPA/43-odbcinst1debian2_2.3.11_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/libodbcinst.so.2.0.0', which is also in package libodbcinst2:amd64 2.3.9-5
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)1
```
2023-02-15 15:22:08 +08:00
a6bda81dba [Fix](profile) fix /query_profile action. (#16540)
Co-authored-by: wangxiangyu@360shuke.com <wangxiangyu@360shuke.com>
2023-02-15 14:27:21 +08:00
ad46e529d8 [feature](Nereids): Infer isNotNull from filter and eliminate OuterJoin (#16411) 2023-02-15 13:33:21 +08:00
0664186efe fix doc (#16769) 2023-02-15 13:25:31 +08:00
13134c1bfe [fix](fe)should check slot from both lhs and rhs of outputSmap of join node for colocate join (#16738)
colocated join is depended on if the both side of the join conjuncts are simple column with same distribution policy etc. So the key is to figure out the original source column in scan node if there is one. To do that, we should check the slot from both lhs and rhs of outputSmap in join node.
2023-02-15 12:44:20 +08:00
69c70d27bd [Refactor](auth) Add AccessController to support customized authorization (#16679)
In current implementation, the class Auth is used for:

Manager all authentication and authorization info such as user, role, password, privileges.
Provide an interface for privilege checking
Some user may want to integrate external access management system such as Apache Ranger.
So we should provide a way to let user set their own access controller.

This PR mainly changes:

A new class SystemAccessController
This access controller is used to check the global level privileges and resource privileges.

A new interface CatalogAccessController
This interface is used to check catalog/database/tbl level privileges.
It has a default implements InternalCatalogAccessController.

All privilege checking methods are moved from Auth to either SystemAccessController or
InternalCatalogAccessController

A new class AccessControllerManager
This is the entry point of privilege authentication. All methods previously called from Auth
now are called from AccessControllerManager

Now, user can implement the interface CatalogAccessController to use their own access controller.
And when creating external catalog, user can specified the access controller class name, so that
different external catalog can use different access controller.
2023-02-15 11:40:44 +08:00
9b8c91e18c [improvement](rowset reader) fix possible memleak (#16680)
* [improvement](rowset reader) fix possible memleak

* fix be UT
2023-02-15 11:13:31 +08:00
db9319b881 [refactor](Nereids) add two phase sort (#16586)
1. Add a rule that generates two-phase sort and one-phase sort
2. Add phase for PhysicalSort

TODO: I'll remove PhysicalLocalSort in next PR.
2023-02-15 10:40:57 +08:00
92417cedec MOD: Reduce clang version (#16755) 2023-02-15 08:58:17 +08:00
040a715251 [docs](releasenote)1.2.2 release note (#16766) 2023-02-15 08:57:52 +08:00
d013d529c8 [Feature](ipv6)Support IPV6 (#14063)
Support IPV6 in Apache Doris, the main changes are:
1. enable binding to IPV6 address if network priority in config file contains an IPV6 CIDR string
2. BRPC and HTTP support binding to IPV6 address
3. BRPC and HTTP support visiting IPV6 Services
2023-02-14 21:43:10 +08:00
7482b6bad2 [fix](cooldown) Add cold_compaction_lock to serialize any operations which may delete the input rowsets of cold data compaction (#16742)
Add cold_compaction_lock to serialize tablet clone, cold data compaction and follow cooldowned data
2023-02-14 21:38:33 +08:00
acf5540a9f [fix](planner)Fix colocate query failed #16459
Issue Number: close #16458
Co-authored-by: wangbo36@meituan.com <wangbo36@meituan.com>
2023-02-14 18:51:28 +08:00
4444abc828 avoid contruct groupExpr in graph-simplifier (#16436)
Signed-off-by: xiejiann <jianxie0@gmail.com>
2023-02-14 17:03:21 +08:00
784c27deeb [Bug](shuffle) fix mem leak in data stream sender (#16685) 2023-02-14 16:40:13 +08:00
Pxl
ea78184551 [Feature](Materialized-View) support multiple slot on one column in materialized view (#16378) 2023-02-14 16:10:50 +08:00
4a6fd7cc30 [feature](docker) Add Docker BE computer node Interface (#16630) 2023-02-14 15:44:26 +08:00
f1b9185830 [feature](cooldown) Implement cold data compaction (#16681) 2023-02-14 15:21:54 +08:00
5e80823c86 [improvement](dynamic-partition) add storage_medium property for dynamic partition (#16648) 2023-02-14 15:14:52 +08:00
fb0d08ff4c [fix](mark join) fix bug of mark join with other conjuncts (#16655)
Fix bug that probe_index is not increased for mark hash join with other conjuncts.
2023-02-14 14:47:15 +08:00
af1329936e [Improvement](ES)Supprt datav2 and datetimev2 for es query (#16633)
* Supprt datav2 and datetimev2 for es query
2023-02-14 14:47:00 +08:00
e1ef03b9d3 [Improvement](static variable) Fix exprs/MathFunctions static variable (#16687)
Use static constexpr variable in impl file to avoid multi-addressing
Remove unused my_double_round in vec/functions/math.cpp
2023-02-14 14:46:29 +08:00
0d9714b179 [Fix](multi catalog)Support read hive1.x orc file. (#16677)
Hive 1.x may write orc file with internal column name (_col0, _col1, _col2...).
This will cause query result be NULL because column name in orc file doesn't match
with column name in Doris table schema. This pr is to support query Hive orc files with internal column names. 

For now, we haven't see any problem in Parquet file, will send new pr to fix parquet if any problem show up in the future.
2023-02-14 14:32:27 +08:00
Pxl
b1347f4c38 [Chore](build) make compile option work on C objects && some refactor of cmakelists (#16451)
make compile option work on C objects && some refactor of cmakelists
2023-02-14 13:35:20 +08:00
fc1544701f [typo](docs) fix fe config description (#16686)
* 调整
2023-02-14 10:59:24 +08:00
af5dc7565e [bug](udf) fix udf return type of decimal check scale must is 9 (#16497) 2023-02-14 10:53:53 +08:00
bceb0b58a1 [fix](udf) fix create udf function with uppercase database name can't recognize (#16410) 2023-02-14 10:52:11 +08:00
1b83829cff [improvement](block exception safe) make block queue exception safe (#16657)
* [improvement](block exception safe) make block queue exception safe

This is part of exception safe: #16366.

---------

Co-authored-by: yiguolei <yiguolei@gmail.com>
2023-02-14 10:50:21 +08:00
69d3878d9b [Bug](CTAS): Ctas rollback ignore some case (#16255)
Currently, some error are caught due to table can not drop when execute ctas,
I add a session variable to control drop or not table.
2023-02-14 09:19:37 +08:00
a8a5cbb403 [Opt](Hash) Deduce virtual function call is null at in single nullable column (#16650) 2023-02-14 08:44:12 +08:00
cc01db11a2 [fix](doc) fix some errors in docs (#16523)
1. dead link
2. references to zh-CN in en docs
3. wrong content
2023-02-14 07:31:53 +08:00
de85c57715 [Improve](point query) support retry different backends in PointQueryExecutor (#16380) 2023-02-14 07:31:31 +08:00
b642491555 [fix](regression) fix add drop inverted index case (#16673) 2023-02-14 00:24:42 +08:00
f3ab55d27d [Optimization](index) Optimization for no need to read raw data for index column that only in where clause (#16569) 2023-02-14 00:12:45 +08:00
90af1b0113 [fix](subquery) fix bug of using constexpr and some agg func(like count,max) as subquery's output (#16579)
Signed-off-by: nextdreamblue <zxw520blue1@163.com>
2023-02-14 00:11:56 +08:00
ed3420000e [fix](bthread) fix bthread hang (#16594) 2023-02-14 00:08:57 +08:00
de725d5d44 [bugfix](column_reader) index_page should not be pre-decoded (#16605)
In our current logic, index page will be pre-decoded but it will return OK
as index page use BinaryPlainPageBuilder and first 4 bytes of the page is a offset
so it's high probablility not equal to EncodingTypePB::DICT_ENCODING which
is 5.
Code in bitshuffle_page_pre_decode.h
```
   	if constexpr (USED_IN_DICT_ENCODING) {
            auto type = decode_fixed32_le((const uint8_t*)&data.data[0]);
            if (static_cast<EncodingTypePB>(type) != EncodingTypePB::DICT_ENCODING) {
                return Status::OK();
            }
            size_of_dict_header = BINARY_DICT_PAGE_HEADER_SIZE;
            data.remove_prefix(4);
        }
```
But if type just equal to EncodingTypePB::DICT_ENCODING and then it will use
BitShuffle to decode BinaryPlainPage, which will leads to an fatal error.
2023-02-14 00:06:14 +08:00
89754eb200 [doc](inverted index) inverted index introduction and usage doc (#16628) 2023-02-14 00:04:49 +08:00
36955a6769 [regression-test](dynamic-table) add regression test for dynamic table (#16656) 2023-02-14 00:03:19 +08:00
18fff8ec0a [doc](dynamic-table) Add docs for dynamic-table (#16669) 2023-02-14 00:02:06 +08:00