GiraffaFS / giraffa

Giraffa FileSystem (Slack: giraffa-fs.slack.com)
https://giraffa.ci.cloudbees.com
Apache License 2.0
17 stars 6 forks source link

Use RetryingCallerInterceptor to handle Exceptions #149

Closed milandesai closed 9 years ago

milandesai commented 9 years ago

Currently, we implement our own makeshift RpcRetryingCaller to avoid retrying filesystem exceptions. With HBase 1.0, a better way is to use an Interceptor that captures Exceptions thrown by the server and rethrows them if they are filesystem-related. This allows non-filesystem related Exceptions to be processed normally and avoids rewriting the RPC retrying implementation.

shvachko commented 9 years ago

Great. Simplifies things. We probably can move GiraffaRpcRetryingCallerFactory inside org.apache.hadoop.hbase.client package, and then FileSystemExceptionInterceptor can be a static sub class inside the factory.

shvachko commented 9 years ago

I moved GiraffaRpcRetryingCallerFactory under hbase.client and merged everything in one class.

shvachko commented 9 years ago

Committed. Thank you, Milan.