[ 
https://issues.apache.org/jira/browse/APEXCORE-408?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15968777#comment-15968777
 ] 

Tushar Gosavi commented on APEXCORE-408:
----------------------------------------

I have updated the document, please go through it. The approach I am taking is 
summarized below

- extend dag interface with following methods
  - removeOperator/removeStream
- add startTransaction method on LogicalPlan which will return a DAG object, 
which is a instance of TransactionalDAG which is clone of the dag with 
reference to operator and ports from the original dag.
  TransactionDAG maintains the reference to original dag and has a additional 
commit method. On commit  if the new DAG is valid then the same changes are 
applied to the original DAG.
- user can change the cloned dag as per his requirement. Currently I am 
providing the hooks to change the DAG through StatsListener by extending 
StatsListener interface having additional context object. later the hooks could 
also be provided through  DAGExecutionPluginContext which has access to more 
information from stram than statslistener.
- A Commit handler interface is added which commit method is call to notify 
type of changes performed to the DAG. The PhysicalPlan will be changed through 
this handler.


> Ability to schedule Sub-DAG from running application
> ----------------------------------------------------
>
>                 Key: APEXCORE-408
>                 URL: https://issues.apache.org/jira/browse/APEXCORE-408
>             Project: Apache Apex Core
>          Issue Type: Sub-task
>            Reporter: Thomas Weise
>            Assignee: Tushar Gosavi
>
> Today it is possible to add operators to a running application from the 
> CLI/client. It should be possible to do this from within the application 
> also. This can be used to expand/remove a Sub-DAG on demand, triggered by 
> application specific logic. It will enable use cases such as batch 
> applications that perform multiple stages of processing where not all 
> resources are required at the same time or the logic of subsequent steps 
> depends on the execution of previous steps.    



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

Reply via email to