In a Windows Server 2012 cluster environment, resource movement (e.g. failover) can lead to infinite retries on the source host.
When manually moving resources from Host 1 to Host 2 in Windows 2012 cluster, Host 2 will issue the Preempt Reservation command to take over and reserve the device. However, SDDDSM - 188.8.131.52-5 does not handle the preempted reservation status on Host 1, which leads Host 1 to believe it still has reserves on the disks. When I/O is performed from Host 1 on those resources, a reservation conflict is encountered. I/O retry attempts are made indefinitely by applications that are not "reservation aware", such as Disk Management.
Steps to reproduce the issue:
1. Move the resources or application holding a resource from first host to second host.
2. Run application like diskmgmt.msc on the first host.
3. Any I/O on the moved resource goes into infinite retry on the first host.
4. Application (Diskmgmt.msc) becomes unresponsive on first host.
The following logs entries may be seen repeatedly in system32\sdd.log
05/24 21:03:03 Entering GmInterpretErrorEx(2225) MPD-005-600507680180870100000000000001AA @ 9de31780, Path-0 @ 9de31be0
05/24 21:03:03 GmInterpretError(2381) MPD-005-600507680180870100000000000001AA, Path-0, DsmId 9de31be0, NTSTATUS c0000185, Srb 6307b360,
05/24 21:03:03 GmInterpretError(2389) MPD-005-600507680180870100000000000001AA, Srb 6307b360, Cdb 1a, ScsiStat 18, SrbStatus 04, Sense ffffff.
05/24 21:03:03 GmInterpretError(3005), MPD-005-600507680180870100000000000001AA, Path-0, Errors 0, Srb 6307b360, Irp 65b03990 will be retried, retry interval 0, hint 4.
Windows event log will show Event 16 & 17 errors.
The fix in SDDDSM will correct the condition and fail the I/O on host encountering reservation conflict. The fix should be installed on all nodes of the cluster.
Please download and install the latest version of SDDDSM.
Was this topic helpful?
25 September 2022