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]>
