我们使用 Microsoft 的分布式文件系统进行复制。在我们的场景中,我们有一个创建/覆盖/删除文件的编写器和几个分布式读取器。编写器运行 Windows Server 2008 R2 Enterprise x64 SP 1,读取器运行 Windows Server 2003 R2 Standard Edition x86 SP 2。一些读取器运行版本为 5.2.3790.4656 的 DFSR,而其他一些则运行补丁版本为 5.2.3790.4799。
文件是使用System.IO.File.WriteAllText写入的,写入可以快速连续发生在同一个文件上。
大多数时候复制工作正常,但有时文件在复制后最终被完全填充为空字节。我们检查了所有相关机器上的 DFSR 日志,并在读者上发现了以下类型的 usn 日志条目报告:
20150302 11:05:00.498 2512 USNC 2202 UsnConsumer::UpdateIdRecord ID record updated from USN_RECORD:
+ USN_RECORD:
+ RecordLength: 80
+ MajorVersion: 2
+ MinorVersion: 0
+ FileRefNumber: 0x800000000f7c8
+ ParentFileRefNumber: 0x31000000152806
+ USN: 0x872e876720
+ TimeStamp: 20150302 11:05:00.498 CET
+ Reason: Basic Info Change Close Rename New Name
+ …Run Code Online (Sandbox Code Playgroud)