Andrew Wong has uploaded this change for review. ( 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. Change-Id: I7435da448a1a33ca5216923311ab920f7a859806 --- M src/kudu/tablet/cfile_set.cc 1 file changed, 2 insertions(+), 4 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/40/8440/1 -- 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: newchange Gerrit-Change-Id: I7435da448a1a33ca5216923311ab920f7a859806 Gerrit-Change-Number: 8440 Gerrit-PatchSet: 1 Gerrit-Owner: Andrew Wong <[email protected]>
