saintstack commented on a change in pull request #1011: HBASE-23055 Alter
hbase:meta
URL: https://github.com/apache/hbase/pull/1011#discussion_r365337029
##########
File path:
hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableStateManager.java
##########
@@ -54,8 +53,20 @@
// TODO: Make this a guava Service
@InterfaceAudience.Private
public class TableStateManager {
-
private static final Logger LOG =
LoggerFactory.getLogger(TableStateManager.class);
+
+ /**
+ * All table state is kept in hbase:meta except that of hbase:meta itself.
Review comment:
bq. We should persist it somewhere, and just cache it in master's memory.
I explain why state is intentionally transient for now so table falls-back
to ENABLED if problem like Master crash during alter; its one less thing for
the operator to decipher and hbck2 navigate starting up a cluster; in other
words we fallback to the 'known' state rather than persist DISABLED meta, a new
condition that is sure to have holes in it.
bq. And the solution here just assume that we only have one meta region?
All of the code base presumes this, not just this patch (this patch is part
work to undo this presumption letting go of hardcoded meta schema).
bq. I think this patch also aims to implement splittable meta in the future?
No?
Splittable meta is another project, not this one.
bq. And we do not need to disable a table when altering any more?
This patch makes hbase:meta dynamic. Maybe the above will work. Let me try.
----------------------------------------------------------------
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:
[email protected]
With regards,
Apache Git Services