Skip to content

Commit

Permalink
Fix blockedOperatorId_ when the driver is blocked for arbitration case (
Browse files Browse the repository at this point in the history
#11008)

Summary:
When the driver is blocked becuase it is under arbitration, the blockedOperatorId_ was set to be the next operator's id. However the blocked operator is the current operator and the blockedOperatorId_ should be set as the current operator's id. This commit fixes this issue.

Pull Request resolved: #11008

Reviewed By: Yuhta

Differential Revision: D62730528

Pulled By: xiaoxmeng

fbshipit-source-id: c535dc1c50cba54561ca1778a896a18d6cb2c855
  • Loading branch information
yingsu00 authored and facebook-github-bot committed Sep 16, 2024
1 parent 696f7d9 commit c167381
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion velox/exec/Driver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -591,7 +591,7 @@ StopReason Driver::runInternal(
// for the current running arbitration, it is more efficient
// system-wide to let driver go off thread for the other queries which
// have free memory capacity to run during the time.
blockedOperatorId_ = curOperatorId_ + 1;
blockedOperatorId_ = curOperatorId_;
VELOX_CHECK(future.valid());
blockingReason_ = BlockingReason::kWaitForArbitration;
blockingState = std::make_shared<BlockingState>(
Expand Down

0 comments on commit c167381

Please sign in to comment.