Todd Lipcon has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/9596 )
Change subject: KUDU-2153. Servers should not delete tmp files until after locking directories ...................................................................... KUDU-2153. Servers should not delete tmp files until after locking directories This changes the order of FsManager startup to not try to clean tmp files until after successfully locking the data directories. This prevents potential issues such as: - a tserver is already running on some host, and in the middle of consensus voting. Thus it has created a tmp file. - someone accidentally attempts to start a tserver with the same set of data dirs. Prior to this patch, it would delete the tmp file before realizing that it could not successfully lock its data dirs and aborting. - the original tserver would crash or otherwise get very confused because the tmp file it just wrote would be gone. This patch relies on the locking on the block manager instance files to provide exclusive access to some non-block-manager-related storage such as the consensus meta, etc. That means that it's still possible for someone to hit the above issue if they were to start servers with disjoint sets of data dirs but with the same meta dir. However, the patch is still a net improvement because the most likely scenario is that the two servers are started with identical configurations. This patch also removes the block_manager_lock_dirs flag which was apparently unused. It was always marked as 'unsafe' so it's not a compatibility issue to remove it without a deprecation period. Change-Id: I3a3471c8ce00e77fa1712ea518f6ab281864a08d Reviewed-on: http://gerrit.cloudera.org:8080/9596 Reviewed-by: Adar Dembo <a...@cloudera.com> Tested-by: Todd Lipcon <t...@apache.org> --- M src/kudu/fs/block_manager.cc M src/kudu/fs/file_block_manager.cc M src/kudu/fs/fs_manager-test.cc M src/kudu/fs/fs_manager.cc M src/kudu/fs/log_block_manager.cc M src/kudu/util/env_posix.cc 6 files changed, 49 insertions(+), 24 deletions(-) Approvals: Adar Dembo: Looks good to me, approved Todd Lipcon: Verified -- To view, visit http://gerrit.cloudera.org:8080/9596 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3a3471c8ce00e77fa1712ea518f6ab281864a08d Gerrit-Change-Number: 9596 Gerrit-PatchSet: 3 Gerrit-Owner: Todd Lipcon <t...@apache.org> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Andrew Wong <andrew.w...@cloudera.com> Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <t...@apache.org>