Impala Public Jenkins has submitted this change and it was merged. Change subject: IMPALA-5427: Fix race between CRS::UpdateQueryStatus() and beeswax RPCs ......................................................................
IMPALA-5427: Fix race between CRS::UpdateQueryStatus() and beeswax RPCs There was a race between ClientRequestState::UpdateQueryStatus() and the beeswax get_state()/get_log() RPCs leading to the rare situation that a query would abort with an error, but the error message would be empty. The fix is to take the ClientRequestState lock in the beeswax RPCs before obtaining the status. To test this I ran test_corrupt_files in a loop for a day. Without this fix, it would usually fail within a few hours. I changed the test to allow running it in parallel like so: @pytest.mark.parametrize('multiplier', xrange(32)) def test_corrupt_files(self, vector, multiplier): Then I ran it in a loop like so: i=0; while [ $? -eq 0 ]; do ((++i)); echo "Run: $i"; impala-py.test \ tests/query_test/test_scanners.py::TestParquet::test_corrupt_files \ --exploration_strategy=exhaustive -n8; done Change-Id: Ib4494fe3f933cc23841db0e7da407eec5650f2b5 Reviewed-on: http://gerrit.cloudera.org:8080/7155 Reviewed-by: Lars Volker <l...@cloudera.com> Tested-by: Impala Public Jenkins --- M be/src/service/impala-beeswax-server.cc 1 file changed, 28 insertions(+), 19 deletions(-) Approvals: Impala Public Jenkins: Verified Lars Volker: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/7155 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ib4494fe3f933cc23841db0e7da407eec5650f2b5 Gerrit-PatchSet: 15 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Lars Volker <l...@cloudera.com> Gerrit-Reviewer: Dan Hecht <dhe...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Lars Volker <l...@cloudera.com> Gerrit-Reviewer: Sailesh Mukil <sail...@cloudera.com>