[ https://issues.apache.org/jira/browse/HBASE-3787?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Shelukhin updated HBASE-3787: ------------------------------------ Attachment: HBASE-3787-v8.patch RB feedback, a little bit space saving for nonces. I looked at hadoop-common retrycache, it seems to be specific to hadoop RPC and depends on some static methods there. > 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-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 > > > 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)