@Override public boolean update(Node oldNode, Node newNode) { return put(newNode); }
@Override public boolean update(Node oldNode, Node newNode) { return put(newNode); }
bucketTreeBuilder.remove(node.getName()); } else { bucketTreeBuilder.put(node);
@Test public void bucketDAGShrinksOnRemoveBellowThreshold() { final List<Node> nodes = featureNodes(0, 513, false); final List<Node> removeNodes = nodes.subList(100, 500); final RevTree original; { LegacyTreeBuilder legacyBuilder = new LegacyTreeBuilder(store); for (Node n : nodes) { legacyBuilder.put(n); } original = legacyBuilder.build(); } // original = manuallyCreateBucketsTree(); store.put(original); strategy = canonical.original(original).build(); Stopwatch sw = Stopwatch.createStarted(); for (Node node : removeNodes) { strategy.remove(node); } System.err.printf("Removed %,d nodes in %s\n", removeNodes.size(), sw.stop()); DAG root = strategy.buildRoot(); assertFalse(children(root).isEmpty()); assertTrue(buckets(root).isEmpty()); // assertEquals(1, strategy.depth()); List<NodeId> flattenedNodes = flatten(root); assertEquals(nodes.size() - removeNodes.size(), flattenedNodes.size()); assertTrue(buckets(root).isEmpty()); assertFalse(children(root).isEmpty()); assertEquals(nodes.size() - removeNodes.size(), children(root).size()); }
legacyBuilder.put(n);
@Test public void bucketDAGShrinksOnRemoveBellowThreshold() { final List<Node> nodes = featureNodes(0, 513, false); final List<Node> removeNodes = nodes.subList(100, 500); final RevTree original; { LegacyTreeBuilder legacyBuilder = new LegacyTreeBuilder(store); for (Node n : nodes) { legacyBuilder.put(n); } original = legacyBuilder.build(); } // original = manuallyCreateBucketsTree(); store.put(original); strategy = canonical.original(original).build(); Stopwatch sw = Stopwatch.createStarted(); for (Node node : removeNodes) { strategy.remove(node); } System.err.printf("Removed %,d nodes in %s\n", removeNodes.size(), sw.stop()); DAG root = strategy.buildRoot(); assertFalse(children(root).isEmpty()); assertTrue(buckets(root).isEmpty()); // assertEquals(1, strategy.depth()); List<NodeId> flattenedNodes = flatten(root); assertEquals(nodes.size() - removeNodes.size(), flattenedNodes.size()); assertTrue(buckets(root).isEmpty()); assertFalse(children(root).isEmpty()); assertEquals(nodes.size() - removeNodes.size(), children(root).size()); }
legacyBuilder.put(n);
bucketTreeBuilder.remove(node.getName()); } else { bucketTreeBuilder.put(node);