[ https://issues.apache.org/jira/browse/HBASE-23231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16964519#comment-16964519 ]
Hudson commented on HBASE-23231: -------------------------------- Results for branch branch-2 [build #2340 on builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/2340/]: (x) *{color:red}-1 overall{color}* ---- details (if available): (/) {color:green}+1 general checks{color} -- For more information [see general report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/2340//General_Nightly_Build_Report/] (x) {color:red}-1 jdk8 hadoop2 checks{color} -- For more information [see jdk8 (hadoop2) report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/2340//JDK8_Nightly_Build_Report_(Hadoop2)/] (x) {color:red}-1 jdk8 hadoop3 checks{color} -- For more information [see jdk8 (hadoop3) report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/2340//JDK8_Nightly_Build_Report_(Hadoop3)/] (/) {color:green}+1 source release artifact{color} -- See build output for details. (/) {color:green}+1 client integration test{color} > ReplicationSource do not update metrics after refresh > ----------------------------------------------------- > > Key: HBASE-23231 > URL: https://issues.apache.org/jira/browse/HBASE-23231 > Project: HBase > Issue Type: Bug > Components: wal > Affects Versions: 2.2.2 > Reporter: Lijin Bin > Assignee: Lijin Bin > Priority: Major > Fix For: 3.0.0, 2.3.0, 2.2.2, 2.1.8 > > > 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)