Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
Description
Small bug in ReplicationSourceManager, it won't cleanup after locking another's RS znode if it didn't contain any queue at all. It happens in transferQueues():
LOG.info("Moving " + rsZnode + "'s hlogs to my queue"); SortedMap<String, SortedSet<String>> newQueues = this.zkHelper.copyQueuesFromRS(rsZnode); if (newQueues == null || newQueues.size() == 0) { return; } this.zkHelper.deleteRsQueues(rsZnode);
That last line should be before the if, so that it deletes the lock znode and the RS znode. Currently a lot of cruft piles up in ZK after a few restarts with replication enabled and no queues, or in slave RSs.