[ 
https://issues.apache.org/jira/browse/HBASE-24781?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

leizhang updated HBASE-24781:
-----------------------------
    Description: 
  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
{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, maby we should set true when 
execute terminate() ?

  was:
  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 
{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, maby we should set true when 
execute terminate() ?


> [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
> {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, maby we should set true when 
> execute terminate() ?



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

Reply via email to