Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.0.0-alpha-1
-
None
-
None
Description
If InitMetaProcedure is retried after creating at least one namespace directory: https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/InitMetaProcedure.java#L115, it will not be able to recover as the procedure does not check for existence of the directories before attempting to create them.
We should check for existence of the directory first and only execute createDirectories if they do not exist. The rest of the procedure looks like it is idempotent. We can additionally optimize to not overwrite the column families.