[
https://issues.apache.org/jira/browse/HBASE-11659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14091054#comment-14091054
]
Jimmy Xiang commented on HBASE-11659:
-------------------------------------
+1. Will commit if test passes. At commit, may change
current.getServerName().equals(serverName) to current.isOnServer(serverName).
> Region state RPC call is not idempotent
> ---------------------------------------
>
> Key: HBASE-11659
> URL: https://issues.apache.org/jira/browse/HBASE-11659
> Project: HBase
> Issue Type: Bug
> Components: Region Assignment
> Reporter: Virag Kothari
> Assignee: Virag Kothari
> Attachments: HBASE-11659.patch, HBASE-11659.patch
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v6.2#6252)