[ https://issues.apache.org/jira/browse/HBASE-3787?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Shelukhin updated HBASE-3787: ------------------------------------ Resolution: Fixed Fix Version/s: 0.99.0 0.98.0 Status: Resolved (was: Patch Available) This was actually committed some time ago (before branching 0.98 I think) > 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 > Fix For: 0.98.0, 0.99.0 > > Attachments: HBASE-3787-partial.patch, HBASE-3787-v0.patch, > HBASE-3787-v1.patch, HBASE-3787-v10.patch, HBASE-3787-v11.patch, > HBASE-3787-v12.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)