Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature](pipelineX) support paritition tablet sink shuffle #31689

Merged
merged 23 commits into from
Mar 13, 2024

Conversation

zhangstar333
Copy link
Contributor

Proposed changes

Issue Number: close #xxx

Further comments

If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...

@doris-robot
Copy link

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR

@zhangstar333
Copy link
Contributor Author

run buildall

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy made some suggestions

return Status::OK();
}

Status ExchangeSinkLocalState::_send_new_partition_batch() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: method '_send_new_partition_batch' can be made static [readability-convert-member-functions-to-static]

be/src/pipeline/exec/exchange_sink_operator.h:127:

-     Status _send_new_partition_batch();
+     static Status _send_new_partition_batch();

}

template <typename Channels>
Status ExchangeSinkOperatorX::channel_add_rows_with_idx(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: function 'channel_add_rows_with_idx' has cognitive complexity of 52 (threshold 50) [readability-function-cognitive-complexity]

Status ExchangeSinkOperatorX::channel_add_rows_with_idx(
                              ^
Additional context

be/src/pipeline/exec/exchange_sink_operator.cpp:577: +1, including nesting penalty of 0, nesting level increased to 1

    for (int i = 0; i < num_channels; ++i) {
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:578: +2, including nesting penalty of 1, nesting level increased to 2

        if (!channels[i]->is_receiver_eof() && !channel2rows[i].empty()) {
        ^

be/src/pipeline/exec/exchange_sink_operator.cpp:578: +1

        if (!channels[i]->is_receiver_eof() && !channel2rows[i].empty()) {
                                            ^

be/src/pipeline/exec/exchange_sink_operator.cpp:580: +3, including nesting penalty of 2, nesting level increased to 3

            HANDLE_CHANNEL_STATUS(state, channels[i], status);
            ^

be/src/vec/sink/vdata_stream_sender.h:419: expanded from macro 'HANDLE_CHANNEL_STATUS'

    do {                                                 \
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:580: +4, including nesting penalty of 3, nesting level increased to 4

            HANDLE_CHANNEL_STATUS(state, channels[i], status);
            ^

be/src/vec/sink/vdata_stream_sender.h:420: expanded from macro 'HANDLE_CHANNEL_STATUS'

        if (status.is<ErrorCode::END_OF_FILE>()) {       \
        ^

be/src/pipeline/exec/exchange_sink_operator.cpp:580: +1, nesting level increased to 4

            HANDLE_CHANNEL_STATUS(state, channels[i], status);
            ^

be/src/vec/sink/vdata_stream_sender.h:422: expanded from macro 'HANDLE_CHANNEL_STATUS'

        } else {                                         \
          ^

be/src/pipeline/exec/exchange_sink_operator.cpp:580: +5, including nesting penalty of 4, nesting level increased to 5

            HANDLE_CHANNEL_STATUS(state, channels[i], status);
            ^

be/src/vec/sink/vdata_stream_sender.h:423: expanded from macro 'HANDLE_CHANNEL_STATUS'

            RETURN_IF_ERROR(status);                     \
            ^

be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'

    do {                                \
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:580: +6, including nesting penalty of 5, nesting level increased to 6

            HANDLE_CHANNEL_STATUS(state, channels[i], status);
            ^

be/src/vec/sink/vdata_stream_sender.h:423: expanded from macro 'HANDLE_CHANNEL_STATUS'

            RETURN_IF_ERROR(status);                     \
            ^

be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'

        if (UNLIKELY(!_status_.ok())) { \
        ^

be/src/pipeline/exec/exchange_sink_operator.cpp:585: +1, including nesting penalty of 0, nesting level increased to 1

    if (eos) {
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:586: +2, including nesting penalty of 1, nesting level increased to 2

        for (int i = 0; i < num_channels; ++i) {
        ^

be/src/pipeline/exec/exchange_sink_operator.cpp:587: +3, including nesting penalty of 2, nesting level increased to 3

            if (!channels[i]->is_receiver_eof()) {
            ^

be/src/pipeline/exec/exchange_sink_operator.cpp:589: +4, including nesting penalty of 3, nesting level increased to 4

                HANDLE_CHANNEL_STATUS(state, channels[i], status);
                ^

be/src/vec/sink/vdata_stream_sender.h:419: expanded from macro 'HANDLE_CHANNEL_STATUS'

    do {                                                 \
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:589: +5, including nesting penalty of 4, nesting level increased to 5

                HANDLE_CHANNEL_STATUS(state, channels[i], status);
                ^

be/src/vec/sink/vdata_stream_sender.h:420: expanded from macro 'HANDLE_CHANNEL_STATUS'

        if (status.is<ErrorCode::END_OF_FILE>()) {       \
        ^

be/src/pipeline/exec/exchange_sink_operator.cpp:589: +1, nesting level increased to 5

                HANDLE_CHANNEL_STATUS(state, channels[i], status);
                ^

be/src/vec/sink/vdata_stream_sender.h:422: expanded from macro 'HANDLE_CHANNEL_STATUS'

        } else {                                         \
          ^

be/src/pipeline/exec/exchange_sink_operator.cpp:589: +6, including nesting penalty of 5, nesting level increased to 6

                HANDLE_CHANNEL_STATUS(state, channels[i], status);
                ^

be/src/vec/sink/vdata_stream_sender.h:423: expanded from macro 'HANDLE_CHANNEL_STATUS'

            RETURN_IF_ERROR(status);                     \
            ^

be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'

    do {                                \
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:589: +7, including nesting penalty of 6, nesting level increased to 7

                HANDLE_CHANNEL_STATUS(state, channels[i], status);
                ^

be/src/vec/sink/vdata_stream_sender.h:423: expanded from macro 'HANDLE_CHANNEL_STATUS'

            RETURN_IF_ERROR(status);                     \
            ^

be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'

        if (UNLIKELY(!_status_.ok())) { \
        ^

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 35.48% (8554/24108)
Line Coverage: 27.23% (69393/254814)
Region Coverage: 26.43% (35999/136191)
Branch Coverage: 23.27% (18387/79018)
Coverage Report: http://coverage.selectdb-in.cc/coverage/0f5ec3e95b5dd52b30a02f15ea1bf3db638fb19f_0f5ec3e95b5dd52b30a02f15ea1bf3db638fb19f/report/index.html

@zhangstar333
Copy link
Contributor Author

run buildall

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy made some suggestions

}

template <typename Channels>
Status ExchangeSinkOperatorX::channel_add_rows_with_idx(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: function 'channel_add_rows_with_idx' has cognitive complexity of 52 (threshold 50) [readability-function-cognitive-complexity]

Status ExchangeSinkOperatorX::channel_add_rows_with_idx(
                              ^
Additional context

be/src/pipeline/exec/exchange_sink_operator.cpp:578: +1, including nesting penalty of 0, nesting level increased to 1

    for (int i = 0; i < num_channels; ++i) {
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:579: +2, including nesting penalty of 1, nesting level increased to 2

        if (!channels[i]->is_receiver_eof() && !channel2rows[i].empty()) {
        ^

be/src/pipeline/exec/exchange_sink_operator.cpp:579: +1

        if (!channels[i]->is_receiver_eof() && !channel2rows[i].empty()) {
                                            ^

be/src/pipeline/exec/exchange_sink_operator.cpp:581: +3, including nesting penalty of 2, nesting level increased to 3

            HANDLE_CHANNEL_STATUS(state, channels[i], status);
            ^

be/src/vec/sink/vdata_stream_sender.h:419: expanded from macro 'HANDLE_CHANNEL_STATUS'

    do {                                                 \
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:581: +4, including nesting penalty of 3, nesting level increased to 4

            HANDLE_CHANNEL_STATUS(state, channels[i], status);
            ^

be/src/vec/sink/vdata_stream_sender.h:420: expanded from macro 'HANDLE_CHANNEL_STATUS'

        if (status.is<ErrorCode::END_OF_FILE>()) {       \
        ^

be/src/pipeline/exec/exchange_sink_operator.cpp:581: +1, nesting level increased to 4

            HANDLE_CHANNEL_STATUS(state, channels[i], status);
            ^

be/src/vec/sink/vdata_stream_sender.h:422: expanded from macro 'HANDLE_CHANNEL_STATUS'

        } else {                                         \
          ^

be/src/pipeline/exec/exchange_sink_operator.cpp:581: +5, including nesting penalty of 4, nesting level increased to 5

            HANDLE_CHANNEL_STATUS(state, channels[i], status);
            ^

be/src/vec/sink/vdata_stream_sender.h:423: expanded from macro 'HANDLE_CHANNEL_STATUS'

            RETURN_IF_ERROR(status);                     \
            ^

be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'

    do {                                \
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:581: +6, including nesting penalty of 5, nesting level increased to 6

            HANDLE_CHANNEL_STATUS(state, channels[i], status);
            ^

be/src/vec/sink/vdata_stream_sender.h:423: expanded from macro 'HANDLE_CHANNEL_STATUS'

            RETURN_IF_ERROR(status);                     \
            ^

be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'

        if (UNLIKELY(!_status_.ok())) { \
        ^

be/src/pipeline/exec/exchange_sink_operator.cpp:586: +1, including nesting penalty of 0, nesting level increased to 1

    if (eos) {
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:587: +2, including nesting penalty of 1, nesting level increased to 2

        for (int i = 0; i < num_channels; ++i) {
        ^

be/src/pipeline/exec/exchange_sink_operator.cpp:588: +3, including nesting penalty of 2, nesting level increased to 3

            if (!channels[i]->is_receiver_eof()) {
            ^

be/src/pipeline/exec/exchange_sink_operator.cpp:590: +4, including nesting penalty of 3, nesting level increased to 4

                HANDLE_CHANNEL_STATUS(state, channels[i], status);
                ^

be/src/vec/sink/vdata_stream_sender.h:419: expanded from macro 'HANDLE_CHANNEL_STATUS'

    do {                                                 \
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:590: +5, including nesting penalty of 4, nesting level increased to 5

                HANDLE_CHANNEL_STATUS(state, channels[i], status);
                ^

be/src/vec/sink/vdata_stream_sender.h:420: expanded from macro 'HANDLE_CHANNEL_STATUS'

        if (status.is<ErrorCode::END_OF_FILE>()) {       \
        ^

be/src/pipeline/exec/exchange_sink_operator.cpp:590: +1, nesting level increased to 5

                HANDLE_CHANNEL_STATUS(state, channels[i], status);
                ^

be/src/vec/sink/vdata_stream_sender.h:422: expanded from macro 'HANDLE_CHANNEL_STATUS'

        } else {                                         \
          ^

be/src/pipeline/exec/exchange_sink_operator.cpp:590: +6, including nesting penalty of 5, nesting level increased to 6

                HANDLE_CHANNEL_STATUS(state, channels[i], status);
                ^

be/src/vec/sink/vdata_stream_sender.h:423: expanded from macro 'HANDLE_CHANNEL_STATUS'

            RETURN_IF_ERROR(status);                     \
            ^

be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'

    do {                                \
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:590: +7, including nesting penalty of 6, nesting level increased to 7

                HANDLE_CHANNEL_STATUS(state, channels[i], status);
                ^

be/src/vec/sink/vdata_stream_sender.h:423: expanded from macro 'HANDLE_CHANNEL_STATUS'

            RETURN_IF_ERROR(status);                     \
            ^

be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'

        if (UNLIKELY(!_status_.ok())) { \
        ^

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 35.42% (8553/24149)
Line Coverage: 27.19% (69411/255321)
Region Coverage: 26.41% (36016/136371)
Branch Coverage: 23.26% (18400/79118)
Coverage Report: http://coverage.selectdb-in.cc/coverage/e411ab3f4b380564731ac36a9a0163bd4d2772ed_e411ab3f4b380564731ac36a9a0163bd4d2772ed/report/index.html

@zhangstar333
Copy link
Contributor Author

run buildall

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy made some suggestions

}

template <typename Channels>
Status ExchangeSinkOperatorX::channel_add_rows_with_idx(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: function 'channel_add_rows_with_idx' has cognitive complexity of 52 (threshold 50) [readability-function-cognitive-complexity]

Status ExchangeSinkOperatorX::channel_add_rows_with_idx(
                              ^
Additional context

be/src/pipeline/exec/exchange_sink_operator.cpp:581: +1, including nesting penalty of 0, nesting level increased to 1

    for (int i = 0; i < num_channels; ++i) {
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:582: +2, including nesting penalty of 1, nesting level increased to 2

        if (!channels[i]->is_receiver_eof() && !channel2rows[i].empty()) {
        ^

be/src/pipeline/exec/exchange_sink_operator.cpp:582: +1

        if (!channels[i]->is_receiver_eof() && !channel2rows[i].empty()) {
                                            ^

be/src/pipeline/exec/exchange_sink_operator.cpp:584: +3, including nesting penalty of 2, nesting level increased to 3

            HANDLE_CHANNEL_STATUS(state, channels[i], status);
            ^

be/src/vec/sink/vdata_stream_sender.h:419: expanded from macro 'HANDLE_CHANNEL_STATUS'

    do {                                                 \
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:584: +4, including nesting penalty of 3, nesting level increased to 4

            HANDLE_CHANNEL_STATUS(state, channels[i], status);
            ^

be/src/vec/sink/vdata_stream_sender.h:420: expanded from macro 'HANDLE_CHANNEL_STATUS'

        if (status.is<ErrorCode::END_OF_FILE>()) {       \
        ^

be/src/pipeline/exec/exchange_sink_operator.cpp:584: +1, nesting level increased to 4

            HANDLE_CHANNEL_STATUS(state, channels[i], status);
            ^

be/src/vec/sink/vdata_stream_sender.h:422: expanded from macro 'HANDLE_CHANNEL_STATUS'

        } else {                                         \
          ^

be/src/pipeline/exec/exchange_sink_operator.cpp:584: +5, including nesting penalty of 4, nesting level increased to 5

            HANDLE_CHANNEL_STATUS(state, channels[i], status);
            ^

be/src/vec/sink/vdata_stream_sender.h:423: expanded from macro 'HANDLE_CHANNEL_STATUS'

            RETURN_IF_ERROR(status);                     \
            ^

be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'

    do {                                \
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:584: +6, including nesting penalty of 5, nesting level increased to 6

            HANDLE_CHANNEL_STATUS(state, channels[i], status);
            ^

be/src/vec/sink/vdata_stream_sender.h:423: expanded from macro 'HANDLE_CHANNEL_STATUS'

            RETURN_IF_ERROR(status);                     \
            ^

be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'

        if (UNLIKELY(!_status_.ok())) { \
        ^

be/src/pipeline/exec/exchange_sink_operator.cpp:589: +1, including nesting penalty of 0, nesting level increased to 1

    if (eos) {
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:590: +2, including nesting penalty of 1, nesting level increased to 2

        for (int i = 0; i < num_channels; ++i) {
        ^

be/src/pipeline/exec/exchange_sink_operator.cpp:591: +3, including nesting penalty of 2, nesting level increased to 3

            if (!channels[i]->is_receiver_eof()) {
            ^

be/src/pipeline/exec/exchange_sink_operator.cpp:593: +4, including nesting penalty of 3, nesting level increased to 4

                HANDLE_CHANNEL_STATUS(state, channels[i], status);
                ^

be/src/vec/sink/vdata_stream_sender.h:419: expanded from macro 'HANDLE_CHANNEL_STATUS'

    do {                                                 \
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:593: +5, including nesting penalty of 4, nesting level increased to 5

                HANDLE_CHANNEL_STATUS(state, channels[i], status);
                ^

be/src/vec/sink/vdata_stream_sender.h:420: expanded from macro 'HANDLE_CHANNEL_STATUS'

        if (status.is<ErrorCode::END_OF_FILE>()) {       \
        ^

be/src/pipeline/exec/exchange_sink_operator.cpp:593: +1, nesting level increased to 5

                HANDLE_CHANNEL_STATUS(state, channels[i], status);
                ^

be/src/vec/sink/vdata_stream_sender.h:422: expanded from macro 'HANDLE_CHANNEL_STATUS'

        } else {                                         \
          ^

be/src/pipeline/exec/exchange_sink_operator.cpp:593: +6, including nesting penalty of 5, nesting level increased to 6

                HANDLE_CHANNEL_STATUS(state, channels[i], status);
                ^

be/src/vec/sink/vdata_stream_sender.h:423: expanded from macro 'HANDLE_CHANNEL_STATUS'

            RETURN_IF_ERROR(status);                     \
            ^

be/src/common/status.h:541: expanded from macro 'RETURN_IF_ERROR'

    do {                                \
    ^

be/src/pipeline/exec/exchange_sink_operator.cpp:593: +7, including nesting penalty of 6, nesting level increased to 7

                HANDLE_CHANNEL_STATUS(state, channels[i], status);
                ^

be/src/vec/sink/vdata_stream_sender.h:423: expanded from macro 'HANDLE_CHANNEL_STATUS'

            RETURN_IF_ERROR(status);                     \
            ^

be/src/common/status.h:543: expanded from macro 'RETURN_IF_ERROR'

        if (UNLIKELY(!_status_.ok())) { \
        ^

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 35.41% (8552/24149)
Line Coverage: 27.18% (69385/255324)
Region Coverage: 26.39% (35992/136373)
Branch Coverage: 23.24% (18387/79118)
Coverage Report: http://coverage.selectdb-in.cc/coverage/712e05a9545aa0e11ae5a528b8608b2fdda0a91f_712e05a9545aa0e11ae5a528b8608b2fdda0a91f/report/index.html

@zhangstar333
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 35.41% (8552/24149)
Line Coverage: 27.17% (69381/255324)
Region Coverage: 26.40% (35998/136373)
Branch Coverage: 23.24% (18384/79118)
Coverage Report: http://coverage.selectdb-in.cc/coverage/d0d25a0ef834e519f55b6a21bceecb5006e77220_d0d25a0ef834e519f55b6a21bceecb5006e77220/report/index.html

@zhangstar333
Copy link
Contributor Author

run buildall

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy made some suggestions

@@ -181,6 +181,11 @@ Status _load_rowset_segments(const RowsetSharedPtr& rowset,

struct WriteCooldownMetaExecutors {
WriteCooldownMetaExecutors(size_t executor_nums = 5);
~WriteCooldownMetaExecutors() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: use '= default' to define a trivial destructor [modernize-use-equals-default]

    ~WriteCooldownMetaExecutors() {
    ^

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 35.42% (8555/24152)
Line Coverage: 27.19% (69422/255352)
Region Coverage: 26.41% (36015/136385)
Branch Coverage: 23.26% (18402/79128)
Coverage Report: http://coverage.selectdb-in.cc/coverage/7894c019c6658c3cef744c4c80ebd6f6fc9fbfc4_7894c019c6658c3cef744c4c80ebd6f6fc9fbfc4/report/index.html

@zhangstar333
Copy link
Contributor Author

run buildall

1 similar comment
@zhangstar333
Copy link
Contributor Author

run buildall

@zhangstar333
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 37782 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 48dc1c0fe00e17c106403b7a086d1e1ab30ded04, data reload: false

------ Round 1 ----------------------------------
q1	17744	4007	4033	4007
q2	2019	148	138	138
q3	10561	961	931	931
q4	4661	933	935	933
q5	7589	2841	2987	2841
q6	191	126	125	125
q7	1328	838	807	807
q8	9483	2078	2057	2057
q9	7194	6472	6431	6431
q10	8206	2583	2550	2550
q11	422	207	212	207
q12	771	305	309	305
q13	17967	2911	2924	2911
q14	271	250	247	247
q15	492	447	434	434
q16	492	393	391	391
q17	949	895	855	855
q18	6750	6010	5877	5877
q19	1576	1514	1506	1506
q20	544	277	275	275
q21	7547	3659	3703	3659
q22	793	295	328	295
Total cold run time: 107550 ms
Total hot run time: 37782 ms

----- Round 2, with runtime_filter_mode=off -----
q1	3992	4041	3969	3969
q2	321	229	231	229
q3	2993	2903	2942	2903
q4	1817	1792	1801	1792
q5	5199	5223	5215	5215
q6	214	116	117	116
q7	2251	1831	1825	1825
q8	3271	3248	3244	3244
q9	8511	8499	8503	8499
q10	6133	3725	3722	3722
q11	527	438	430	430
q12	691	544	543	543
q13	15098	2766	2760	2760
q14	279	266	242	242
q15	472	442	434	434
q16	462	397	399	397
q17	1676	1667	1634	1634
q18	7726	7377	7305	7305
q19	3386	1591	1610	1591
q20	1953	1713	1689	1689
q21	4943	4760	4813	4760
q22	521	469	456	456
Total cold run time: 72436 ms
Total hot run time: 53755 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 186033 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit c3e5dc238f6d50d185e212664cb0796c144e83d5, data reload: false

query1	920	365	357	357
query2	7356	1993	1872	1872
query3	6707	217	217	217
query4	24609	21102	20915	20915
query5	4355	495	1068	495
query6	288	193	180	180
query7	4632	319	308	308
query8	251	166	169	166
query9	8443	2200	2200	2200
query10	449	234	246	234
query11	15565	14599	14445	14445
query12	139	92	89	89
query13	1634	438	444	438
query14	10438	9718	10248	9718
query15	248	201	191	191
query16	7790	272	272	272
query17	1639	603	561	561
query18	1973	291	280	280
query19	203	166	164	164
query20	99	92	92	92
query21	199	134	129	129
query22	4592	4451	4442	4442
query23	31590	30670	30600	30600
query24	11770	3039	3123	3039
query25	663	398	398	398
query26	1574	170	168	168
query27	3075	373	365	365
query28	6631	1825	1826	1825
query29	1100	604	602	602
query30	312	153	154	153
query31	935	754	734	734
query32	104	64	61	61
query33	770	261	255	255
query34	1032	467	471	467
query35	860	647	658	647
query36	926	817	843	817
query37	153	78	78	78
query38	3249	3141	3175	3141
query39	1424	1385	1386	1385
query40	301	129	119	119
query41	67	63	66	63
query42	107	104	107	104
query43	452	404	412	404
query44	1097	714	725	714
query45	287	264	274	264
query46	1052	811	798	798
query47	1626	1573	1569	1569
query48	436	350	346	346
query49	1186	338	356	338
query50	776	376	388	376
query51	6715	6565	6589	6565
query52	109	98	96	96
query53	354	283	293	283
query54	334	258	251	251
query55	94	86	81	81
query56	244	242	228	228
query57	1080	1008	992	992
query58	276	234	228	228
query59	2749	2446	2327	2327
query60	276	277	261	261
query61	128	116	113	113
query62	686	408	434	408
query63	304	283	282	282
query64	6465	3329	3121	3121
query65	3064	3080	3025	3025
query66	1381	330	329	329
query67	15070	14324	14323	14323
query68	9047	562	583	562
query69	641	393	389	389
query70	1253	1139	1104	1104
query71	532	291	287	287
query72	6384	2655	2531	2531
query73	1229	315	328	315
query74	6896	6514	6555	6514
query75	9614	8053	8016	8016
query76	5349	1113	1157	1113
query77	649	268	263	263
query78	10147	9732	9536	9536
query79	11102	519	522	519
query80	1264	401	383	383
query81	487	212	208	208
query82	414	191	198	191
query83	214	156	145	145
query84	285	77	80	77
query85	1128	342	321	321
query86	375	311	278	278
query87	3452	3304	3227	3227
query88	3679	2297	2283	2283
query89	540	360	415	360
query90	2033	177	176	176
query91	180	131	129	129
query92	58	50	52	50
query93	4908	548	524	524
query94	1321	192	187	187
query95	443	355	344	344
query96	597	263	266	263
query97	4434	4287	4261	4261
query98	242	215	218	215
query99	1113	773	754	754
Total cold run time: 305423 ms
Total hot run time: 186033 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 31.18 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit c3e5dc238f6d50d185e212664cb0796c144e83d5, data reload: false

query1	0.04	0.03	0.03
query2	0.06	0.02	0.02
query3	0.23	0.06	0.06
query4	1.68	0.10	0.10
query5	0.52	0.49	0.49
query6	1.25	0.66	0.69
query7	0.01	0.01	0.02
query8	0.03	0.03	0.03
query9	0.56	0.52	0.51
query10	0.57	0.57	0.57
query11	0.12	0.09	0.09
query12	0.12	0.10	0.10
query13	0.58	0.57	0.58
query14	0.74	0.76	0.75
query15	0.84	0.82	0.81
query16	0.36	0.36	0.38
query17	0.97	0.98	0.96
query18	0.26	0.24	0.25
query19	1.77	1.69	1.70
query20	0.02	0.01	0.01
query21	15.40	0.61	0.63
query22	3.09	2.96	2.83
query23	17.57	1.03	0.99
query24	2.13	0.59	0.38
query25	0.23	0.09	0.06
query26	0.18	0.14	0.13
query27	0.02	0.03	0.03
query28	12.20	0.84	0.84
query29	12.72	3.35	3.27
query30	0.63	0.58	0.57
query31	2.79	0.35	0.34
query32	3.40	0.43	0.44
query33	2.83	2.78	2.82
query34	15.52	4.29	4.28
query35	4.27	4.29	4.29
query36	1.09	1.03	1.02
query37	0.07	0.05	0.05
query38	0.04	0.03	0.03
query39	0.02	0.02	0.01
query40	0.17	0.13	0.13
query41	0.07	0.02	0.02
query42	0.03	0.02	0.01
query43	0.03	0.03	0.02
Total cold run time: 105.23 s
Total hot run time: 31.18 s

@doris-robot
Copy link

Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'

Load test result on commit c3e5dc238f6d50d185e212664cb0796c144e83d5 with default session variables
Stream load json:         19 seconds loaded 2358488459 Bytes, about 118 MB/s
Stream load orc:          59 seconds loaded 1101869774 Bytes, about 17 MB/s
Stream load parquet:      32 seconds loaded 861443392 Bytes, about 25 MB/s
Insert into select:       17.2 seconds inserted 10000000 Rows, about 581K ops/s

@zhangstar333
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 37715 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit ec879df5928bf69b8c354baf5a33247a47d72f50, data reload: false

------ Round 1 ----------------------------------
q1	17617	4000	4004	4000
q2	2029	153	142	142
q3	10560	929	912	912
q4	4659	912	923	912
q5	7600	2854	2976	2854
q6	178	129	126	126
q7	1281	821	804	804
q8	9477	2095	2051	2051
q9	7285	6466	6471	6466
q10	8212	2545	2538	2538
q11	417	217	212	212
q12	750	314	301	301
q13	17957	2950	3002	2950
q14	278	252	259	252
q15	490	464	447	447
q16	462	387	406	387
q17	947	871	861	861
q18	6641	5831	5746	5746
q19	1565	1514	1505	1505
q20	533	282	281	281
q21	7480	3693	3660	3660
q22	791	308	318	308
Total cold run time: 107209 ms
Total hot run time: 37715 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4004	4010	3979	3979
q2	319	235	233	233
q3	2956	2925	2915	2915
q4	1857	1815	1796	1796
q5	5207	5200	5210	5200
q6	207	116	116	116
q7	2236	1799	1790	1790
q8	3172	3238	3255	3238
q9	8528	8464	8511	8464
q10	6121	3757	3723	3723
q11	522	447	449	447
q12	708	524	601	524
q13	11938	2835	2832	2832
q14	278	246	269	246
q15	490	448	444	444
q16	450	404	396	396
q17	1682	1671	1647	1647
q18	7928	7397	7148	7148
q19	1801	1582	1597	1582
q20	1873	1702	1694	1694
q21	4962	4762	4668	4668
q22	530	422	432	422
Total cold run time: 67769 ms
Total hot run time: 53504 ms

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 34.99% (8555/24450)
Line Coverage: 26.81% (69520/259263)
Region Coverage: 26.07% (36080/138394)
Branch Coverage: 23.03% (18438/80064)
Coverage Report: http://coverage.selectdb-in.cc/coverage/ec879df5928bf69b8c354baf5a33247a47d72f50_ec879df5928bf69b8c354baf5a33247a47d72f50/report/index.html

@doris-robot
Copy link

TPC-DS: Total hot run time: 185562 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit ec879df5928bf69b8c354baf5a33247a47d72f50, data reload: false

query1	920	362	345	345
query2	7360	1876	2022	1876
query3	6705	205	208	205
query4	24887	20770	20849	20770
query5	4272	7284	590	590
query6	274	172	169	169
query7	4624	321	313	313
query8	239	166	163	163
query9	8403	2192	2174	2174
query10	456	230	250	230
query11	15157	14379	14375	14375
query12	146	88	85	85
query13	1634	417	430	417
query14	10846	9833	10096	9833
query15	257	191	194	191
query16	7901	273	266	266
query17	1888	603	566	566
query18	2113	282	277	277
query19	203	160	156	156
query20	94	85	87	85
query21	202	131	126	126
query22	4624	4484	4427	4427
query23	31265	30689	30724	30689
query24	10355	3018	3018	3018
query25	682	379	382	379
query26	1026	164	162	162
query27	2417	367	350	350
query28	6210	1814	1801	1801
query29	1001	607	599	599
query30	313	150	152	150
query31	949	733	740	733
query32	103	70	59	59
query33	757	277	256	256
query34	994	456	469	456
query35	858	629	635	629
query36	920	794	802	794
query37	110	76	77	76
query38	3317	3185	3164	3164
query39	1402	1370	1394	1370
query40	211	115	121	115
query41	70	64	65	64
query42	103	115	106	106
query43	458	408	399	399
query44	1095	730	707	707
query45	282	260	264	260
query46	1048	761	778	761
query47	1636	1569	1543	1543
query48	429	346	341	341
query49	1128	331	339	331
query50	784	372	370	370
query51	6667	6640	6708	6640
query52	109	100	96	96
query53	353	278	297	278
query54	300	239	246	239
query55	89	84	88	84
query56	247	222	242	222
query57	1075	1012	993	993
query58	249	212	222	212
query59	2567	2390	2402	2390
query60	264	258	258	258
query61	131	113	112	112
query62	668	416	423	416
query63	304	276	282	276
query64	5097	3293	3081	3081
query65	3002	2977	3003	2977
query66	840	344	319	319
query67	14886	14304	14341	14304
query68	7125	539	560	539
query69	614	394	385	385
query70	1212	1107	1086	1086
query71	517	277	284	277
query72	6401	2609	2511	2511
query73	797	319	311	311
query74	6909	6465	6445	6445
query75	9513	8005	8021	8005
query76	5018	1205	1158	1158
query77	678	253	254	253
query78	10340	9593	9462	9462
query79	9951	512	520	512
query80	1689	429	389	389
query81	534	207	213	207
query82	769	198	197	197
query83	219	148	145	145
query84	281	79	76	76
query85	1442	343	318	318
query86	472	278	313	278
query87	3471	3286	3253	3253
query88	4196	2278	2264	2264
query89	536	361	377	361
query90	2038	176	178	176
query91	164	132	132	132
query92	63	51	47	47
query93	7005	539	514	514
query94	1182	178	185	178
query95	446	345	347	345
query96	607	266	263	263
query97	4419	4280	4287	4280
query98	232	221	214	214
query99	1215	763	771	763
Total cold run time: 300031 ms
Total hot run time: 185562 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 31.08 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit ec879df5928bf69b8c354baf5a33247a47d72f50, data reload: false

query1	0.04	0.03	0.03
query2	0.07	0.03	0.03
query3	0.23	0.06	0.06
query4	1.65	0.10	0.10
query5	0.50	0.48	0.51
query6	1.30	0.69	0.68
query7	0.02	0.01	0.01
query8	0.03	0.02	0.03
query9	0.57	0.52	0.52
query10	0.56	0.56	0.57
query11	0.13	0.10	0.09
query12	0.12	0.10	0.10
query13	0.57	0.57	0.58
query14	0.74	0.77	0.75
query15	0.84	0.80	0.80
query16	0.38	0.39	0.38
query17	0.96	0.97	0.99
query18	0.28	0.25	0.26
query19	1.87	1.72	1.71
query20	0.01	0.01	0.01
query21	15.40	0.62	0.62
query22	3.23	4.32	2.74
query23	17.57	1.11	1.02
query24	2.33	0.39	0.58
query25	0.24	0.04	0.04
query26	0.20	0.14	0.13
query27	0.04	0.03	0.02
query28	11.88	0.87	0.83
query29	12.65	3.20	3.17
query30	0.57	0.58	0.60
query31	2.81	0.33	0.34
query32	3.35	0.44	0.45
query33	2.86	2.80	2.84
query34	15.50	4.28	4.32
query35	4.31	4.31	4.30
query36	1.09	1.01	1.03
query37	0.07	0.06	0.05
query38	0.04	0.03	0.03
query39	0.02	0.01	0.02
query40	0.17	0.13	0.12
query41	0.07	0.02	0.02
query42	0.02	0.02	0.01
query43	0.02	0.02	0.02
Total cold run time: 105.31 s
Total hot run time: 31.08 s

@doris-robot
Copy link

Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'

Load test result on commit ec879df5928bf69b8c354baf5a33247a47d72f50 with default session variables
Stream load json:         19 seconds loaded 2358488459 Bytes, about 118 MB/s
Stream load orc:          59 seconds loaded 1101869774 Bytes, about 17 MB/s
Stream load parquet:      31 seconds loaded 861443392 Bytes, about 26 MB/s
Insert into select:       15.9 seconds inserted 10000000 Rows, about 628K ops/s

@zhangstar333
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 36443 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 80e545151291fa9b27ee6cae1cebdb76499316d0, data reload: false

------ Round 1 ----------------------------------
q1	17613	4246	4112	4112
q2	2018	148	162	148
q3	10560	896	889	889
q4	4652	653	671	653
q5	7583	2681	2775	2681
q6	181	121	123	121
q7	1201	818	805	805
q8	9482	2012	2036	2012
q9	7296	6453	6469	6453
q10	8138	2478	2499	2478
q11	420	224	218	218
q12	747	302	270	270
q13	17943	2968	2968	2968
q14	275	248	254	248
q15	503	455	450	450
q16	462	389	407	389
q17	925	580	548	548
q18	6743	5825	5798	5798
q19	1575	1413	1395	1395
q20	547	287	271	271
q21	7347	3252	3247	3247
q22	790	304	289	289
Total cold run time: 107001 ms
Total hot run time: 36443 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4128	4069	4059	4059
q2	319	228	219	219
q3	2980	2875	2867	2867
q4	1834	1541	1484	1484
q5	5167	5231	5213	5213
q6	212	116	124	116
q7	2209	1831	1821	1821
q8	3147	3269	3283	3269
q9	8530	8532	8507	8507
q10	6115	3624	3689	3624
q11	548	437	447	437
q12	725	574	531	531
q13	13219	2902	2891	2891
q14	264	238	253	238
q15	473	443	457	443
q16	455	414	427	414
q17	1759	1491	1478	1478
q18	7692	7251	7071	7071
q19	4621	1540	1510	1510
q20	1916	1725	1712	1712
q21	4789	4626	4655	4626
q22	514	456	463	456
Total cold run time: 71616 ms
Total hot run time: 52986 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 186534 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 80e545151291fa9b27ee6cae1cebdb76499316d0, data reload: false

query1	953	378	346	346
query2	8065	2212	2240	2212
query3	7012	243	232	232
query4	32456	20715	20669	20669
query5	4436	413	464	413
query6	260	179	173	173
query7	4625	318	285	285
query8	228	165	160	160
query9	9867	2233	2227	2227
query10	455	222	244	222
query11	16976	13990	14234	13990
query12	136	88	84	84
query13	1620	401	410	401
query14	11553	10938	10246	10246
query15	278	206	202	202
query16	8006	271	268	268
query17	1966	574	541	541
query18	2080	297	273	273
query19	316	154	155	154
query20	91	82	113	82
query21	201	128	124	124
query22	4653	4421	4409	4409
query23	31894	30972	30917	30917
query24	10744	2856	2837	2837
query25	616	370	370	370
query26	1074	150	153	150
query27	2469	349	354	349
query28	7273	1847	1870	1847
query29	872	636	616	616
query30	312	154	151	151
query31	952	697	732	697
query32	97	57	62	57
query33	780	251	258	251
query34	1063	464	471	464
query35	854	609	631	609
query36	1022	869	867	867
query37	123	77	81	77
query38	3260	3146	3183	3146
query39	1439	1371	1388	1371
query40	214	114	109	109
query41	48	51	51	51
query42	104	95	98	95
query43	492	456	456	456
query44	1132	728	698	698
query45	276	256	257	256
query46	1086	682	703	682
query47	1668	1586	1582	1582
query48	441	349	352	349
query49	1100	344	350	344
query50	764	369	381	369
query51	7159	7016	7089	7016
query52	102	91	92	91
query53	343	272	279	272
query54	301	238	241	238
query55	88	80	88	80
query56	247	228	230	228
query57	1100	1026	1002	1002
query58	230	213	203	203
query59	2846	2575	2660	2575
query60	261	245	260	245
query61	114	109	110	109
query62	609	418	405	405
query63	320	279	272	272
query64	5630	3843	3496	3496
query65	3084	3042	2982	2982
query66	861	325	313	313
query67	14892	14302	14288	14288
query68	9785	522	535	522
query69	687	390	377	377
query70	1342	1195	1149	1149
query71	561	269	280	269
query72	7049	2657	2505	2505
query73	1628	314	317	314
query74	7841	6629	6570	6570
query75	10437	8152	8055	8055
query76	5938	960	971	960
query77	860	266	258	258
query78	10343	9661	9512	9512
query79	11022	519	522	519
query80	1175	384	375	375
query81	489	208	210	208
query82	271	195	204	195
query83	221	149	142	142
query84	290	78	76	76
query85	1171	328	307	307
query86	348	283	287	283
query87	3397	3214	3251	3214
query88	4875	2249	2258	2249
query89	481	358	414	358
query90	2251	172	178	172
query91	160	127	128	127
query92	54	47	46	46
query93	6204	510	488	488
query94	1587	177	177	177
query95	427	334	327	327
query96	589	264	268	264
query97	4431	4253	4294	4253
query98	214	215	229	215
query99	985	753	764	753
Total cold run time: 323702 ms
Total hot run time: 186534 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 29.49 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 80e545151291fa9b27ee6cae1cebdb76499316d0, data reload: false

query1	0.04	0.03	0.04
query2	0.05	0.02	0.02
query3	0.22	0.06	0.06
query4	1.68	0.10	0.10
query5	0.52	0.52	0.50
query6	1.20	0.63	0.63
query7	0.02	0.01	0.02
query8	0.04	0.02	0.02
query9	0.57	0.49	0.49
query10	0.55	0.54	0.54
query11	0.11	0.10	0.09
query12	0.11	0.09	0.09
query13	0.57	0.56	0.57
query14	0.74	0.75	0.76
query15	0.80	0.77	0.77
query16	0.38	0.39	0.39
query17	0.95	1.03	1.03
query18	0.18	0.26	0.22
query19	1.78	1.71	1.69
query20	0.01	0.01	0.01
query21	15.41	0.59	0.56
query22	2.19	1.82	1.78
query23	17.36	0.74	0.77
query24	3.17	0.29	1.00
query25	0.17	0.14	0.15
query26	0.56	0.11	0.11
query27	0.04	0.03	0.04
query28	11.79	0.85	0.84
query29	12.50	3.10	3.25
query30	0.64	0.61	0.53
query31	2.79	0.35	0.32
query32	3.42	0.44	0.44
query33	2.75	2.80	2.79
query34	16.11	4.30	4.28
query35	4.32	4.32	4.27
query36	1.09	0.99	1.00
query37	0.07	0.06	0.05
query38	0.04	0.03	0.04
query39	0.02	0.01	0.02
query40	0.16	0.14	0.13
query41	0.07	0.02	0.02
query42	0.03	0.01	0.02
query43	0.04	0.03	0.03
Total cold run time: 105.26 s
Total hot run time: 29.49 s

@doris-robot
Copy link

Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'

Load test result on commit 80e545151291fa9b27ee6cae1cebdb76499316d0 with default session variables
Stream load json:         18 seconds loaded 2358488459 Bytes, about 124 MB/s
Stream load orc:          59 seconds loaded 1101869774 Bytes, about 17 MB/s
Stream load parquet:      32 seconds loaded 861443392 Bytes, about 25 MB/s
Insert into select:       14.0 seconds inserted 10000000 Rows, about 714K ops/s

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 34.96% (8555/24469)
Line Coverage: 26.80% (69530/259432)
Region Coverage: 26.05% (36076/138493)
Branch Coverage: 23.02% (18446/80120)
Coverage Report: http://coverage.selectdb-in.cc/coverage/80e545151291fa9b27ee6cae1cebdb76499316d0_80e545151291fa9b27ee6cae1cebdb76499316d0/report/index.html

Copy link
Contributor

@HappenLee HappenLee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Mar 13, 2024
Copy link
Contributor

PR approved by at least one committer and no changes requested.

Copy link
Contributor

PR approved by anyone and no changes requested.

@Gabriel39 Gabriel39 merged commit 0292dd4 into apache:master Mar 13, 2024
26 of 31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by one committer. reviewed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants