ndimiduk commented on pull request #4180:
URL: https://github.com/apache/hbase/pull/4180#issuecomment-1081876963


   Kudos to you @bbeaudreault for wading into our Exception hierarchy, a 
relatively neglected facet of our public API. Since we're opening this 
discussion, I'll add some of my own thoughts.
   
   * I agree that "call queue too big/full" is actually an error message (an 
explanation of the server detailed state that we should not share back to the 
client, to be honest), not an error behavior/category. Probably this is a 
message that is sometimes present on some type of "server error" exception 
type. Can we get rid of the type entirely and instead use some type of "chill 
and retry" server exception type ?
   * "Call dropped" is also an explanation for a generic "server error" type ; 
again, it sounds to me like a courtesy message... I notice that we don't 
disconnect the client in this case, implying that they should retry, but 
provide no guidance on such a retry.
   * I like the principal of a class of errors that are server-side responses 
to a client. I don't know how we've gone on so long with out it. Your 
`HBaseServerException` works for me.
   * "server overloaded" is an awkward part of our API. It's a hint to the 
client to change its behavior, but is not specific at all. By contrast, HTTP 
has the [Retry-After 
header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) 
that includes a specific wait interval. I like this better as a field than an 
exception class of its own.


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

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to