Repository navigation
[Server] Give FileSessionStore a time budget for replacing a held session file on Windows - #726
Merged
chr-hertel merged 1 commit intoNov 10, 2026
Conversation
…sion file on Windows
chr-hertel
requested review from
CodeWithKyrian,
Nyholm and
soyuka
as code owners
November 10, 2026 09:55
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The review identifies no active issues with the Windows session-file replacement retry changes.
No open issues 🎉
What changed in this PR
Improves Windows session-file replacement reliability by allowing retries long enough to cover the file contention observed after #702 and #717.
Changes:
- Replaces the fixed 10-attempt limit with a one-second retry budget on Windows.
- Preserves single-attempt replacement on other platforms and updates the changelog.
| File | Description |
|---|---|
src/Server/Session/FileSessionStore.php |
Uses a monotonic deadline for Windows replacement retries, with 1 ms sleeps between attempts. |
CHANGELOG.md |
Documents the extended retry window for held session files on Windows. |
Review effort: Balanced
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #702 and #717. On Windows,
rename()can't replace a file anyone has open, readers included. Under the concurrent writer test the target stayed held for up to ~240 ms, longer than the 10 attempts covered. Windows now retries the move for up to a second.🤖 Generated with Claude Code