pub enum ParticipantLogMigrationError {
Configuration(String),
Registry(String),
Replay {
conversation_id: u64,
reason: String,
},
Write {
conversation_id: u64,
generation: u64,
reason: String,
},
GenerationDrift {
conversation_id: u64,
generation: u64,
sequence: u64,
},
StateDrift {
conversation_id: u64,
source_generation: u64,
generation: u64,
},
Switch {
conversation_id: u64,
expected: u64,
to: u64,
reason: String,
},
SwitchUnconfirmed {
conversation_id: u64,
expected: u64,
to: u64,
reason: String,
},
}Expand description
Why the migration stopped. Every refusal names the conversation, and no conversation’s authoritative generation is changed by a refused run.
Variants§
Configuration(String)
The participant configuration’s outbox limits are invalid.
Registry(String)
The conversation registry could not be read.
Replay
A conversation’s log did not replay, so its rows cannot be rewritten.
Write
A conversation’s new generation could not be read or written.
Fields
GenerationDrift
A new generation left by an earlier run holds a row that differs from the row this run derives at the same sequence, or more rows than the log has.
Fields
StateDrift
The rewritten generation replays to a different state than the log it was rewritten from.
Fields
Switch
The generation key moved while the migration ran, so another writer is using the store.
Fields
SwitchUnconfirmed
The authoritative generation was swapped but the flush that makes the swap durable failed, so which generation a restart finds is not known. Both generations replay to the same state; running the migration again reads the authoritative generation and reports or completes the conversation.
Trait Implementations§
Source§impl Debug for ParticipantLogMigrationError
impl Debug for ParticipantLogMigrationError
Source§impl Error for ParticipantLogMigrationError
impl Error for ParticipantLogMigrationError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()