Hello Alexey Serbin, Kudu Jenkins, Todd Lipcon, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/8859 to look at the new patch set (#2). Change subject: KUDU-2115: remove unnecessary compaction selection check ...................................................................... KUDU-2115: remove unnecessary compaction selection check Tablets will perform compaction selection on a copy of the currently available rowsets in order to avoid holding the component_lock_ for the duration of rowset selection. It is then verified that nothing else compacted the selected rowsets by iterating over the selected rowsets and checking that they still exist to be compacted. However, the initial selection of rowsets is performed on a snapshotted copy of the available rowsets, and in between the snapshot of the rowsets and the verification, the component_lock_ is dropped. As such, the verification hits false negatives if other threads are able to take the component_lock_ and modify the available rowsets. The verification itself is unnecessary, as the correct set of rowsets would be returned by PickRowSetsToCompact(), even if the verification were to fail, so I've removed it. I verified the diagnosis by placing a random sleep just after making the copy in PickRowSetsToCompact() and seeing TabletServerDiskFailureTest.TestRandomOpSequence, which schedules many compactions, fail consistently with the failed verification. Upon making the fix, this passes. Change-Id: I4dab330d61facb18717f6faf179f9b94a9e55236 --- M src/kudu/tablet/tablet.cc 1 file changed, 0 insertions(+), 18 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/59/8859/2 -- To view, visit http://gerrit.cloudera.org:8080/8859 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I4dab330d61facb18717f6faf179f9b94a9e55236 Gerrit-Change-Number: 8859 Gerrit-PatchSet: 2 Gerrit-Owner: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <t...@apache.org>