# HG changeset patch # User sugi # Date 1418290056 -32400 # Node ID dca4b392f788cef71bac884c3481942c85f8fd30 # Parent f3aae56b478f523815f9ec4fc210fa58d264aa06 bug fix diff -r f3aae56b478f -r dca4b392f788 src/main/java/alice/topology/node/CloseRemoteDataSegment.java --- a/src/main/java/alice/topology/node/CloseRemoteDataSegment.java Thu Dec 11 18:26:11 2014 +0900 +++ b/src/main/java/alice/topology/node/CloseRemoteDataSegment.java Thu Dec 11 18:27:36 2014 +0900 @@ -23,15 +23,14 @@ @Override public void run() { String managerKey = info.asString(); + ListManager manager = info3.asClass(ListManager.class); if (info1.from.equals(managerKey)||info2.from.equals(managerKey)) { if (DataSegment.contains(managerKey)) DataSegment.get(managerKey).shutdown(); - - ListManager manager = info3.asClass(ListManager.class); manager.deleteAll(managerKey); - ods.update(info1.key, manager); } + ods.update(info1.key, manager); new ReceiveCloseMessage(CommandType.PEEK); } diff -r f3aae56b478f -r dca4b392f788 src/main/java/alice/topology/node/PrepareToClose.java --- a/src/main/java/alice/topology/node/PrepareToClose.java Thu Dec 11 18:26:11 2014 +0900 +++ b/src/main/java/alice/topology/node/PrepareToClose.java Thu Dec 11 18:27:36 2014 +0900 @@ -30,12 +30,13 @@ ods.put(managerKey, "_CLOSEREADY", managerKey); ods.put("_CLOSEREADY", managerKey); - ods.put(info1.key, list); new CloseRemoteDataSegment(); } else { - // lost node is this node's parent + // lost node is this node's parent, so already removed + new ReceiveCloseMessage(CommandType.TAKE); } + ods.put(info1.key, list); }