Issue with MSDTC after upgrading to VSE 8.8 Patch 8
Hello all. We have had VSE 8.8 Patch 6 installed for awhile on a lot of our servers and haven't had any issues. We recently upgraded to Patch 8 on 5/12, and lo and behold we started having issues with one of our servers that uses MSDTC for a process that communicates to another server.
We read various logs that we could find, and basically it looked like the process was not able to create the connection in a timely manner using MSDTC, and this was causing my process to ultimately fail. Oddly enough, the connection would still ultimately occur, and if I subsequently ran the process again it would succeed. Problem is, these processes that are running are done in batch, and they run in the middle of the night. So unfortunately I was needing to run them manually until we ultimately figured out a workaround.
Turns out we implemented a fix which was provided on a Microsoft forum (I won't link it directly as I don't know what the rules are in that regard). Below is the jist of what we did:
Click Start, click Run, type regedit, and then click OK.
Locate the following registry subkey: HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC
Right-click MSDTC, point to New, and then click DWORD Value.
Type CmMaxNumberBindRetries, and then press ENTER.
Right-click CmMaxNumberBindRetries, and then click Modify.
In the Value data box, type 60.
This value increases the length of time that the client computer waits for the bind packet response from the server computer. This value is double the number of seconds before the client computer stops the transaction if the client computer does not receive the bind packet response. For example, a value of 60 equals 30 seconds.
Note The value of 60 is only a recommended value. Additional testing on your configuration may be required.
Restart MS DTC.
This definitely fixed our issue, but we never really figured out if it was McAfee patch that caused it or it was just coincidence. Looking at the server in question, the patch appears to be the only thing that changed in the window when the jobs were working to when the jobs starting failing.