HPCC-9264 - Avoid possible deadlocks if error gathering lookup RHS

If an exception occurred whilst gathering the RHS, the exception
could be lost by the one of the broadcast or processing threads.
The exception was tucked away waiting for the offending thread to
be joined, which never heappened.
Handle exception, retain and abort the broadcast.

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
Merge pull request #4355 from jakesmith/hpcc-9264

HPCC-9264 - Avoid possible deadlocks if error gathering lookup RHS

Reviewed-By: Gavin Halliday <gavin.halliday@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Community Edition 3.10.8-2 Gold

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Merge remote-tracking branch 'origin/candidate-3.10.8' into candidate-3.10.x

Conflicts:
	version.cmake

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-9300 - HashJoin serialization race condition

Regression introduced by gh-4332.
A 'CMemoryBufferSerialStream::get read past end of stream' could
occur as a result of a race condition betwen the 2 distributors
used in hash join. The changes in gh-4332 caused both to share
the same mp tag, which could mean that the 1st distributor on
some nodes could start receiving packets from the 2nd distributor
on others.

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
Merge pull request #4374 from jakesmith/hpcc-9300

HPCC-9300 - HashJoin serialization race condition

Reviewed-By: Gavin Halliday <gavin.halliday@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Community Edition 3.10.8-3 Gold

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Merge remote-tracking branch 'origin/candidate-3.10.8' into candidate-3.10.x

Conflicts:
	version.cmake

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Merge remote-tracking branch 'origin/candidate-3.10.x' into candidate-4.0.0

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>