anoopsjohn commented on a change in pull request #2113:
URL: https://github.com/apache/hbase/pull/2113#discussion_r460480350



##########
File path: 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/InitMetaProcedure.java
##########
@@ -71,8 +71,8 @@ private static void writeFsLayout(Path rootDir, Configuration 
conf) throws IOExc
     LOG.info("BOOTSTRAP: creating hbase:meta region");
     FileSystem fs = rootDir.getFileSystem(conf);
     Path tableDir = CommonFSUtils.getTableDir(rootDir, 
TableName.META_TABLE_NAME);
-    if (fs.exists(tableDir) && !fs.delete(tableDir, true)) {
-      LOG.warn("Can not delete partial created meta table, continue...");
+    if (fs.exists(tableDir)) {

Review comment:
       I agree that in cloud cluster recreate case, this META FS delete is a 
bigger concern.  At least the other case of unknown servers, we can make the 
table to be disabled at least.. But here not such workaround even possible I 
fear. Thanks for pointing out.
   Now taking a step back.  All these decision points in HM start regarding 
bootstrapping or AM work is based on the assumption that HBase is a 
continuously running cluster.  So the cluster comes up first and then data 
getting persisted in FS over the run.  Now in cloud there is a very useful 
feature of delete a cluster and keep the data in blob store and later when 
needed, recreate the cluster pointing to the existing data.  Many of the 
decision making in HM start is not holding right at that time! (Like the one 
above which thinks that if there is no META location in zk, means meta table 
was never been online and no data in it)  So what we need is a way to know that 
whether this cluster start is from an existing data (cluster recreate)..  All 
these decisions can be based on that check result (?)  Even the unknown server 
handling also so that it will happen ONLY in this special cloud case and only 
once.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to