Description
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.
Attachments
Attachments
Issue Links
- blocks
-
HBASE-9899 for idempotent operation dups, return the result instead of throwing conflict exception
-
- Closed
-
- breaks
-
HBASE-10069 Potential duplicate calls to log#appendNoSync() in HRegion#doMiniBatchMutation()
-
- Closed
-
- depends upon
-
HBASE-7413 Convert WAL to pb
-
- Closed
-
- is related to
-
HADOOP-8394 Add flag in RPC requests indicating when a call is a retry
-
- Open
-
- relates to
-
HBASE-2182 rpc/ipc refactor; x-version compatibility, nio, async, enveloping, sane timeouts, etc.
-
- Closed
-