Преглед изворни кода

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();
             }