瀏覽代碼

Merge pull request #13117 from jakesmith/hpcc-23068-smartjoin-stall

HPCC-23068 Prevent stall if failed over to local and early stop

Reviewed-by: Gavin Halliday <ghalliday@hpccsystems.com>
Gavin Halliday 5 年之前
父節點
當前提交
a72ed233e2
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      thorlcr/activities/lookupjoin/thlookupjoinslave.cpp

+ 4 - 0
thorlcr/activities/lookupjoin/thlookupjoinslave.cpp

@@ -2788,11 +2788,15 @@ public:
 
             if (rhsDistributor)
             {
+                // NB: if rhsDistributor is in use, its stream is already consumed by processDistRight()
                 rhsDistributor->disconnect(true);
                 rhsDistributor->join();
             }
             if (lhsDistributor)
             {
+                // If LHS distributor is in use, must signal stop to ensure distributor doesn't stall in receiver
+                if (left)
+                    left->stop();
                 lhsDistributor->disconnect(true);
                 lhsDistributor->join();
             }