[
https://issues.apache.org/jira/browse/HBASE-27368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Work on HBASE-27368 started by Duo Zhang.
-----------------------------------------
> Do not need to throw IllegalStateException when peer is not active in
> ReplicationSource.initialize
> --------------------------------------------------------------------------------------------------
>
> Key: HBASE-27368
> URL: https://issues.apache.org/jira/browse/HBASE-27368
> Project: HBase
> Issue Type: Bug
> Components: regionserver, Replication
> Reporter: Duo Zhang
> Assignee: Duo Zhang
> Priority: Major
>
> The only place where we can reset the sourceRunning flag to false is in
> terminate method, where we want to stop the replication source. And we
> already have a interrupted state check in the initialize method to not throw
> IllegalStateException when peer is terminating, so I think here we could just
> do not throw IllegalStateExeption at all.
> The reason why the interrupted state check does not work is that, in
> FutureUtils.get, we will wrap InterruptedException with
> InterruptedIOException, without restoring the interrupted state, but the
> upper layer does not treat InterruptedIOException specially so the
> interrupted state is lost. But anway, I do not think we should rely on the
> interrupted state to determine whether we should abort the region server...
--
This message was sent by Atlassian Jira
(v8.20.10#820010)