[ http://opencast.jira.com/browse/MH-9225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=32704#comment-32704 ]
Tobias Wunden edited comment on MH-9225 at 1/8/13 10:35 PM: ------------------------------------------------------------ I can see a race condition where there is a preprocessing workflow going on with the three "operations" * scheduled * capturing * ingesting Assuming that the capture agent is recording and the workflow has been forwarded to "capturing", the capture agent starts ingesting (and during that time for some reason is not updating the status). At the end of the ingest operation, the ingest service adds the "real" workflow steps to that preprocessing workflow (see IngestServiceImpl lines 743 ff) and forwards the workflow to the first real workflow operation by calling workflowinstance.next() until that operatio is reached. Just while (or right before) the ingest service is extending its local copy of the workflow with the real workflow steps, the capture agent finally gets around to reporting the ingested status to the capture agent state service and the agent state service is calling resume() on the workflow instance at CaptureAgentStateImpl line 542. This will move the current workflow forward to the "capturing" step, asking the workflow service to start processing that operation. The operation is scheduled and eventually dispatched, returning Action.PAUSE as the action. was (Author: twunden): I can see a race condition where there is a preprocessing workflow going on with the three "operations" * scheduled * capturing * ingesting Assuming that the capture agent is waiting and the workflow has been initialized with "scheduled", the capture agent is first recording, then ingesting (and during that time for some reason not updating the status). At the end of the ingest operation, the ingest service adds the "real" workflow steps to that preprocessing workflow (see IngestServiceImpl lines 743 ff) and forwards the workflow to the first real workflow operation by calling workflowinstance.next() until that operatio is reached. Just while (or right before) the ingest service is extending its local copy of the workflow with the real workflow steps, the capture agent finally gets around to reporting the ingested status to the capture agent state service and the agent state service is calling resume() on the workflow instance at CaptureAgentStateImpl line 542. This will move the current workflow forward to the "capturing" step, asking the workflow service to start processing that operation. The operation is scheduled and eventually dispatched, returning Action.PAUSE as the action. > Workflows automatically go into hold state after inspect but resume > processing correctly with a nudge from the resume workflow endpoint > --------------------------------------------------------------------------------------------------------------------------------------- > > Key: MH-9225 > URL: http://opencast.jira.com/browse/MH-9225 > Project: Matterhorn Project > Issue Type: Bug > Components: Administrative Tools > Affects Versions: 1.4, 1.3, 1.2 > Reporter: Adam McKenzie > Assignee: Adam McKenzie > Priority: Critical > -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: http://opencast.jira.com/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira _______________________________________________ Matterhorn mailing list Matterhorn@opencastproject.org http://lists.opencastproject.org/mailman/listinfo/matterhorn To unsubscribe please email matterhorn-unsubscr...@opencastproject.org _______________________________________________