New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Http cache: wait on pending stores #24318
Conversation
Heads up! This PR modifies the following files:
|
@bors-servo try=wpt |
Http cache: wait on pending stores <!-- Please describe your changes on the following line: --> FIX #24166 --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24318) <!-- Reviewable:end -->
cbdc65d
to
8cdd99a
Compare
@bors-servo try=wpt |
Http cache: wait on pending stores <!-- Please describe your changes on the following line: --> FIX #24166 --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24318) <!-- Reviewable:end -->
☀️ Test successful - linux-rel-css, linux-rel-wpt, status-taskcluster |
8cdd99a
to
9407aac
Compare
@bors-servo try=wpt (split the state per cache key, so fetches don't wait on the condvar unless the pending store relates to their key) |
Http cache: wait on pending stores <!-- Please describe your changes on the following line: --> FIX #24166 --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24318) <!-- Reviewable:end -->
💔 Test failed - linux-rel-css |
I'm pretty certain this one is intermittent, filed #24320 |
9407aac
to
1d374f3
Compare
5da34f6
to
551e7fb
Compare
56de49d
to
08b3243
Compare
Test written in #24370. Want to review it and see what happens with your changes? |
☔ The latest upstream changes (presumably #24374) made this pull request unmergeable. Please resolve the merge conflicts. |
b08f2f0
to
ba7a157
Compare
ba7a157
to
3486c1e
Compare
if new == 0 { | ||
*state = HttpCacheEntryState::ReadyToConstruct; | ||
// Notify the next thread waiting in line, if there is any. | ||
cvar.notify_one(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I slipped-in one change, which is to wake-up only one thread here, and then add a call to notify the next in line at https://github.com/servo/servo/pull/24318/files#diff-aa469beb5619907dbccd88364264b9b8R1131 @asajeffrey
☔ The latest upstream changes (presumably #24370) made this pull request unmergeable. Please resolve the merge conflicts. |
3486c1e
to
edb6d74
Compare
and various small improvements
edb6d74
to
4f3ba70
Compare
Ok this one should be good to go, it does require a r=@asajeffrey which I cannot give. |
@bors-servo r+ |
📌 Commit 4f3ba70 has been approved by |
Http cache: wait on pending stores <!-- Please describe your changes on the following line: --> FIX #24166 --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24318) <!-- Reviewable:end -->
☀️ Test successful - linux-rel-css, linux-rel-wpt, status-taskcluster |
Yay! |
FIX #24166
./mach build -d
does not report any errors./mach test-tidy
does not report any errorsThis change is