Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-11659

Region state RPC call is not idempotent

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.99.0, 0.98.6
    • Component/s: Region Assignment
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      Here is the scenario on 0.98 with zk-less assignment
      The master gets an OPEN RPC call from region server.
      So, it moves the region state from PENDING_OPEN to OPEN.
      But, the call timeouts on the region server and region server retries sending the OPEN call. However, now the master throws an Exception saying the region is not PENDING_OPEN. So, the region servers aborts the region on receiving that exception and sends FAILED_OPEN to master. But the master cannot change its state from FAILED_OPEN to OPEN, so eventually the master keeps the state as OPEN while the actual region is no longer open on region server.

      The master should not throw an exception on receiving OPEN RPC calls multiple times.

        Attachments

        1. HBASE-11659.patch
          0.8 kB
          Virag Kothari
        2. HBASE-11659.patch
          5 kB
          Virag Kothari

        Issue Links

          Activity

            People

            • Assignee:
              virag Virag Kothari
              Reporter:
              virag Virag Kothari

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment