You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Lijin Bin (Jira)" <ji...@apache.org> on 2019/10/30 09:25:00 UTC

[jira] [Created] (HBASE-23231) ReplicationSource do not update metrics when refresh

Lijin Bin created HBASE-23231:
---------------------------------

             Summary: ReplicationSource do not update metrics when refresh
                 Key: HBASE-23231
                 URL: https://issues.apache.org/jira/browse/HBASE-23231
             Project: HBase
          Issue Type: Bug
    Affects Versions: 2.2.2
            Reporter: Lijin Bin
            Assignee: Lijin Bin


When replication refresh to new state, it will create a new source and terminate the old source and replace the old source with new source.
{code}
  public void refreshSources(String peerId) throws IOException {
    String terminateMessage = "Peer " + peerId +
      " state or config changed. Will close the previous replication source and open a new one";
    ReplicationPeer peer = replicationPeers.getPeer(peerId);
    ReplicationSourceInterface src = createSource(peerId, peer);
    // synchronized on latestPaths to avoid missing the new log
    synchronized (this.latestPaths) {
      ReplicationSourceInterface toRemove = this.sources.put(peerId, src);
      if (toRemove != null) {
        LOG.info("Terminate replication source for " + toRemove.getPeerId());
        toRemove.terminate(terminateMessage);
      }
      for (NavigableSet<String> walsByGroup : walsById.get(peerId).values()) {
        walsByGroup.forEach(wal -> src.enqueueLog(new Path(this.logDir, wal)));
      }
    }
    LOG.info("Startup replication source for " + src.getPeerId());
    src.startup();
{code}

terminate replication source will remove all metrics, current terminate replication source be called after create new source which do init metrics, so the result is there is no corresponding metrics after refresh replication source.






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