N ----- Original Message ----- From: hama-dev-return-7013-RICHARD.S.BOWERS=saic....@incubator.apache.org <hama-dev-return-7013-RICHARD.S.BOWERS=saic....@incubator.apache.org> To: hama-dev@incubator.apache.org <hama-dev@incubator.apache.org> Sent: Thu Mar 15 13:41:38 2012 Subject: [jira] [Updated] (HAMA-499) Refactor clearZKNodes() in BSPMaster
[ https://issues.apache.org/jira/browse/HAMA-499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thomas Jungblut updated HAMA-499: --------------------------------- Resolution: Fixed Status: Resolved (was: Patch Available) > Refactor clearZKNodes() in BSPMaster > ------------------------------------ > > Key: HAMA-499 > URL: https://issues.apache.org/jira/browse/HAMA-499 > Project: Hama > Issue Type: Improvement > Components: bsp > Affects Versions: 0.4.0 > Reporter: Edward J. Yoon > Assignee: Apurv Verma > Labels: newbie > Fix For: 0.5.0 > > Attachments: HAMA-499.patch, HAMA-499_2.patch, move.sh > > > As you know, Hama uses ZooKeepr for a barrier synchronization. User can use > Hama ZK, or their own existing ZK cluster. To avoid some potential problems, > BSPMaster calls clearZKNodes() to delete all remained sub-nodes of 'bspRoot' > at initialization stage. That code is here and very ugly: > {code} > public void clearZKNodes() { > try { > for (String node : zk.getChildren(bspRoot, this)) { > for (String subnode : zk.getChildren(bspRoot + "/" + node, this)) { > for (String subnode2 : zk.getChildren(bspRoot + "/" + node, this)) { > for (String subnode3 : zk.getChildren(bspRoot + "/" + node + "/" > + subnode2, this)) { > zk.delete(bspRoot + "/" + node + "/" + subnode + "/" + subnode2 > + "/" + subnode3, 0); > } > zk.delete(bspRoot + "/" + node + "/" + subnode + "/" + subnode2, > 0); > } > zk.delete(bspRoot + "/" + node + "/" + subnode, 0); > } > zk.delete(bspRoot + "/" + node, 0); > } > } catch (KeeperException e) { > } catch (InterruptedException e) { > } > } > {code} > In this issue, we'll refactor this method. For example, you can delete > recursively. > P.S., must use '-1' to delete all version of each node like this: > {code} > zk.delete(node, -1); > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira