SWAPP - Error uploading via CGI

Prev Next

When running a Pipeline Pilot protocol having a data table as input from Spotfire, it may be canceled with "Error uploading via CGI" error message.

Details

If you launch from the SWAPP a Pipeline Pilot protocol which should upload data from one or several Spotfire data tables to Pipleine Pilot, the protocol execution is canceled with

  • a SWAPP error message: Unable to create or launch job.
  • at least one Spotfire error notification: Error during export

For both the error details can look like:

com.scitegic.proxy.PipelinePilotException: Error uploading via CGI ---> System.Net.WebException: The remote server returned an error: (403) Forbidden.
   at System.Net.HttpWebRequest.GetResponse()
   at com.scitegic.proxy.RemoteFileManager.PostMIME.endPostSection()
   at com.scitegic.proxy.RemoteFileManager.UploadViaCGI(String remotePath, FileInfo file)
   --- End of inner exception stack trace ---
   at <module>$1128##1128(Closure , Scope , LanguageContext )

or

com.scitegic.proxy.PipelinePilotException: Error uploading via CGI ---> System.Net.WebException: The underlying connection was closed: A connection that was expected to be kept alive was closed by the server.
   at System.Net.HttpWebRequest.GetResponse()
   at com.scitegic.proxy.RemoteFileManager.PostMIME.endPostSection()
   at com.scitegic.proxy.RemoteFileManager.UploadViaCGI(String remotePath, FileInfo file)
   --- End of inner exception stack trace ---
   at <module>$2680##2680(Closure , Scope , LanguageContext )

or

com.scitegic.proxy.PipelinePilotException: Error uploading via CGI ---> System.Net.WebException: The request was aborted: The request was canceled.
   at System.Net.ConnectStream.InternalWrite(Boolean async, Byte[] buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state)
   at System.Net.ConnectStream.Write(Byte[] buffer, Int32 offset, Int32 size)
   at System.IO.Compression.DeflateStream.WriteDeflaterOutput(Boolean isAsync)
   at System.IO.Compression.DeflateStream.Write(Byte[] array, Int32 offset, Int32 count)
   at com.scitegic.proxy.RemoteFileManager.PostMIME.appendData(Stream data)
   at com.scitegic.proxy.RemoteFileManager.UploadViaCGI(String remotePath, FileInfo file)
   --- End of inner exception stack trace ---
   at <module>$3248##3248(Closure , Scope , LanguageContext ) 

This is due to the data table(s) to be uploaded from Spotfire to Pipeline Pilot being too large.

Resolution

To fix this issue, two solutions can be used, either at the protocol execution level or at the server configuration level.

Solution 1: Protocol

The first solution is to reduce the amount of data sent to Pipeline Pilot. It needs to be done by the user when launching the protocol.

It is possible to reduce the number of columns and/or rows sent to Pipeline Pilot:

  • The number of rows can be reduced if filters are applied to the data table by using the "Filtered rows only" option.
  • The number of columns can be reduced by using the "Select columns..." link. This will open a pop-up in which the columns that are not mandatory for the protocol can be unselected.

Data table input options

Solution 2: Server

The second solution is to increase the amount of data which can be uploaded on Pipeline Pilot. It needs to be done by a Pipeline Pilot administrator and it is only available from Pipeline Pilot version 2022.

  • Open the Pipeline Pilot server administration page
  • Navigate to Security > Security Configuration in the left pane
  • Increase the value for "Maximum Upload File Size (mb)" in the Upload section
  • Click on "Save"