Enum tikv::server::gc_worker::gc_worker::GcTask[][src]

pub enum GcTask {
    Gc {
        region_id: u64,
        start_key: Vec<u8>,
        end_key: Vec<u8>,
        safe_point: TimeStamp,
        callback: Callback<()>,
    },
    GcKeys {
        keys: Vec<Key>,
        safe_point: TimeStamp,
        store_id: u64,
        region_info_provider: Arc<dyn RegionInfoProvider>,
    },
    UnsafeDestroyRange {
        ctx: Context,
        start_key: Key,
        end_key: Key,
        callback: Callback<()>,
    },
    PhysicalScanLock {
        ctx: Context,
        max_ts: TimeStamp,
        start_key: Key,
        limit: usize,
        callback: Callback<Vec<LockInfo>>,
    },
    OrphanVersions {
        wb: RocksWriteBatch,
        id: usize,
    },
}

Variants

Gc

Fields of Gc

region_id: u64start_key: Vec<u8>end_key: Vec<u8>safe_point: TimeStampcallback: Callback<()>
GcKeys

Fields of GcKeys

keys: Vec<Key>safe_point: TimeStampstore_id: u64region_info_provider: Arc<dyn RegionInfoProvider>
UnsafeDestroyRange

Fields of UnsafeDestroyRange

ctx: Contextstart_key: Keyend_key: Keycallback: Callback<()>
PhysicalScanLock

Fields of PhysicalScanLock

ctx: Contextmax_ts: TimeStampstart_key: Keylimit: usizecallback: Callback<Vec<LockInfo>>
OrphanVersions

If GC in compaction filter is enabled, versions on default CF will be handled with DB::delete in write CF’s compaction filter. However if the compaction filter finds the DB is stalled, it will send the task to GC worker to ensure the compaction can be continued.

NOTE: It’s possible that the TiKV instance fails after a compaction result is installed but its orphan versions are not deleted. Those orphan versions will never get cleaned until DefaultCompactionFilter is introduced.

The tracking issue: https://github.com/tikv/tikv/issues/9719.

Fields of OrphanVersions

wb: RocksWriteBatchid: usize

Implementations

impl GcTask[src]

pub fn get_enum_label(&self) -> GcCommandKind[src]

Trait Implementations

impl Display for GcTask[src]

impl<E, RR> Runnable<GcTask> for GcRunner<E, RR> where
    E: Engine,
    RR: RaftStoreRouter<RocksEngine>, 
[src]

Auto Trait Implementations

impl !RefUnwindSafe for GcTask

impl Send for GcTask

impl !Sync for GcTask

impl Unpin for GcTask

impl !UnwindSafe for GcTask

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<V, W> ConvertFrom<W> for V where
    W: ConvertTo<V>, 
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> Sealed<T> for T where
    T: ?Sized
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]