[
https://issues.apache.org/jira/browse/HBASE-5320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13440040#comment-13440040
]
Lars Hofhansl commented on HBASE-5320:
--------------------------------------
There are many ways to skin this cat (although I hate this expression :) ).
One of the simplest is to simply allow the client to fail fast if the cluster
is down (for example by reacting to ConnectionRefused conditions - which means
the host was reachable, but nothing was listening on the port). I created and
fixed some jira around this. But there is still room for improvement,
especially in the ZK client!
Similar to this would be the circuit breaker design.
Another option is what Mikhail describes: An extra API to detect whether the
cluster is up or not (and actually that would be needed also for the circuit
breaker, since it needs a way to detect this condition).
Asynchronous handling is difficult when the client is running in an AppServer,
which itself is driven by (say) web requests. One can do comet style request
parking and replay, but that goes only so far.
That asynchronous snippet is nice, it, too, does require client side that can
reliably detect an unavailable cluster while avoiding false down-indicators.
> 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