[ 
https://issues.apache.org/jira/browse/HBASE-29083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17926617#comment-17926617
 ] 

Andor Molnar commented on HBASE-29083:
--------------------------------------

{quote}The file based register sounds like a good idea. Maybe client writes 
could rely on this file too to figure the current active cluster. Have you guys 
already planned how would the failover be implemented? Maybe some builtin 
command that flips the config value in each cluster, then also update this file 
with the new active cluster?
{quote}
[~anuj.sharma] is working on adding implementation details and ideas to the 
design doc to share with the community.

The HBase filesystem is common between clusters, so certainly we can share this 
information in a dedicated file, but I don't think clusters can monitor it 
without significant overhead. ZooKeeper is more capable for doing that with 
Watchers, but ZK ensembles are different for clusters since metadata should not 
be shared. We're not planning to introduce a shared ZK cluster just for this 
reason.

So we might able to do this as a new HBase operation:
 * flip write -> read_only: delete "active_cluster_id" file from HBase 
filesystem (verify that we're the owner) and add read_only flag to ZK znode 
which is watched by all region servers,
 * flip read_only -> write: add "active_cluster_id" file to HBase filesystem if 
missing and remove read_only flag from watched ZK node.

> Add global read-only mode to HBase
> ----------------------------------
>
>                 Key: HBASE-29083
>                 URL: https://issues.apache.org/jira/browse/HBASE-29083
>             Project: HBase
>          Issue Type: Sub-task
>          Components: master
>            Reporter: Andor Molnar
>            Assignee: Anuj Sharma
>            Priority: Major
>
> Implement *read-only* mode for HBase. Can be set at the start of the cluster 
> or rolling restart.
> New config setting:
> |*Config*|*Default* |*Explanation*|
> |hbase.global.readonly.enabled|false|Puts the entire cluster into read-only 
> mode.|



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to