Skip to content

[hotfix][multistage] fix error not returned issue#9760

Merged
siddharthteotia merged 1 commit intoapache:masterfrom
walterddr:hotfix_datablock_decouple
Nov 8, 2022
Merged

[hotfix][multistage] fix error not returned issue#9760
siddharthteotia merged 1 commit intoapache:masterfrom
walterddr:hotfix_datablock_decouple

Conversation

@walterddr
Copy link
Contributor

data block error were not returned properly. this PR fixes the issue, (seems to be introduced in #9484)

@walterddr walterddr changed the title [multistage] fix error not returned issue [hotfix][multistage] fix error not returned issue Nov 8, 2022
Copy link
Contributor

@agavra agavra left a comment

Choose a reason for hiding this comment

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

Thanks @walterddr - lost this one in translation! I'll definitely work on adding unit tests for all the operators...

LGTM, one question inline

if (!block.isEndOfStreamBlock()) {
return block;
} else {
eosCount++;
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we can actually remove eosCount - I forgot to do that when I removed the check below

"ArithmeticFunctions.least(double,double) with arguments"},
// Function that tries to cast String to Number should throw runtime exception
new Object[]{"SELECT a.col2, b.col1 FROM a JOIN b ON a.col1 = b.col3", "transform function: cast"},
// TODO: this error is thrown but not returned through mailbox. need another test for asserting failure
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm confused - what's the new behavior like if we don't throw an exception?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

this maybe related to 2 issues @61yao filed: #9671 and #9723

after queryplan is generated.

  1. QueryDispatcher dispatches the query stages to servers
  2. Server executes the query and returns data via mailboxes
    • once the query plan can be fully translate to an executable operator chain, any error occur during this will be returned by mailbox and it will bubble up eventually. this is what this PR is trying to fix.

Copy link
Contributor Author

@walterddr walterddr Nov 8, 2022

Choose a reason for hiding this comment

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

echo on the 2 issues filed.

Copy link
Contributor

Choose a reason for hiding this comment

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

Sorry, just saw this. Can you explain more on why it doesn't need to be async?

@walterddr walterddr marked this pull request as ready for review November 8, 2022 17:01
@siddharthteotia siddharthteotia merged commit 01b0c5b into apache:master Nov 8, 2022
@walterddr walterddr added the multi-stage Related to the multi-stage query engine label Nov 10, 2022
@walterddr walterddr deleted the hotfix_datablock_decouple branch December 6, 2023 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

multi-stage Related to the multi-stage query engine

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants