Repository navigation
[sled-agent] use wrapper types for trust quorum responses - #11635
sunshowers merged 3 commits into
Conversation
| .ok_or_else(|| { | ||
| anyhow!( | ||
| "Coordinator {} reported no coordinator status: it is not \ | ||
| currently coordinating a reconfiguration.", | ||
| config.coordinator | ||
| ) | ||
| })?; |
There was a problem hiding this comment.
@andrewjstone how should we handle this?
There was a problem hiding this comment.
I think we should abort the configuration. The user will have to find out about it by querying the status, but that's unavoidable at this point.
There was a problem hiding this comment.
Can I do this in a followup? This change is currently behavior-preserving (just makes the error messages better and closes a footgun) and I would want to introduce such a behavior change in a followup.
There was a problem hiding this comment.
Yes. Totally. I expected as much. It's a major change, although a nice fix.
There was a problem hiding this comment.
What I'm going to do in this commit is to also include the epoch in the response, so that Nexus can use that as part of its abort decision-making.
| /// the coordinator started that epoch and then stopped for some reason, | ||
| /// and Nexus can abort this configuration. If lower than the Nexus | ||
| /// epoch, then reconfiguration has not started yet. | ||
| latest_config_epoch: Option<Epoch>, |
Steps 1-3 in the plan for #11623 -- see that issue for more details.