MCPcopy Create free account
hub / github.com/bytedance/bolt / isBlocked

Method isBlocked

bolt/exec/HashProbe.cpp:639–672  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

637}
638
639BlockingReason HashProbe::isBlocked(ContinueFuture* future) {
640 switch (state_) {
641 case ProbeOperatorState::kWaitForBuild:
642 BOLT_CHECK_NULL(table_);
643 if (!future_.valid()) {
644 setRunning();
645 asyncWaitForHashTable();
646 }
647 break;
648 case ProbeOperatorState::kRunning:
649 BOLT_CHECK_NOT_NULL(table_);
650 if (spillInputReader_ != nullptr) {
651 addSpillInput();
652 }
653 break;
654 case ProbeOperatorState::kWaitForPeers:
655 BOLT_CHECK(hasMoreSpillData());
656 if (!future_.valid()) {
657 setRunning();
658 }
659 break;
660 case ProbeOperatorState::kFinish:
661 break;
662 default:
663 BOLT_UNREACHABLE(probeOperatorStateName(state_));
664 break;
665 }
666
667 if (future_.valid()) {
668 BOLT_CHECK(!isRunning());
669 *future = std::move(future_);
670 }
671 return fromStateToBlockingReason(state_);
672}
673
674void HashProbe::clearDynamicFilters() {
675 BOLT_CHECK(!hasMoreSpillData());

Callers

nothing calls this directly

Calls 3

probeOperatorStateNameFunction · 0.85
validMethod · 0.45

Tested by

no test coverage detected