1

We try to create new multimedia Component with 25MB video file and got below error;

The request channel timed out attempting to send after 00:01:00. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout.

event error log:

Unable to upload binary to the 'FileSystemBinaryContentStorage' Binary Content Storage. See inner exception for more details. An exception has been thrown when reading the stream. The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:29:59.9840000'. The read operation failed, see inner exception. The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:29:59.9840000'. An existing connection was forcibly closed by the remote host Component: Tridion.ContentManager.CoreService Errorcode: 854 User: NT AUTHORITY\NETWORK SERVICE StackTrace Information Details: at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) at System.ServiceModel.Channels.SocketConnection.ReadCore(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout, Boolean closing) at System.ServiceModel.Channels.SocketConnection.ReadCore(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout, Boolean closing) at System.ServiceModel.Channels.SocketConnection.Read(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout) at System.ServiceModel.Channels.DelegatingConnection.Read(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout) at System.ServiceModel.Channels.ConnectionStream.Read(Byte[] buffer, Int32 offset, Int32 count) at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count) at System.Net.Security.NegotiateStream.StartFrameHeader(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.NegotiateStream.ProcessRead(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.NegotiateStream.ProcessRead(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.NegotiateStream.Read(Byte[] buffer, Int32 offset, Int32 count) at System.ServiceModel.Channels.StreamConnection.Read(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout) at System.ServiceModel.Channels.StreamConnection.Read(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout) at System.ServiceModel.Channels.SingletonConnectionReader.SingletonInputConnectionStream.ReadCore(Byte[] buffer, Int32 offset, Int32 count) at System.ServiceModel.Channels.SingletonConnectionReader.SingletonInputConnectionStream.Read(Byte[] buffer, Int32 offset, Int32 count) at System.ServiceModel.Channels.MaxMessageSizeStream.Read(Byte[] buffer, Int32 offset, Int32 count) at System.Xml.XmlBufferReader.TryEnsureBytes(Int32 count) at System.Xml.XmlBufferReader.EnsureBytes(Int32 count) at System.Xml.XmlBufferReader.ReadBytes(Int32 count) at System.Xml.XmlBinaryReader.ReadText(XmlTextNode textNode, ValueHandleType type, Int32 length) at System.Xml.XmlBinaryReader.ReadNode() at System.Xml.XmlBaseReader.MoveToContent() at System.ServiceModel.Dispatcher.StreamFormatter.MessageBodyStream.Read(Byte[] buffer, Int32 offset, Int32 count) at System.ServiceModel.Dispatcher.StreamFormatter.MessageBodyStream.Read(Byte[] buffer, Int32 offset, Int32 count) at System.IO.Stream.InternalCopyTo(Stream destination, Int32 bufferSize) at Tridion.ContentManager.FileSystemBinaryContentStorage.UploadInternal(Stream content, TcmUri tcmUri) at Tridion.ContentManager.FileSystemBinaryContentStorage.UploadInternal(Stream content, TcmUri tcmUri) at Tridion.ContentManager.FileSystemBinaryContentStorage.Upload(Stream content) at Tridion.ContentManager.CoreService.CoreServiceBase.UploadBinaryContent(UploadRequest request) at SyncInvokeUploadBinaryContent(Object , Object[] , Object[] ) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at Tridion.ContentManager.CoreService.CoreServiceInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc) at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

Looking for solutions this issue.

enter image description here

1
  • using CMS or directly CoreService, provide more information on your timeout settings you have currently
    – Raj Kumar
    Commented Jun 18, 2017 at 7:00

4 Answers 4

2

Try following settings in your client-side bindings. Note the value in sendTimeout its not set by default and taken as 1 minute.

 <netTcpBinding>
    .
    .
            <binding name="streamUpload_netTcp" maxReceivedMessageSize="2147483647" 
transferMode="StreamedRequest" receiveTimeout="00:10:00" 
sendTimeout="00:15:00" />
 </netTcpBinding>

Other tags removed from <netTcpBinding> for brevity.

1

Timeout issues alway trigger me to look at the database first and the network second, before I would look for any possible issues in the CMS itself.

Slightly depending on what you are using to upload and where you are uploading from, I would say that 25 MB should be uploaded in a few seconds, and never take longer than a minute.

If you were uploading through the Core Service, I would first test if you can upload the same file manually via the CME, if that works, you know the size and the database isn't the problem, and you can dig a but deeper. But of this occurs in the CME, the first thing to inspect would be looking at database maintenance (has it been performed? if not, make sure it has before you try and save anything, like does it work after updating the statistics exec sp_updatestats; on MS SQL Server?) and if that isn't helpful there might be an issue on the network, either between the client and the CME, or even between the CM server and the Database server.

Perhaps you can edit your question and provide a little more details after you ruled out the database or network as an issue. Or in case you are unable to rule them out, edit your question and provide the information on what seems to be the cause of this timeout being hit, so you can get answers in the direction of that.

1

It appears that there are a number of settings that need to be tweaked for performance on the CM server for timeout settings. These are documented in a support knowledge article here: https://gateway.sdl.com/communityknowledge?articleName=000003814

1

\tridion\web\web.config Change the below sendTimeout="00:10:00"

<binding name="StreamUpload_netTcpBinding" maxReceivedMessageSize="2147483647" transferMode="StreamedRequest" receiveTimeout="00:10:00" sendTimeout="00:01:00" />

To

<binding name="StreamUpload_netTcpBinding" maxReceivedMessageSize="2147483647" transferMode="StreamedRequest" receiveTimeout="00:10:00" sendTimeout="00:10:00" />

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.