ERROR_SHARING_VIOLATION causes a long stall due to many retries with no feedback
Lore version
lore 0.9.0+783
Installation method
Prebuilt release binary
Operating system / architecture
Windows -- x86_64
Steps to reproduce
- Open a file in an app that locks it for exclusive access, e.g. change xyz.uasset in Unreal Engine.
- Run a Lore operation that needs to write that file, e.g. lore sync with an incoming change to xyz.uasset.
Expected vs actual behavior
Lore appears frozen. It gives no sign that it's blocked on a locked file, and the operation only fails after more than 15 minutes.
Expected behavior
Lore should report a locked file quickly instead of waiting silently. Either of these would work:
Fail fast: lore sync fails after a short timeout (e.g. 15 seconds) with an error that names the locked file. Callback: The lore op (in rust) should tell the caller about the file being locked and the cli should tell the user as well.
Right now, clients like Anchorpoint can't give the user any feedback while Lore waits. With this information, we could show something actionable like "Anchorpoint cannot change xyz.uasset. Please close Unreal Engine to continue."
Component
No response
Server context
No response
Regression?
No response
Relevant logs or output
Source: EpicGames/lore