Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upHttp cache: wait on pending stores #24318
Conversation
highfive
commented
Sep 29, 2019
|
Heads up! This PR modifies the following files:
|
highfive
commented
Sep 29, 2019
|
@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
|
@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 -->
|
|
|
@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 -->
|
|
I'm pretty certain this one is intermittent, filed #24320 |
5da34f6
to
551e7fb
56de49d
to
08b3243
|
Test written in #24370. Want to review it and see what happens with your changes? |
|
|
| if new == 0 { | ||
| *state = HttpCacheEntryState::ReadyToConstruct; | ||
| // Notify the next thread waiting in line, if there is any. | ||
| cvar.notify_one(); |
This comment has been minimized.
This comment has been minimized.
gterzian
Oct 6, 2019
•
Author
Member
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
|
|
and various small improvements
|
Ok this one should be good to go, it does require a r=@asajeffrey which I cannot give. |
|
@bors-servo r+ |
|
|
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 -->
|
|
|
Yay! |
gterzian commentedSep 29, 2019
•
edited by SimonSapin
FIX #24166
./mach build -ddoes not report any errors./mach test-tidydoes not report any errorsThis change is