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

[email protected] commented on OOZIE-591:
-----------------------------------------------------



bq.  On 2011-12-09 21:59:30, Alejandro Abdelnur wrote:
bq.  > I'm not understanding how this patch handles interruptions by just 
adding a new method to command.
bq.  > 
bq.  > From the description of the problem, my logical solution would be:
bq.  > 
bq.  > * kill/suspend/modify commands would be only commands with highest 
priority (either by bumping everybody else one level or create a higher 
priority) (logically this is the same as interruptions but using the current 
priority logic which we know it works fine)
bq.  > * all commands should check in their precondition that the job is in the 
expected state (job status and that the command in the case of coordinator jobs 
is for an action before the end time. The later is the case when the endtime 
has been shorten) 
bq.  > 
bq.  >

I attached the design document to the Jira [I added it to the Jira couple of 
weeks ago], giving more clarity about the problem and the proposed solution 

The interrupt is mainly handled at the interrupt map, which will hold all the 
interrupt driven commands and give them higher priority over the other commands 
that belong to the same lock key. it has been done at similar fashion of the 
priority queue but taking care of which job "lock key" this command belongs 
The method is added to get the lock key of each command which is used by the 
interrupt driven map.


The idea you proposed will work, but it may cause starvation for the other jobs 
as you are not going to promote any commands to the higher priority queue and 
you are not executing it based on the jobs. 
so few jobs that have some interrupt commands "kill, suspend,modify" may cause 
the other jobs to starve while waiting to execute their commands in the higher 
priority queue.  


- Mohamed


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/3030/#review3801
-----------------------------------------------------------


On 2011-12-09 18:58:56, Mohamed Battisha wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/3030/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2011-12-09 18:58:56)
bq.  
bq.  
bq.  Review request for oozie.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  Oozie continues to materialize new actions after end date modification. 
The main issue is related how Oozie materialized the actions based on a FIFO 
priority queue. Changing the status of a bundle/coordinator job should take 
higher priority than executing this job. 
bq.  
bq.  The main idea is to enable the queue to handle interruptions. Mainly, once 
you finished what you are working on currently, you should focus on executing 
this next action. 
bq.  
bq.  The issue can be illustrated as follow: 
bq.  
bq.  1. Configure a pipeline to run for 1 hour 
bq.  2. Start the pipeline 
bq.  3. After it starts materializing new actions, change the end time (in my 
example - to 10 minutes after the pipeline 
bq.  starts) 
bq.  4. Monitor the coordinator apps - they will continue to materialize new 
actions past the end time.
bq.  
bq.  
bq.  This addresses bug OOZIE-591.
bq.      https://issues.apache.org/jira/browse/OOZIE-591
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/Command.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/XCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/bundle/BundleJobResumeXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/bundle/BundlePauseXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/bundle/BundleRerunXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/bundle/BundleStartXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/bundle/BundleStatusUpdateXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/bundle/BundleUnpauseXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionNotificationXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionReadyXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionStartXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionTimeOutXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionUpdateXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordMaterializeTransitionXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordPauseXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordRerunXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordResumeXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordSuspendXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordUnpauseXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/ResumeXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/WfEndXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/service/CallableQueueService.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/service/RecoveryService.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/util/PollablePriorityDelayQueue.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/util/XCallable.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/resources/oozie-default.xml
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/TestCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/coord/TestCoordActionInputCheckXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/coord/TestCoordActionStartXCommand.java
 1209829 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestCallableQueueService.java
 1209829 
bq.  
bq.  Diff: https://reviews.apache.org/r/3030/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  Regression for all the Commands in addition for specific testing for the 
Interrupt Driven Map
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Mohamed
bq.  
bq.


                
> Oozie continues to materialize new actions after end date modification
> ----------------------------------------------------------------------
>
>                 Key: OOZIE-591
>                 URL: https://issues.apache.org/jira/browse/OOZIE-591
>             Project: Oozie
>          Issue Type: New Feature
>            Reporter: Mohamed Battisha
>              Labels: patch
>         Attachments: Interrupt Driven Commands.docx
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> Oozie continues to materialize new actions after end date modification. The 
> main issue is related how Oozie materialized the actions based on a FIFO 
> priority queue. Changing the status of a bundle/coordinator job should take 
> higher priority than executing this job.
> The main idea is to enable the queue to handle interruptions. Mainly, once 
> you finished what you are working on currently, you should focus on executing 
> this next action.
> The issue can be illustrated as follow:
> 1. Configure a pipeline to run for 1 hour
> 2. Start the pipeline
> 3. After it starts materializing new actions, change the end time (in my 
> example - to 10 minutes after the pipeline
> starts)
> 4. Monitor the coordinator apps - they will continue to materialize new 
> actions past the end time.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to