You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "leizhang (Jira)" <ji...@apache.org> on 2020/08/18 09:33:00 UTC

[jira] [Updated] (HBASE-24781) [Replication] When execute shell cmd "disable_peer peerId",the master web UI show a wrong number of SizeOfLogQueue

     [ 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'  and enable_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) is called , it will terminate the previous replication source and create a new one.  and 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, i think it's a sub issue of (HBASE-23231)

  was:
  Supposed that we have an peer with id 1,  when execute shell cmd disable_peer  '1'  and enable_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) is 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, i think it's a sub issue of (HBASE-23231)


> [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'  and enable_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) is called , it will terminate the previous replication source and create a new one.  and 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, i think it's a sub issue of (HBASE-23231)



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