When using a TERR or Python script that upload files you might run into the following error when running it on the server (but it works when running it locally):
Could not execute function call 'DatafunctionName'
Unable to write data to the transport connection: An established connection was aborted by the software in your host machine.
Server stack trace:
at System.Net.Sockets.NetworkStream.BeginMultipleWrite(BufferOffsetSize[] buffers, AsyncCallback callback, Object state)
at System.Net.Security._SslStream.StartWriting(SplitWritesState splitWrite, SplitWriteAsyncProtocolRequest asyncRequest)
at System.Net.Security._SslStream.ProcessWrite(BufferOffsetSize[] buffers, SplitWriteAsyncProtocolRequest asyncRequest)
at System.Net.Security._SslStream.BeginWrite(BufferOffsetSize[] buffers, AsyncCallback asyncCallback, Object asyncState)
at System.Net.TlsStream.BeginMultipleWrite(BufferOffsetSize[] buffers, AsyncCallback callback, Object state)
at System.Net.ConnectStream.InternalWrite(Boolean async, Byte[] buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state)
at System.Net.ConnectStream.BeginWrite(Byte[] buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state)
at System.IO.Compression.DeflateStream.WriteDeflaterOutput(Boolean isAsync)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)
Exception rethrown at [0]:
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.PurgeBuffers(Boolean disposing)
at System.IO.Compression.DeflateStream.Dispose(Boolean disposing)
at System.IO.Stream.Close()
at System.IO.Compression.GZipStream.Dispose(Boolean disposing)
at System.IO.Stream.Close()
at Spotfire.Dxp.Data.DataFunctions.Executors.RemoteServiceClient.<>c__DisplayClass23_1.<RunFunction>b__1(HttpWebRequest uploadReq)
at Spotfire.Dxp.Data.DataFunctions.Executors.RemoteServiceClient.<>c__DisplayClass44_0.<ExecuteDirectWebRequestWithRetry>g__RequestApplyFromParameters|0(HttpWebRequest request)
at Spotfire.Dxp.Services.Http.SpotfireRequest.<>c__DisplayClass16_0.<ExecuteRequestOnAnySpotfireServerWithRetry>b__0()
at Spotfire.Dxp.Services.Http.SpotfireRequest.ExecuteSpotfireServerRequestWithRetry(SpotfirePrincipal principal, ServerInformation server, Func`1 requestCreator, RetryOptions retryOptions)
at Spotfire.Dxp.Data.DataFunctions.Executors.RemoteServiceClient.RunFunction(DataFunctionInvocation invocation)
at Spotfire.Dxp.Data.DataFunctions.Executors.PythonScriptExecutor.<ExecuteFunction>d__11.MoveNext()
at Spotfire.Dxp.Data.DataFunctions.DataFunctionExecutorService.<ExecuteFunction>d__8.MoveNext()
The error occurs when the uploaded files are larger than 100MB.
There is a size limit that can be increased using the following settings for the TERR and Python services:
spring.servlet.multipart.max-file-size
spring.servlet.multipart.max-request-size
Please see the following documentation:
For details on how to edit these values and import the updated configuration, please see the following documentation: