Github user vrozov commented on a diff in the pull request: https://github.com/apache/apex-core/pull/359#discussion_r71945201 --- Diff: engine/src/main/java/com/datatorrent/stram/plan/physical/PhysicalPlan.java --- @@ -895,8 +895,10 @@ private void redoPartitions(PMapping currentMapping, String note) addedPartitions.add(newPartition); } else { // check whether mapping was changed + int currentPartitionsSize = mainPC.currentPartitions.size(); for (DefaultPartition<Operator> pi : mainPC.currentPartitions) { - if (pi == newPartition && pi.isModified()) { + if (pi == newPartition && (pi.isModified() || --- End diff -- @siyuanh A1->B1->C1 and A2->B2->C2 don't need to be redeployed assuming that they continue to handle the same set of keys. In your example, if S emits keys 1 and 2 and at some point starts to emit 1, 2 and 3 it is necessary to deploy A3->B3->C3 and redeploy U and Aggregator, while A1->B1->C1 and A2->B2->C2 don't need to be redeployed. In case, S starts to emit 1, 2, 3 and 4 and both 1 and 4 are routed to A1, A1->B1->C1 needs to be redeployed as it's key set changes.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---