Mike Percy has submitted this change and it was merged. Change subject: open FS layout in presence of disk failure ......................................................................
open FS layout in presence of disk failure Currently, if a Kudu server starts up with a failed disk, the server will crash. There are a number of reasons for this, but the pressing one is that the path instance files may not be readable, meaning the directories' UUIDs may not be available. This patch changes this by introducing an "unhealthy" instance in-memory for each instance that fails to lock, load, canonicalize, etc. Such instances are ignored when it comes to checking the integrity of the FS layout, and are simply marked failed by the directory manager. Testing is done in data_dirs-test, log_block_manager-test, and fs_manager-test to ensure failed directories do not impede the managers' startups. Change-Id: Ib2a1c824526ed52a6b90ddfbc735cecc4c491118 Reviewed-on: http://gerrit.cloudera.org:8080/7784 Reviewed-by: Alexey Serbin <aser...@cloudera.com> Tested-by: Kudu Jenkins Reviewed-by: Mike Percy <mpe...@apache.org> Reviewed-by: David Ribeiro Alves <davidral...@gmail.com> --- M src/kudu/fs/block_manager-stress-test.cc M src/kudu/fs/block_manager-test.cc M src/kudu/fs/block_manager_util-test.cc M src/kudu/fs/block_manager_util.cc M src/kudu/fs/block_manager_util.h M src/kudu/fs/data_dirs-test.cc M src/kudu/fs/data_dirs.cc M src/kudu/fs/data_dirs.h M src/kudu/fs/fs_manager-test.cc 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 13 files changed, 645 insertions(+), 173 deletions(-) Approvals: David Ribeiro Alves: Looks good to me, approved Mike Percy: Looks good to me, approved Alexey Serbin: Looks good to me, but someone else must approve Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/7784 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ib2a1c824526ed52a6b90ddfbc735cecc4c491118 Gerrit-PatchSet: 7 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: David Ribeiro Alves <davidral...@gmail.com> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy <mpe...@apache.org> Gerrit-Reviewer: Tidy Bot