[ 
https://issues.apache.org/jira/browse/APEXCORE-163?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thomas Weise updated APEXCORE-163:
----------------------------------
    Labels:   (was: roadmap)

> Dynamic application property changes
> ------------------------------------
>
>                 Key: APEXCORE-163
>                 URL: https://issues.apache.org/jira/browse/APEXCORE-163
>             Project: Apache Apex Core
>          Issue Type: Improvement
>            Reporter: Pramod Immaneni
>            Assignee: Pramod Immaneni
>
> Apex support modification of operator properties at runtime but the current 
> implemenations has the following shortcomings.
> 1. Property is not set across all partitions on the same window as individual 
> partitions can be on different windows when property change is initiated from 
> client resulting in inconsistency of data for those windows. I am being 
> generous using the word inconsistent.
> 2. Sometimes properties need to be set on more than one logical operators at 
> the same time to achieve the change the user is seeking. Today they will be 
> two separate changes happening on two different windows again resulting in 
> inconsistent data for some windows. These would need to happen as a single 
> transaction.
> 3. If there is an operator failure before a committed checkpoint after an 
> operator property is dynamically changed the operator will restart with the 
> old property and the change will not be re-applied.
> Tim and myself did some brainstorming and we have a proposal to overcome 
> these shortcomings. The main problem in all the above cases is that the 
> property changes are happening out-of-band of data flow and hence independent 
> of windowing. The proposal is to bring the property change request into the 
> in-band dataflow so that they are handled consistently with windowing and 
> handled distributively.
> The idea is to inject a special property change tuple containing the property 
> changes and the identification information of the operator's they affect into 
> the dataflow at the input operator. The tuple will be injected at window 
> boundary after end window and before begin window and as this tuple flows 
> through the DAG the intended operators properties will be modifed. They will 
> all be modified consistently at the same window. The tuple can contain more 
> than one property changes for more than one logical operators and the change 
> will be applied consistently to the different logical operators at the same 
> window. In case of failure the replay of tuples will ensure that the property 
> change gets reapplied at the correct window.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to