[pipeline](fix) Fix blocking task which is not triggered by 2nd RPC (… (#38694)

…#38568)

Once a query is cancelled due to any reason, BE may not receive 2nd RPC
from FE. If so, we must ensure the execution dependency is ready so
tasks will not be blocked.
This commit is contained in:
Gabriel
2024-08-01 18:23:41 +08:00
committed by GitHub
parent 82c681595e
commit 3e5255a862

View File

@ -139,6 +139,7 @@ public:
int task_id() const { return _index; };
void clear_blocking_state() {
_state->get_query_ctx()->get_execution_dependency()->set_always_ready();
// We use a lock to assure all dependencies are not deconstructed here.
std::unique_lock<std::mutex> lc(_dependency_lock);
if (!_finished) {