[ https://issues.apache.org/jira/browse/HBASE-3621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13007974#comment-13007974 ]
Ted Yu commented on HBASE-3621: ------------------------------- assign() calls the following method: {code} serverManager.sendRegionOpen(plan.getDestination(), state.getRegion()); {code} I think we should move call to assign() outside of {code} synchronized (regionsInTransition) { } {code} block. I noticed the call assign(regionState, false, true) at line 1790 doesn't obtain lock on regionState, inconsistent with the other calls to: {code} private void assign(final RegionState state, final boolean setOfflineInZK, final boolean forceNewPlan) { {code} > The timeout handler in AssignmentManager does an RPC while holding lock on > RIT; a big no-no > ------------------------------------------------------------------------------------------- > > Key: HBASE-3621 > URL: https://issues.apache.org/jira/browse/HBASE-3621 > Project: HBase > Issue Type: Bug > Reporter: stack > Assignee: Ted Yu > Fix For: 0.90.2 > > Attachments: hbase-3621.txt > > > J-D found this debugging a failure on Dmitriy's cluster; we're RPC'ing under > a synchronized(regionsInTransition). Fix. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira