Adar Dembo has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/8440 )

Change subject: cfile_set: don't reset BloomFileReader on error
......................................................................

cfile_set: don't reset BloomFileReader on error

There is a race between UpdateCompactionStats and the error path of
CFileSet::FindRow(). When FindRow() fails to check its BloomFileReader,
it clears it, but the reader is necessary to determine the rowset size.
Both access the bloom reader without locks.

The reset is an optimization to allow the CFileSet to be scanned
post-error without having to read the bloom file. This isn't compelling:
the failure of a bloom reader doesn't affect the correctness of a scan,
and if the error is a permanent error (e.g. a disk failure), it would be
desirable to eventually fail and replace the tablet; if the error is
transient, then re-reading the bloom filter could yield successful
scans. In either case, clearing the reader doesn't seem necessary.

This patch removes the BloomFileReader reset on error. A couple of
places previously checked the presence of the bloom reader because of
the reset; this is no longer necessary. Also includes some updates to
style in a few related places.

Change-Id: I7435da448a1a33ca5216923311ab920f7a859806
Reviewed-on: http://gerrit.cloudera.org:8080/8440
Reviewed-by: Adar Dembo <[email protected]>
Tested-by: Adar Dembo <[email protected]>
---
M src/kudu/cfile/bloomfile-test-base.h
M src/kudu/cfile/bloomfile-test.cc
M src/kudu/cfile/bloomfile.cc
M src/kudu/cfile/bloomfile.h
M src/kudu/tablet/cfile_set.cc
M src/kudu/tablet/cfile_set.h
6 files changed, 33 insertions(+), 36 deletions(-)

Approvals:
  Adar Dembo: Looks good to me, approved; Verified

--
To view, visit http://gerrit.cloudera.org:8080/8440
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I7435da448a1a33ca5216923311ab920f7a859806
Gerrit-Change-Number: 8440
Gerrit-PatchSet: 5
Gerrit-Owner: Andrew Wong <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: Andrew Wong <[email protected]>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Todd Lipcon <[email protected]>

Reply via email to