[ https://issues.apache.org/jira/browse/HBASE-6700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13486621#comment-13486621 ]
Hudson commented on HBASE-6700: ------------------------------- Integrated in HBase-TRUNK #3497 (See [https://builds.apache.org/job/HBase-TRUNK/3497/]) HBASE-6700 [replication] empty znodes created during queue failovers aren't deleted (Terry Zhang via JD) (Revision 1403581) Result = FAILURE jdcryans : Files : * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/ReplicationZookeeper.java > [replication] empty znodes created during queue failovers aren't deleted > ------------------------------------------------------------------------ > > Key: HBASE-6700 > URL: https://issues.apache.org/jira/browse/HBASE-6700 > Project: HBase > Issue Type: Bug > Components: Replication > Affects Versions: 0.94.1 > Reporter: terry zhang > Assignee: terry zhang > Fix For: 0.94.3, 0.96.0 > > Attachments: HBASE-6700.patch > > > Please check code below > {code:title=ReplicationSourceManager.java|borderStyle=solid} > // NodeFailoverWorker class > public void run() { > { > ... > LOG.info("Moving " + rsZnode + "'s hlogs to my queue"); > SortedMap<String, SortedSet<String>> newQueues = > zkHelper.copyQueuesFromRS(rsZnode); // Node create here* > zkHelper.deleteRsQueues(rsZnode); > if (newQueues == null || newQueues.size() == 0) { > return; > } > ... > } > public void closeRecoveredQueue(ReplicationSourceInterface src) { > LOG.info("Done with the recovered queue " + src.getPeerClusterZnode()); > this.oldsources.remove(src); > this.zkHelper.deleteSource(src.getPeerClusterZnode(), false); // Node > delete here* > } > {code} > So from code we can see if newQueues == null or newQueues.size() == 0, > Failover replication Source will never start and the failover zk node will > never deleted. > eg below failover node will never be delete: > [zk: 10.232.98.77:2181(CONNECTED) 16] ls > /hbase-test3-repl/replication/rs/dw93.kgb.sqa.cm4,60020,1346337383956/1-dw93.kgb.sqa.cm4,60020,1346309263932-dw91.kgb.sqa.cm4,60020,1346307150041-dw89.kgb.sqa.cm4,60020,1346307911711-dw93.kgb.sqa.cm4,60020,1346312019213-dw88.kgb.sqa.cm4,60020,1346311774939-dw89.kgb.sqa.cm4,60020,1346312314229-dw93.kgb.sqa.cm4,60020,1346312524307-dw88.kgb.sqa.cm4,60020,1346313203367-dw89.kgb.sqa.cm4,60020,1346313944402-dw88.kgb.sqa.cm4,60020,1346314214286-dw91.kgb.sqa.cm4,60020,1346315119613-dw93.kgb.sqa.cm4,60020,1346314186436-dw88.kgb.sqa.cm4,60020,1346315594396-dw89.kgb.sqa.cm4,60020,1346315909491-dw92.kgb.sqa.cm4,60020,1346315315634-dw89.kgb.sqa.cm4,60020,1346316742242-dw93.kgb.sqa.cm4,60020,1346317604055-dw92.kgb.sqa.cm4,60020,1346318098972-dw91.kgb.sqa.cm4,60020,1346317855650-dw93.kgb.sqa.cm4,60020,1346318532530-dw92.kgb.sqa.cm4,60020,1346318573238-dw89.kgb.sqa.cm4,60020,1346321299040-dw91.kgb.sqa.cm4,60020,1346321304393-dw92.kgb.sqa.cm4,60020,1346325755894-dw89.kgb.sqa.cm4,60020,1346326520895-dw91.kgb.sqa.cm4,60020,1346328246992-dw92.kgb.sqa.cm4,60020,1346327290653-dw93.kgb.sqa.cm4,60020,1346337303018-dw91.kgb.sqa.cm4,60020,1346337318929 > [] // empty node will never be deleted > -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira