Hello Tidy Bot, Kudu Jenkins, Adar Dembo, Grant Henke, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/11249 to look at the new patch set (#12). Change subject: KUDU-2469 pt 2: fail replicas on CFile corruption ...................................................................... KUDU-2469 pt 2: fail replicas on CFile corruption This adds handling for CFile corruption errors via the error manager. If a CFile corruption is encountered, the replica affected will be failed and scheduled to be shutdown (pulling the tablet id of interest from the IOContext), and eventually resulting in its re-replication. Corruption handling is entirely delegated to the CFileReaders, which have access to the error manager. Given that checksum errors are detected in VerifyChecksum(), methods that wrap VerifyChecksum() must expect the corruption and handle it, namely ReadBlock() and Init(). This patch also includes a fault injection flag that helped facilitate testing, and some extra plumbing of IOContexts in places that were caught without coverage: the IndexTreeIterator and the BloomCache. Change-Id: I63d541443bc68c83fd0ca6d51315143fee04d50f --- M src/kudu/cfile/bloomfile.cc M src/kudu/cfile/cfile-test.cc M src/kudu/cfile/cfile_reader.cc M src/kudu/cfile/cfile_reader.h M src/kudu/cfile/index_btree.cc M src/kudu/cfile/index_btree.h M src/kudu/fs/error_manager.cc M src/kudu/fs/error_manager.h M src/kudu/fs/io_context.h M src/kudu/integration-tests/disk_failure-itest.cc M src/kudu/tablet/deltafile.cc M src/kudu/tserver/tablet_server-test.cc M src/kudu/tserver/tablet_server.cc 13 files changed, 342 insertions(+), 77 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/49/11249/12 -- To view, visit http://gerrit.cloudera.org:8080/11249 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I63d541443bc68c83fd0ca6d51315143fee04d50f Gerrit-Change-Number: 11249 Gerrit-PatchSet: 12 Gerrit-Owner: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: Grant Henke <granthe...@apache.org> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot