Enum tikv::server::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
Fields of Gc
Fields of GcKeys
Fields of PhysicalScanLock
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: RocksWriteBatch
id: 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][+]
E: Engine,
RR: RaftStoreRouter<RocksEngine>,
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][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<V, W> ConvertFrom<W> for V where
W: ConvertTo<V>,
[src][+]
W: ConvertTo<V>,
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][+]
U: From<T>,
impl<T> Pointable for T
[src][+]
impl<T> Pointable for T
[src][+]
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> Sealed<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> ToString for T where
T: Display + ?Sized,
[src][+]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src][+]
V: MultiLane<T>,