Adar Dembo has submitted this change and it was merged. Change subject: disk failure: coordinate error handling ......................................................................
disk failure: coordinate error handling IO errors are spawned when calls to env functions fail. The response to these errors may vary and may span many layers of abstraction. For instance, if an EIO were triggered while writing a block, one response might be to shut down the tablet whose operation just failed. In order to do this without messing up the layering, a new entity, the FsErrorManager, is added to coordinate error handling. Callbacks are registered with the FsErrorManager as responses to errors, and callers to at-risk functions trigger these callbacks as errors are spawned. This patch includes the FsErrorManager and its placement w.r.t. the BlockManager, FsManager, TSTabletManager, etc. Actual handling and testing will come in a later patch. This is a part of a series of patches to handle disk failure. See section 2.2 of: https://docs.google.com/document/d/1zZk-vb_ETKUuePcZ9ZqoSK2oPvAAaEV1sjDXes8Pxgk/edit?usp=sharing Change-Id: Ib3169deada702c527b70fabf9d2223364f9a9ea6 Reviewed-on: http://gerrit.cloudera.org:8080/7029 Reviewed-by: Adar Dembo <[email protected]> Tested-by: Adar Dembo <[email protected]> --- M src/kudu/fs/block_manager-stress-test.cc M src/kudu/fs/block_manager-test.cc M src/kudu/fs/data_dirs.cc M src/kudu/fs/data_dirs.h A src/kudu/fs/error_manager.h M src/kudu/fs/file_block_manager.cc M src/kudu/fs/file_block_manager.h M src/kudu/fs/fs_manager.cc M src/kudu/fs/fs_manager.h M src/kudu/fs/log_block_manager-test.cc M src/kudu/fs/log_block_manager.cc M src/kudu/fs/log_block_manager.h M src/kudu/tserver/tablet_server.cc M src/kudu/tserver/ts_tablet_manager.cc M src/kudu/tserver/ts_tablet_manager.h 15 files changed, 184 insertions(+), 28 deletions(-) Approvals: Adar Dembo: Looks good to me, approved; Verified -- To view, visit http://gerrit.cloudera.org:8080/7029 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ib3169deada702c527b70fabf9d2223364f9a9ea6 Gerrit-PatchSet: 27 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Andrew Wong <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Andrew Wong <[email protected]> Gerrit-Reviewer: David Ribeiro Alves <[email protected]> Gerrit-Reviewer: Mike Percy <[email protected]> Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon <[email protected]>
