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

Jesse Yates commented on HBASE-5547:
------------------------------------

@Ted, stack: there is a race condition where the client thinks that backups are 
active, when ZK hasn't in fact sent watch notifications to all the RS. Granted, 
this is a small time window (hopefully), but is definitely a concern and 
something that I've seen take up to a few seconds to propagate. It's probably 
not a big deal, but that is the concern and if you are doing tables backups 
based on when archiving is enabled, you want to make sure archiving is in fact 
enabled on all nodes.

{quote}
If we encode the backup mode in the data associated with the table node, the 
region servers would be able to register watcher for the table nodes 
{quote}
Are you basically talking about doing per-table configuration storage in the 
table znode? I think this would be completely viable with the transaction stuff 
- essentially check the version and update the data if matches expected, if not 
propose new value and try again (see below for paxos concerns, though this 
isn't actually all that rough from the client side). 

{quote}
If we had a dynamic Configuration system, one that didn't require roll of table 
to set the table 'read-only' or 'in-back-up mode', would that help here?
{quote}
That's essentially what I was building here, but just for state changes. 
Unfortunately, its pretty close to Paxos (propsing new value, getting 
acceptance, confirming value update to client), and has a lot of complexity to 
ensure changes propagate - the latter being the biggest concern from a 
'consistent view of the cluster by the client' standpoint.

{quote}
For sure could poll zk the first time but should then cache the setting and 
only drop it later if a callback says it changed.
{quote}
If they are disabled, they need to check everytime to see if it has been 
enabled. Once it has been enabled, it could then wait for the disable to 
propagate via notifications because the excess backup files aren't a big deal, 
but the loss of backup files is an issue.
                
> Don't delete HFiles when in "backup mode"
> -----------------------------------------
>
>                 Key: HBASE-5547
>                 URL: https://issues.apache.org/jira/browse/HBASE-5547
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Lars Hofhansl
>            Assignee: Jesse Yates
>
> This came up in a discussion I had with Stack.
> It would be nice if HBase could be notified that a backup is in progress (via 
> a znode for example) and in that case either:
> 1. rename HFiles to be delete to <file>.bck
> 2. rename the HFiles into a special directory
> 3. rename them to a general trash directory (which would not need to be tied 
> to backup mode).
> That way it should be able to get a consistent backup based on HFiles (HDFS 
> snapshots or hard links would be better options here, but we do not have 
> those).
> #1 makes cleanup a bit harder.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to