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.] ß