[
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)