Replies: 3 comments 8 replies
-
@ophirzk "run a bunch of publishers for N hours" is not particularly helpful, most real world RabbitMQ installations do exactly that and most do not run into The author of #14094 did provide enough details and then twice given us feedback on the effectiveness of the changes after running a |
Beta Was this translation helpful? Give feedback.
-
@michaelklishin , @lhoguin, @ophirzk Thank you for looking into that and trying to workaround it. Looking more into that, it appears that Microsoft changed the default delete file semantic versions of windows 10 > 18363.657 to be posix compliant (FILE_DISPOSITION_POSIX_SEMANTICS). Meaning it is deleted right away (but still allow access by existing handles to the data stream). If I understand, this would allow you to then open the file again and get a new link. See more here _FILE_DISPOSITION_INFORMATION_EX (ntddk.h) - Windows drivers | Microsoft Learn., and here DeleteFileA function (fileapi.h) - Win32 apps | Microsoft Learn Based on this: Offer Posix-style file and directory deletion APIs · Issue #32737 · dotnet/runtime If that is correct, it means that the error is dependent on the OS version. From our current data, we see the issue only on windows server 2019, and not on windows server 2022. @lhoguin , it worth checking if you get the same issue after upgrading to WS2022. While in WS2022 the default delete semantic was changed to FILE_DISPOSITION_POSIX_SEMANTICS, it is still achievable in previous versions by calling ZwSetInformationFile and setting FILE_DISPOSITION_INFORMATION_EX::FILE_DISPOSITION_POSIX_SEMANTICS before deleting the file. I wonder if that would be considered a more bulletproof solution to this race condition. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Describe the bug
After discovering issue: #14094 I upgraded to RabbitMQ 4.1.2 but the issue seems to reproduce in 4.1.2.
Erlang version used
27.3.x
Operating system (distribution) used
Windows Server 2019
How is RabbitMQ deployed?
Windows installer
Reproduction steps
...
Expected behavior
Additional context
No response
Beta Was this translation helpful? Give feedback.
All reactions