[ https://issues.apache.org/jira/browse/HBASE-16081?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15363145#comment-15363145 ]
Elliott Clark commented on HBASE-16081: --------------------------------------- Please describe the whole deadlock in the code. Forcing people to read from two places means that the info won't be read by many. > Replication remove_peer gets stuck and blocks WAL rolling > --------------------------------------------------------- > > Key: HBASE-16081 > URL: https://issues.apache.org/jira/browse/HBASE-16081 > Project: HBase > Issue Type: Bug > Components: regionserver, Replication > Reporter: Ashu Pachauri > Assignee: Joseph > Priority: Critical > Attachments: HBASE-16081.patch > > > We use a blocking take from CompletionService in > HBaseInterClusterReplicationEndpoint. When we remove a peer, we try to shut > down all threads gracefully. But, under certain race condition, the > underlying executor gets shutdown and the CompletionService#take will block > forever, which means the remove_peer call will never gracefully finish. > Since ReplicationSourceManager#removePeer and > ReplicationSourceManager#recordLog lock on the same object, we are not able > to roll WALs in such a situation and will end up with gigantic WALs. -- This message was sent by Atlassian JIRA (v6.3.4#6332)