Artifact distribution fails with ConnectionClosedException at 1GB mark
search cancel

Artifact distribution fails with ConnectionClosedException at 1GB mark

book

Article ID: 441905

calendar_today

Updated On:

Products

CA Release Automation - Release Operations Center (Nolio) CA Release Automation - DataManagement Server (Nolio)

Issue/Introduction

When attempting to distribute large artifacts (typically > 1GB) in CA Release Automation, the deployment fails during the artifact distribution stage.

The nolio_action_exe.log or nolio_all.log on the retrieval agent shows the following error (example) :

2026-04-17T10:41:36.271+01:00 [ArtifactsHandlers-5] ERROR (com.nolio.platform.shared.executables.actions.http.AbstractHttpClientAction:216) - exception caught
org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body (expected: 3,256,865,515; received: 1,089,142,784)
at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:178) ~[httpcore-4.4.16.jar:4.4.16]
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:135) ~[httpclient-4.5.14.jar:4.5.14]
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:148) ~[httpclient-4.5.14.jar:4.5.14]
at com.nolio.platform.shared.executables.actions.http.AbstractHttpClientAction.saveResponseToTheFile(AbstractHttpClientAction.java:138) ~[?:?]

 

Environment

Release Automation - All Versions

Cause

This issue occurs when an Nginx reverse proxy is positioned between the Retrieval Agent and the Artifact Repository (e.g., Nexus). Nginx has a default directive proxy_max_temp_file_size set to 1024m (1GB).

When buffering is enabled and a response exceeds the combined size of memory buffers, Nginx saves the remainder to a temporary file. Once that temporary file reaches the 1GB limit, Nginx stops reading from the backend, which eventually leads to a timeout or premature connection closure on the client side.

Resolution

To resolve this, increase or disable the Nginx temporary file buffer limit on the proxy server.

  1. Log in to the Nginx server and locate the nginx.conf file.
  2. Navigate to the httpserver, or location block corresponding to your repository traffic.
  3. Modify or add the proxy_max_temp_file_size directive:
    • Option A (Increase Limit): Set the value higher than your largest artifact (e.g., 4GB).

      proxy_max_temp_file_size 4096m;
    • Option B (Disable Limit): Set to 0 to disable buffering to temporary files entirely.

      proxy_max_temp_file_size 0;
  4. Save the configuration file.
  5. Validate the Nginx syntax:

    nginx -t
  6. Reload Nginx to apply changes:

    nginx -s reload

  7. Retry the artifact distribution in Release Automation.