fix a RRrepacking bug (#2720)
* fix a bug
* update unit
diff --git a/heron/packing/src/java/com/twitter/heron/packing/roundrobin/RoundRobinPacking.java b/heron/packing/src/java/com/twitter/heron/packing/roundrobin/RoundRobinPacking.java
index 0bd0d48..2038da9 100644
--- a/heron/packing/src/java/com/twitter/heron/packing/roundrobin/RoundRobinPacking.java
+++ b/heron/packing/src/java/com/twitter/heron/packing/roundrobin/RoundRobinPacking.java
@@ -367,7 +367,8 @@
Map<String, Integer> currentComponentParallelism = currentPackingPlan.getComponentCounts();
for (Map.Entry<String, Integer> e : componentChanges.entrySet()) {
- currentComponentParallelism.put(e.getKey(), e.getValue());
+ Integer newParallelism = currentComponentParallelism.get(e.getKey()) + e.getValue();
+ currentComponentParallelism.put(e.getKey(), newParallelism);
}
int newNumInstance = TopologyUtils.getTotalInstance(currentComponentParallelism);
diff --git a/heron/packing/tests/java/com/twitter/heron/packing/roundrobin/RoundRobinPackingTest.java b/heron/packing/tests/java/com/twitter/heron/packing/roundrobin/RoundRobinPackingTest.java
index ec7a7d3..7616fe7 100644
--- a/heron/packing/tests/java/com/twitter/heron/packing/roundrobin/RoundRobinPackingTest.java
+++ b/heron/packing/tests/java/com/twitter/heron/packing/roundrobin/RoundRobinPackingTest.java
@@ -360,8 +360,8 @@
Assert.assertEquals(2 * componentParallelism, numInstance);
Map<String, Integer> componentChanges = new HashMap<>();
- componentChanges.put(SPOUT_NAME, componentParallelism - 1);
- componentChanges.put(BOLT_NAME, componentParallelism + 1);
+ componentChanges.put(SPOUT_NAME, -1);
+ componentChanges.put(BOLT_NAME, +1);
PackingPlan output = getRoundRobinRePackingPlan(topology, componentChanges);
Assert.assertEquals(numContainers, output.getContainers().size());
Assert.assertEquals((Integer) numInstance, output.getInstanceCount());