[wicketd] switch to a watch channel for installinator reports#3950
Merged
sunshowers merged 5 commits intoAug 29, 2023
Merged
Conversation
Created using spr 1.3.4
Created using spr 1.3.4
Created using spr 1.3.4
jgallagher
reviewed
Aug 25, 2023
| ( | ||
| // Don't set the state to Closed here even if this is a | ||
| // terminal update, because we want to keep returning | ||
| // ReceiverClosed. |
Contributor
There was a problem hiding this comment.
I don't entirely follow this comment, but I'm having a hard time finding where Self::Closed vs Self::ReportsReceived(_) is used or reported - can you point me in the right direction?
Contributor
Author
There was a problem hiding this comment.
I've expanded the comment -- hopefully this is clearer.
sunshowers
commented
Aug 28, 2023
Comment on lines
90
to
+105
| RunningUpdate::ReportsReceived(sender) => { | ||
| slog::debug!( | ||
| self.log, | ||
| "further report seen for this update ID"; | ||
| "update_id" => %update_id | ||
| ); | ||
| *update = | ||
| RunningUpdate::send_and_next_state(sender, report); | ||
| let (new_state, ret) = RunningUpdate::send_and_next_state( | ||
| &self.log, sender, report, | ||
| ); | ||
| *update = new_state; | ||
| ret | ||
| } | ||
| RunningUpdate::Closed => { | ||
| // The sender has been closed; ignore the report. | ||
| *update = RunningUpdate::Closed; | ||
| EventReportStatus::Processed |
Contributor
Author
There was a problem hiding this comment.
This is where the ReportsReceived and Closed statuses are read.
Created using spr 1.3.4
jgallagher
approved these changes
Aug 29, 2023
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.
This was originally changed to an unbounded receiver in #3579, but in
the comments to RFD 400 it was pointed out that maybe we shouldn't give
up on backpressure. Switch to a watch channel, since we only care about
the last element anyway.
(This isn't a hugely pressing issue, but I want to include it as a case
study in RFD 400.)
Also treat the receiver being closed as HTTP 410 Gone. We don't do
anything with this at the moment, but could abort installinator on
receiving this signal in the future.