Understanding DFSR debug logging (Part 14: A sharing violation due to a file locked upstream between two Windows Server 2008)

In this scenario we will see file that is locked by an application, preventing replication from occurring. The upstream replicated folder will contain a file that does not yet exist on the downstream member. This is useful to understand as one of the most common troubleshooting areas in DFSR is in the area of sharing violation events.

 

(lockedfileupstream – Dfsr00026 – 2008.log and lockedfiledownstream – Dfsr00023 – 2008.log)

 

These are two Windows Server 2008 servers called 2008MEM01 and 2008MEM02 in the fabrikam.com domain. The logs are from 2008MEM01 (upstream) and from 2008MEM02 (downstream). Both servers are participating in the NEWRG1 replication group for the NEWRF1 replicated folder.  The locked file is called “setup.exe” and the file has been exclusively write-locked with a file utility to simulate the scenario. These two debug logs have been significantly trimmed to remove extraneous entries caused by the repro requirements.

 

<Upstream> 20080627 15:50:40.249 3616 JOIN  1122 Join::SubmitUpdate LDB Updating ID Record: ß A file needs to be replicated out

+       fid                             0x500000000AC91

+       usn                             0xa9fe38

+       uidVisible                      1

+       filtered                        0

+       journalWrapped                  0

+       slowRecoverCheck                0

+       pendingTombstone                0

+       internalUpdate                  0

+       dirtyShutdownMismatch           0

+       meetInstallUpdate               0

+       meetReanimated                  0

+       recUpdateTime                   20080627 19:50:35.032 GMT

+       present                         1

+       nameConflict                    0

+       attributes                      0x20

+       ghostedHeader                   0

+       data                            0

+       gvsn                            {EDE2D64E-1306-4C7C-B568-449A98371AA2}-v95

+       uid                             {EDE2D64E-1306-4C7C-B568-449A98371AA2}-v95 ß UID/GVSN match so this is an original file creation (in DFSR terms – if a file is copied into a replicated folder it is ‘created’ in DFSR terms).

+       parent                          {05631532-B65C-45AF-BB49-F237ACB6CF7C}-v1

+       fence                           16010101 00:00:00.000

+       clockDecrementedInDirtyShutdown 0

+       clock                           20080627 19:50:03.186 GMT (0x1c8d88efd9bd3de)

+       createTime                      20080627 19:50:02.815 GMT

+       csId                            {05631532-B65C-45AF-BB49-F237ACB6CF7C}

+       hash                            00000000-00000000-00000000-00000000

+       similarity                      00000000-00000000-00000000-00000000

+       name                            setup.exe ß the file is named setup.exe

+      

<Upstream> 20080627 15:50:40.249 3616 JOIN  1167 Join::SubmitUpdate Sent: uid:{EDE2D64E-1306-4C7C-B568-449A98371AA2}-v95 gvsn:{EDE2D64E-1306-4C7C-B568-449A98371AA2}-v95 name:setup.exe connId:{FFC8C463-846D-4C16-8B37-19978C20FF8B} csId:{05631532-B65C-45AF-BB49-F237ACB6CF7C} csName:NewRF1 ß the upstream server submits update to its downstream partner

<Downstream> 20080627 15:50:40.262 2424 DOWN  5186 [ERROR] DownstreamTransport::RdcGet Failed on connId:{FFC8C463-846D-4C16-8B37-19978C20FF8B} csId:{05631532-B65C-45AF-BB49-F237ACB6CF7C} rgName:NewRG1 update: ß the downstream server attempts to initiate replication of the file through RDC but receives an error

+       present                         1

+       nameConflict                    0

+       attributes                      0x20

+       ghostedHeader                   0

+       data                            0

+       gvsn                            {EDE2D64E-1306-4C7C-B568-449A98371AA2}-v95

+       uid                             {EDE2D64E-1306-4C7C-B568-449A98371AA2}-v95

+       parent                          {05631532-B65C-45AF-BB49-F237ACB6CF7C}-v1

+       fence                           16010101 00:00:00.000

+       clockDecrementedInDirtyShutdown 0

+       clock                           20080627 19:50:03.186 GMT (0x1c8d88efd9bd3de)

+       createTime                      20080627 19:50:02.815 GMT

+       csId                            {05631532-B65C-45AF-BB49-F237ACB6CF7C}

+       hash                            00000000-00000000-00000000-00000000

+       similarity                      00000000-00000000-00000000-00000000

+       name                            setup.exe

+       Error:

+       [Error:9027(0x2343) RpcFinalizeContext downstreamtransport.cpp:1096 2424 C A failure was reported by the remote partner]

+       [Error:9027(0x2343) DownstreamTransport::RdcGet downstreamtransport.cpp:5124 2424 C A failure was reported by the remote partner]

+       [Error:32(0x20) DownstreamTransport::RdcGet downstreamtransport.cpp:5124 2424 W The process cannot access the file because it is being used by another process.] ß