Hello Alex Behm, Dan Hecht, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/9456 to look at the new patch set (#4). Change subject: IMPALA-6588: don't add empty list of ranges in text scan ...................................................................... IMPALA-6588: don't add empty list of ranges in text scan DiskIoMgr::AddScanRanges() can returned CANCELLED even when adding an empty list of scan ranges. We should avoid adding empty lists of scan ranges, specifically after all ranges have been completed, e.g. if the scanner threads all complete before scan ranges are issued. The specific race that was possible when added non-compressed text ranges was: 1. HdfsTextScanner::IssueInitialRanges() starts executing on thread A and issues 1 or more non-compressed ranges. 2. A scanner thread processes all the non-compressed ranges, notices completion and calls SetDone(), which cancels reader_context_. 3. HdfsTextScanner::IssueInitialRanges() calls AddScanRanges() with empty compressed ranges, and returns CANCELLED because the reader_context_ is cancelled. This patch fixes HdfsTextScanner::IssueInitialRanges() to avoid the anti-pattern of adding empty lists of scan ranges. Testing: Ran core tests. Looped the table sample and scanner tests for a while. Change-Id: I661a9e234fb87ebdd2596519b44ffba0d7e91d4c --- M be/src/exec/hdfs-parquet-scanner.cc M be/src/exec/hdfs-scan-node-base.cc M be/src/exec/hdfs-text-scanner.cc M be/src/runtime/io/disk-io-mgr.cc M be/src/runtime/io/disk-io-mgr.h 5 files changed, 14 insertions(+), 6 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/56/9456/4 -- To view, visit http://gerrit.cloudera.org:8080/9456 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I661a9e234fb87ebdd2596519b44ffba0d7e91d4c Gerrit-Change-Number: 9456 Gerrit-PatchSet: 4 Gerrit-Owner: Tim Armstrong <tarmstr...@cloudera.com> Gerrit-Reviewer: Alex Behm <alex.b...@cloudera.com> Gerrit-Reviewer: Dan Hecht <dhe...@cloudera.com> Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>