[
https://issues.apache.org/jira/browse/HBASE-26283?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17416392#comment-17416392
]
Duo Zhang commented on HBASE-26283:
-----------------------------------
Could please grep for pid=374353 and also pid=418061?Seems there are two TRSP
at the same time for the same region, but we have guard in code, to force only
one TRSP for a region. You can see the code, we will attach the TRSP to the
RegionStateNode.
And what is your JDK version?
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8215355
This is bug in JDK. The title is dead lock, but it is possible to cause two
threads execute at the same time in a critical section, which may cause some
strange behaviors.
> RegionServer ignored a procedure dute to repeatedly opening which lead region
> stuck in RIT
> ------------------------------------------------------------------------------------------
>
> Key: HBASE-26283
> URL: https://issues.apache.org/jira/browse/HBASE-26283
> Project: HBase
> Issue Type: Improvement
> Components: Region Assignment
> Affects Versions: 2.3.5
> Reporter: bolao
> Priority: Minor
>
> when hbase cluster shut down Suddenlly, there are some repeatedly
> opening regions and cause them to stuck in RTI。we found
> org.apache.hadoop.hbase.regionserver.handler.AssignRegionHandler#process()
> directly return when handle repeatedly opening regions, and don't report to
> master, master unable to process next status for this procedure, and
> regions stuck in RIT。so can we do like this:
> # AssignRegionHandler report the region is online if regionserver found the
> region is online,
> # or AssignRegionHandler report the region is failed online if regionserver
> found the region is online, let Hmater to retry。
> please give some suggestions, thanks !
> {code:java}
> // code placeholder
> Region onlineRegion = rs.getRegion(encodedName); if (onlineRegion != null) {
> LOG.warn("Received OPEN for the region:{}, which is already online",
> regionName);
> // Just follow the old behavior, do we need to call
> reportRegionStateTransition? Maybe not?
> // For normal case, it could happen that the rpc call to schedule this
> handler is succeeded,
> // but before returning to master the connection is broken. And when master
> tries again, we
> // have already finished the opening. For this case we do not need to call
> // reportRegionStateTransition any more.
> return; }
> {code}
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)