Intermittent file transfer failure with "Premature end of Content-Length delimited message body"

Steps to reproduce

Steps to reproduce:
1. Ingest a large file from a CA to an ingest server
2.
3.

Actual Results:

Sometimes the ingest-download step fails with "Premature end of Content-Length delimited message body"

Expected Results:

Ingest should always succeed.

We have seen similar failure with other workflow operations that involve downloading a media file via http, so believe that this issue is broader than ingest-download.

Typical stack trace:

2014-04-02 10:57:37 ERROR [pool-16-thread-242] (WorkflowOperationWorker:160) - Workflow operation 'ingest-download' failed
org.opencastproject.util.NotFoundException: org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body (expected: 750846305; received: 638918740
at org.opencastproject.workspace.impl.WorkspaceImpl$1.apply(WorkspaceImpl.java:306)
at org.opencastproject.workspace.impl.WorkspaceImpl$1.apply(WorkspaceImpl.java:247)
at org.opencastproject.util.IoSupport.locked(IoSupport.java:436)
at org.opencastproject.workspace.impl.WorkspaceImpl.get(WorkspaceImpl.java:247)
at org.opencastproject.workflow.handler.IngestDownloadWorkflowOperationHandler.start(IngestDownloadWorkflowOperationHandler.java:133)
at org.opencastproject.workflow.impl.WorkflowOperationWorker.start(WorkflowOperationWorker.java:216)
at org.opencastproject.workflow.impl.WorkflowOperationWorker.execute(WorkflowOperationWorker.java:140)
at org.opencastproject.workflow.impl.WorkflowServiceImpl.runWorkflowOperation(WorkflowServiceImpl.java:774)
at org.opencastproject.workflow.impl.WorkflowServiceImpl.process(WorkflowServiceImpl.java:1752)
at org.opencastproject.workflow.impl.WorkflowServiceImpl$JobRunner.call(WorkflowServiceImpl.java:2145)
at org.opencastproject.workflow.impl.WorkflowServiceImpl$JobRunner.call(WorkflowServiceImpl.java:2111)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body (expected: 750846305; received: 638918740
at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:184)
at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:204)
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:155)
at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1383)
at org.opencastproject.workspace.impl.WorkspaceImpl$1.apply(WorkspaceImpl.java:295)
... 15 more

The file is present and of the right size on the ingest server.

It appears this is some form of timeout or connection being closed prematurely.

Status

Assignee

Unassigned

Reporter

Stephen Marquard

Severity

Incorrectly Functioning With Workaround

Tags (folksonomy)

None

Components

Fix versions

Affects versions

Priority

Major
Configure