[ 
https://issues.apache.org/jira/browse/HBASE-24781?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17166934#comment-17166934
 ] 

leizhang commented on HBASE-24781:
----------------------------------

h1. ReplicationSource do not update metrics after refresh

> [Replication] When execute shell cmd "disable_peer peerId",the  master web UI 
> show a wrong number of SizeOfLogQueue
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-24781
>                 URL: https://issues.apache.org/jira/browse/HBASE-24781
>             Project: HBase
>          Issue Type: Bug
>          Components: Replication
>    Affects Versions: 2.2.5
>            Reporter: leizhang
>            Priority: Major
>
>   Supposed that we have an peer with id 1,  when execute shell cmd 
> disable_peer  '1' , then i can see the SizeOfLogQueue metric of all 
> regionservers   +1 ,  after 10 times disable_peer ops  , it will increase to 
> 11, and  it will never decrease to 1 in fulture .
>   I can see the function ReplicationSourceManager.refreshSources(peerId) 
> called , it will terminate the previous replication source and create a new 
> one.  and i found the note  //Do not clear metrics in the bellow code block:
> {code:java}
> ReplicationSourceInterface toRemove = this.sources.put(peerId, src);
> if (toRemove != null) {
>   LOG.info("Terminate replication source for " + toRemove.getPeerId());
>   // Do not clear metrics
>   toRemove.terminate(terminateMessage, null, false);
> }
> {code}
>  this cause the wrong number of sizeOfLogQueue, maybe we should set true when 
> execute terminate() ?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to