[
https://issues.apache.org/jira/browse/HBASE-3787?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13821975#comment-13821975
]
Nick Dimiduk commented on HBASE-3787:
-------------------------------------
I agree, this is a very important feature. I'd rather have it and fix any perf
impact later than let is get stale again.
This review is based on `interdiff v10 v11`, so please pardon any confused that
comes about from a rebase.
{noformat}
+ /** Dummy nonce generator for disabled nonces. */
+ private static class NoNonceGenerator implements NonceGenerator {
+ @Override
+ public long getNonceGroup() {
+ return HConstants.NO_NONCE;
+ }
+ @Override
+ public long newNonce() {
+ return HConstants.NO_NONCE;
+ }
+ }
{noformat}
Love it. This is a great way to abstract this component.
{noformat}
+import java.sql.Date;
+import java.text.SimpleDateFormat;
{noformat}
Did you mean {java.util.Date} ?
TestRunnable is excellent.
+1
> Increment is non-idempotent but client retries RPC
> --------------------------------------------------
>
> Key: HBASE-3787
> URL: https://issues.apache.org/jira/browse/HBASE-3787
> Project: HBase
> Issue Type: Bug
> Components: Client
> Affects Versions: 0.94.4, 0.95.2
> Reporter: dhruba borthakur
> Assignee: Sergey Shelukhin
> Priority: Blocker
> Attachments: HBASE-3787-partial.patch, HBASE-3787-v0.patch,
> HBASE-3787-v1.patch, HBASE-3787-v10.patch, HBASE-3787-v11.patch,
> HBASE-3787-v2.patch, HBASE-3787-v3.patch, HBASE-3787-v4.patch,
> HBASE-3787-v5.patch, HBASE-3787-v5.patch, HBASE-3787-v6.patch,
> HBASE-3787-v7.patch, HBASE-3787-v8.patch, HBASE-3787-v9.patch
>
>
> The HTable.increment() operation is non-idempotent. The client retries the
> increment RPC a few times (as specified by configuration) before throwing an
> error to the application. This makes it possible that the same increment call
> be applied twice at the server.
> For increment operations, is it better to use
> HConnectionManager.getRegionServerWithoutRetries()? Another option would be
> to enhance the IPC module to make the RPC server correctly identify if the
> RPC is a retry attempt and handle accordingly.
--
This message was sent by Atlassian JIRA
(v6.1#6144)