pub enum TransitionRole {
Auto,
CanonicalDrain,
QueueStorageTarget,
}Expand description
Operator-selected execution role used during a 0.5.x → 0.6 storage
transition. Persisted on awa.runtime_instances so the SQL gate for
enter_mixed_transition can require a runtime that will actually
execute queue-storage work after routing flips, rather than only
inspecting the more permissive storage_capability snapshot
(auto-role runtimes report queue_storage while in
canonical/prepared but downgrade to canonical_drain_only post-flip).
Variants§
Auto
Default. Resolves storage at startup from awa.storage_status()
and follows whatever the cluster is doing. Auto runtimes started
before mixed_transition cannot satisfy the queue-storage executor
gate; they’re meant to drain canonical first and then have new
auto runtimes spin up post-flip to take over queue_storage work.
CanonicalDrain
Stay on canonical execution regardless of transition state. Used for runtimes that should keep draining canonical even after routing flips.
QueueStorageTarget
Always execute queue-storage work, including pre-flip when state
is prepared. At least one live runtime in this role is required
before awa.storage_enter_mixed_transition() will succeed.
Implementations§
Trait Implementations§
Source§impl Clone for TransitionRole
impl Clone for TransitionRole
Source§fn clone(&self) -> TransitionRole
fn clone(&self) -> TransitionRole
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for TransitionRole
Source§impl Debug for TransitionRole
impl Debug for TransitionRole
Source§impl Default for TransitionRole
impl Default for TransitionRole
Source§fn default() -> TransitionRole
fn default() -> TransitionRole
Source§impl<'de> Deserialize<'de> for TransitionRole
impl<'de> Deserialize<'de> for TransitionRole
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for TransitionRole
impl Display for TransitionRole
impl Eq for TransitionRole
Source§impl FromStr for TransitionRole
impl FromStr for TransitionRole
Source§impl Hash for TransitionRole
impl Hash for TransitionRole
Source§impl PartialEq for TransitionRole
impl PartialEq for TransitionRole
Source§fn eq(&self, other: &TransitionRole) -> bool
fn eq(&self, other: &TransitionRole) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for TransitionRole
impl Serialize for TransitionRole
impl StructuralPartialEq for TransitionRole
Auto Trait Implementations§
impl Freeze for TransitionRole
impl RefUnwindSafe for TransitionRole
impl Send for TransitionRole
impl Sync for TransitionRole
impl Unpin for TransitionRole
impl UnsafeUnpin for TransitionRole
impl UnwindSafe for TransitionRole
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more