Impala Public Jenkins has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/11283 )
Change subject: IMPALA-7402: fix DCHECK when releasing reservation in scan ...................................................................... IMPALA-7402: fix DCHECK when releasing reservation in scan The bug is that ScannerContext::Stream::GetNextBuffer(), when reading past the end of a scan range and ScanRange::GetNext() returned cancelled, did not wait for buffers owned by the scan range to be freed. Subsequent code assumes that all buffers allocated by the scanner are freed after HdfsScanner::Close() returns, but this was not guaranteed. The fix is to strengthen the post-condition of ScanRange::GetNext() so that buffers are guaranteed to be returned when GetNext() returns CANCELLED. Testing: Added a unit test that tests the new invariant. Manually tested that this fixed the regression by inserting a 10ms sleep in BufferPool::FreeBuffer() and looping the test that failed. Ran DiskIoMgrStressTest overnight and ran core tests. Change-Id: I445d306de0c6bfb71359100de2fdf3cd4326f6d9 Reviewed-on: http://gerrit.cloudera.org:8080/11283 Reviewed-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com> --- M be/src/runtime/io/disk-io-mgr-test.cc M be/src/runtime/io/request-ranges.h M be/src/runtime/io/scan-range.cc 3 files changed, 62 insertions(+), 7 deletions(-) Approvals: Impala Public Jenkins: Looks good to me, approved; Verified -- To view, visit http://gerrit.cloudera.org:8080/11283 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I445d306de0c6bfb71359100de2fdf3cd4326f6d9 Gerrit-Change-Number: 11283 Gerrit-PatchSet: 6 Gerrit-Owner: Tim Armstrong <tarmstr...@cloudera.com> Gerrit-Reviewer: Bikramjeet Vig <bikramjeet....@cloudera.com> Gerrit-Reviewer: Dan Hecht <dhe...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>