HBase
  1. HBase
  2. HBASE-3787

Increment is non-idempotent but client retries RPC

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 0.94.4, 0.95.2
    • Fix Version/s: 0.98.0, 0.99.0
    • Component/s: Client
    • Labels:
      None

      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.

      1. HBASE-3787-partial.patch
        64 kB
        Sergey Shelukhin
      2. HBASE-3787-v0.patch
        94 kB
        Sergey Shelukhin
      3. HBASE-3787-v1.patch
        108 kB
        Sergey Shelukhin
      4. HBASE-3787-v2.patch
        111 kB
        Sergey Shelukhin
      5. HBASE-3787-v3.patch
        111 kB
        Sergey Shelukhin
      6. HBASE-3787-v4.patch
        117 kB
        Sergey Shelukhin
      7. HBASE-3787-v5.patch
        119 kB
        Sergey Shelukhin
      8. HBASE-3787-v5.patch
        119 kB
        Sergey Shelukhin
      9. HBASE-3787-v6.patch
        190 kB
        Sergey Shelukhin
      10. HBASE-3787-v7.patch
        199 kB
        Sergey Shelukhin
      11. HBASE-3787-v8.patch
        201 kB
        Sergey Shelukhin
      12. HBASE-3787-v9.patch
        202 kB
        Sergey Shelukhin
      13. HBASE-3787-v10.patch
        204 kB
        Sergey Shelukhin
      14. HBASE-3787-v11.patch
        209 kB
        Sergey Shelukhin
      15. HBASE-3787-v12.patch
        210 kB
        Sergey Shelukhin

        Issue Links

          Activity

          dhruba borthakur created issue -
          stack made changes -
          Field Original Value New Value
          Link This issue relates to HBASE-2182 [ HBASE-2182 ]
          Andrew Purtell made changes -
          Assignee dhruba borthakur [ dhruba ]
          Fix Version/s 0.96.0 [ 12320040 ]
          Affects Version/s 0.94.4 [ 12323367 ]
          Affects Version/s 0.96.0 [ 12320040 ]
          Priority Major [ 3 ] Critical [ 2 ]
          Enis Soztutar made changes -
          Link This issue is related to HADOOP-8394 [ HADOOP-8394 ]
          stack made changes -
          Fix Version/s 0.95.0 [ 12324094 ]
          Fix Version/s 0.96.0 [ 12320040 ]
          stack made changes -
          Fix Version/s 0.95.1 [ 12324288 ]
          Fix Version/s 0.95.0 [ 12324094 ]
          Sergey Shelukhin made changes -
          Assignee Sergey Shelukhin [ sershe ]
          Sergey Shelukhin made changes -
          Attachment HBASE-3787-partial.patch [ 12578276 ]
          Sergey Shelukhin made changes -
          Link This issue depends upon HBASE-7413 [ HBASE-7413 ]
          Sergey Shelukhin made changes -
          Attachment HBASE-3787-v0.patch [ 12581464 ]
          Sergey Shelukhin made changes -
          Status Open [ 1 ] Patch Available [ 10002 ]
          Sergey Shelukhin made changes -
          Attachment HBASE-3787-v1.patch [ 12581965 ]
          Sergey Shelukhin made changes -
          Attachment HBASE-3787-v2.patch [ 12582127 ]
          Sergey Shelukhin made changes -
          Attachment HBASE-3787-v3.patch [ 12582229 ]
          Sergey Shelukhin made changes -
          Attachment HBASE-3787-v4.patch [ 12582375 ]
          Sergey Shelukhin made changes -
          Attachment HBASE-3787-v5.patch [ 12583058 ]
          Sergey Shelukhin made changes -
          Attachment HBASE-3787-v5.patch [ 12583060 ]
          stack made changes -
          Fix Version/s 0.95.2 [ 12320040 ]
          Fix Version/s 0.95.1 [ 12324288 ]
          stack made changes -
          Priority Critical [ 2 ] Blocker [ 1 ]
          stack made changes -
          Fix Version/s 0.95.2 [ 12320040 ]
          Sergey Shelukhin made changes -
          Attachment HBASE-3787-v6.patch [ 12611722 ]
          Sergey Shelukhin made changes -
          Attachment HBASE-3787-v7.patch [ 12612055 ]
          Sergey Shelukhin made changes -
          Attachment HBASE-3787-v8.patch [ 12612070 ]
          Sergey Shelukhin made changes -
          Link This issue blocks HBASE-9899 [ HBASE-9899 ]
          Sergey Shelukhin made changes -
          Attachment HBASE-3787-v9.patch [ 12612969 ]
          Sergey Shelukhin made changes -
          Attachment HBASE-3787-v10.patch [ 12613314 ]
          Sergey Shelukhin made changes -
          Attachment HBASE-3787-v11.patch [ 12613489 ]
          Sergey Shelukhin made changes -
          Attachment HBASE-3787-v12.patch [ 12613942 ]
          Sergey Shelukhin made changes -
          Status Patch Available [ 10002 ] Resolved [ 5 ]
          Fix Version/s 0.98.0 [ 12323143 ]
          Fix Version/s 0.99.0 [ 12325675 ]
          Resolution Fixed [ 1 ]
          Sergey Shelukhin made changes -
          Link This issue breaks HBASE-10069 [ HBASE-10069 ]
          Enis Soztutar made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              Sergey Shelukhin
              Reporter:
              dhruba borthakur
            • Votes:
              0 Vote for this issue
              Watchers:
              20 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development