You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by "Chris A. Mattmann (JIRA)" <ji...@apache.org> on 2011/06/19 01:56:48 UTC

[jira] [Commented] (OODT-203) Create a Non-Blocking threaded implementation of the Workflow Engine

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

Chris A. Mattmann commented on OODT-203:
----------------------------------------

Original comment from [~woollard]:

{quote}
Initial implementation of NonBlocking ThreadPoolWorkflowEngine delivered in revision 5541. This Engine uses a vector of queued workflow instances to hold workflows with unsatisfied preconditions. A shepard thread is introduced that iterates over this vector, checking for satisfied preconditions and, as workflows with satisfied precoditions are identified, the engine uses a thread from the thread pool to monitor the execution of the workflow instance. When a workflow consists of multiple tasks, the current task pointer is incremented to the next task in the workflow and the worklfow is requeued in the vector until the next task's preconditions are satisfied.
{quote}


> Create a Non-Blocking threaded implementation of the Workflow Engine
> --------------------------------------------------------------------
>
>                 Key: OODT-203
>                 URL: https://issues.apache.org/jira/browse/OODT-203
>             Project: OODT
>          Issue Type: Bug
>          Components: workflow manager
>         Environment: from JPL's last internal WM JIRA release
>            Reporter: David Woollard
>             Fix For: 0.4
>
>
> The current implementation of the threaded workflow engine uses a thread from its thread pool for each of the workflows it creates. This can cause a problem if a significant number of workflows submitted block waiting on preconditions to be satisfied. Each of these paused workflows hangs on to the thread allocated from the thread pool, so workflows that could be run are blocked by workflows waiting on preconditions if the thread pool is fully allocated.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira