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

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.99.0, 0.98.6
    • Region Assignment
    • None
    • 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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            virag Virag Kothari
            virag Virag Kothari
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment