Quanlong Huang has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/16489


Change subject: IMPALA-10183: Fix hitting DCHECK when cancelling a query with 
result spooling
......................................................................

IMPALA-10183: Fix hitting DCHECK when cancelling a query with result spooling

BufferedPlanRootSink has a Promise, all_results_spooled_, that could be
accessed by different threads, e.g. the fragment execution thread and
cancellation threads. The main purpose of setting this Promise is to
unblock the coordinator if it's waiting for this. It doesn't affect
correctness if an existing value is overwritten. Only logging is affected.
So we can simply declare this Promise's mode to be MULTIPLE_PRODUCER to
avoid hitting the DCHECK in Promise.Set().

Tests:
 - Run TestResultSpoolingFailpoints::test_failpoints for more than 4000
   iterations

Change-Id: Iaba0ed729ef984f9c51347df02e9fb6f90bc71e0
---
M be/src/exec/buffered-plan-root-sink.cc
M be/src/exec/buffered-plan-root-sink.h
2 files changed, 9 insertions(+), 3 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/89/16489/1
--
To view, visit http://gerrit.cloudera.org:8080/16489
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iaba0ed729ef984f9c51347df02e9fb6f90bc71e0
Gerrit-Change-Number: 16489
Gerrit-PatchSet: 1
Gerrit-Owner: Quanlong Huang <[email protected]>

Reply via email to