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.
---

Reply via email to