BizTalk Troubleshooting: An operation on a socket could not be performed

Error

Message

—————————

Health and Activity Tracking

—————————

The following error occurred when saving message:

An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full **.**.*.9:*****

—————————

OK

—————————

Use case

 This was an orchestration based workflow which was handling flat files of the range ~ 300 MB and one of the helper class will create a XML of  ~ 500 MB size. We need to take a dump of this data. So while trying the save the message using orchestration debugger it will throw the above socket error.

Solution

What was done to resolve it:

Start Registry Editor.

Locate the following subkey in the registry, and then click Parameters:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

On the Edit menu, click New, and then add the following registry entries:

  • Value Name: MaxUserPort
  • Value Type: DWORD
  • Value data: 65534

Description: This parameter controls the maximum port number that is used when a program requests any available user port from the system. Typically, ephemeral (short-lived) ports are allocated between the values of 1024 and 5000 inclusive.

  • Value Name: TcpTimedWaitDelay
  • Value Type: DWORD
  • Value data: 16880 (decimal)

Description

Determines the time that must elapse before TCP can release a closed connection and reuse its resources. This interval between closure and release is known as the TIME_WAIT state or 2MSL state. During this time, the connection can be reopened at much less cost to the client and server than establishing a new connection.

https://psrathoud.files.wordpress.com/2014/10/title.png?w=630

Close the registry editor and restart our machine.

References:

Disclaimer

Please use this solution at your own risk and discretion.