You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Ian Varley (JIRA)" <ji...@apache.org> on 2012/08/22 20:38:42 UTC

[jira] [Commented] (HBASE-5320) Create client API to handle HBase maintenance gracefully

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

Ian Varley commented on HBASE-5320:
-----------------------------------

Seems like something along the lines of the circuit breaker pattern would be useful in the HBase client:

http://techblog.netflix.com/2012/02/fault-tolerance-in-high-volume.html

In other words, whether it's planned or unplanned, inability to reach the cluster should be something the client can detect and pass along to clients. 

The simplest way is by throwing immediate exceptions when the client detects the cluster is unreachable (while, in the background, the client continues to attempt to reconnect). A more sophisticated way might have some API clients can check about up-ness; but, of course, then they have to check that on every call, so it's not really all that different from just throwing a specific kind of exception and having them handle that at whatever level they feel like it. The key part is maintaining that state in some central place in the client's JVM.

This is tricky to get right (you don't want to be throwing exceptions if the cluster is really up and it's a false alarm!).
                
> Create client API to handle HBase maintenance gracefully
> --------------------------------------------------------
>
>                 Key: HBASE-5320
>                 URL: https://issues.apache.org/jira/browse/HBASE-5320
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Mikhail Bautin
>            Assignee: Mikhail Bautin
>            Priority: Minor
>
> When we do HBase cluster maintenance, we typically have to manually stop or disable the client temporarily. It would be nice to have a way for the client to find out that HBase in undergoing maintenance through an appropriate API and gracefully handle it on its own.

--
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