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

[fix](pipeline) Fix query is not cancelled when be report error status #28669

Merged
merged 3 commits into from
Dec 26, 2023

Conversation

zhiqiang-hhhh
Copy link
Contributor

FE will return empty set instead of error, if:

  1. BE report error status
  2. An instance has multiple pipelines
  3. FE process report slowly

This pr fix above problem on branch-2.0 by:

  1. Exchange sender will spread Error status to receiver so that
  2. Receiver of last result sink fragment will make itself cancelled instead of send an EOS to FE.

PS: Maybe the fix is not perfect ... but it works with almost least modification. A complete fix needs almost a refactor on DataExchangeNode.

@zhiqiang-hhhh
Copy link
Contributor Author

run buildall

Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@zhiqiang-hhhh
Copy link
Contributor Author

This fix is a subset of pr #23142
Async report is not introduced, and made some small modification like:

  1. Send will call receiver->close_stream() directly, and will not transmit block

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 37.81% (7993/21138)
Line Coverage: 29.49% (64906/220123)
Region Coverage: 28.97% (33405/115312)
Branch Coverage: 24.84% (17141/69004)
Coverage Report: http://coverage.selectdb-in.cc/coverage/13c8cccb7c6f75b552969b6bddacf68ee3a6d47b_13c8cccb7c6f75b552969b6bddacf68ee3a6d47b/report/index.html

@zhiqiang-hhhh
Copy link
Contributor Author

run buildall

Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 37.80% (7991/21138)
Line Coverage: 29.48% (64890/220124)
Region Coverage: 28.96% (33392/115312)
Branch Coverage: 24.83% (17136/69004)
Coverage Report: http://coverage.selectdb-in.cc/coverage/9da28efbf08d3ee909a91f07a439c251f2081044_9da28efbf08d3ee909a91f07a439c251f2081044/report/index.html

@doris-robot
Copy link

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 51.49 seconds
stream load tsv: 601 seconds loaded 74807831229 Bytes, about 118 MB/s
stream load json: 20 seconds loaded 2358488459 Bytes, about 112 MB/s
stream load orc: 66 seconds loaded 1101869774 Bytes, about 15 MB/s
stream load parquet: 32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select: 29.5 seconds inserted 10000000 Rows, about 338K ops/s
storage size: 17162384404 Bytes

@zhiqiang-hhhh
Copy link
Contributor Author

run buildall

Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 37.80% (7991/21143)
Line Coverage: 29.50% (64927/220126)
Region Coverage: 28.97% (33412/115317)
Branch Coverage: 24.85% (17144/69002)
Coverage Report: http://coverage.selectdb-in.cc/coverage/9c4e16090573cbbe8f8efcd76314adbc6422158d_9c4e16090573cbbe8f8efcd76314adbc6422158d/report/index.html

@doris-robot
Copy link

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 51.4 seconds
stream load tsv: 587 seconds loaded 74807831229 Bytes, about 121 MB/s
stream load json: 19 seconds loaded 2358488459 Bytes, about 118 MB/s
stream load orc: 65 seconds loaded 1101869774 Bytes, about 16 MB/s
stream load parquet: 32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select: 29.6 seconds inserted 10000000 Rows, about 337K ops/s
storage size: 17162425812 Bytes

Copy link
Contributor

@yiguolei yiguolei left a comment

Choose a reason for hiding this comment

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

LGTM

@yiguolei yiguolei merged commit e41dc59 into apache:branch-2.0 Dec 26, 2023
22 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants