[
https://issues.apache.org/jira/browse/HBASE-27368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Duo Zhang resolved HBASE-27368.
-------------------------------
Fix Version/s: 2.6.0
2.5.1
3.0.0-alpha-4
2.4.15
Hadoop Flags: Reviewed
Resolution: Fixed
Pushed to branch-2.4+.
Thanks [~sunxin] for reviewing!
> 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
> Fix For: 2.6.0, 2.5.1, 3.0.0-alpha-4, 2.4.15
>
>
> 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)