Struct tikv::server::gc_worker::gc_worker::GcRunner[][src]

struct GcRunner<E, RR> where
    E: Engine,
    RR: RaftStoreRouter<RocksEngine>, 
{ engine: E, raft_store_router: RR, limiter: Limiter, cfg: GcConfig, cfg_tracker: Tracker<GcConfig>, stats: Statistics, }

Used to perform GC operations on the engine.

Fields

engine: Eraft_store_router: RRlimiter: Limiter

Used to limit the write flow of GC.

cfg: GcConfigcfg_tracker: Tracker<GcConfig>stats: Statistics

Implementations

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

pub fn new(
    engine: E,
    raft_store_router: RR,
    cfg_tracker: Tracker<GcConfig>,
    cfg: GcConfig
) -> Self
[src]

fn need_gc(
    &self,
    start_key: &[u8],
    end_key: &[u8],
    safe_point: TimeStamp
) -> bool
[src]

Check need gc without getting snapshot. If this is not supported or any error happens, returns true to do further check after getting snapshot.

fn gc_key(
    &mut self,
    safe_point: TimeStamp,
    key: &Key,
    gc_info: &mut GcInfo,
    txn: &mut MvccTxn,
    reader: &mut MvccReader<E::Snap>
) -> Result<()>
[src]

Cleans up outdated data.

fn new_txn() -> MvccTxn[src]

fn flush_txn(txn: MvccTxn, limiter: &Limiter, engine: &E) -> Result<()>[src]

fn gc(
    &mut self,
    start_key: &[u8],
    end_key: &[u8],
    safe_point: TimeStamp
) -> Result<()>
[src]

fn gc_keys(
    &mut self,
    keys: Vec<Key>,
    safe_point: TimeStamp,
    regions_provider: Option<(u64, Arc<dyn RegionInfoProvider>)>
) -> Result<()>
[src]

fn unsafe_destroy_range(
    &self,
    _: &Context,
    start_key: &Key,
    end_key: &Key
) -> Result<()>
[src]

fn handle_physical_scan_lock(
    &self,
    _: &Context,
    max_ts: TimeStamp,
    start_key: &Key,
    limit: usize
) -> Result<Vec<LockInfo>>
[src]

fn update_statistics_metrics(&mut self)[src]

fn refresh_cfg(&mut self)[src]

Trait Implementations

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

Auto Trait Implementations

impl<E, RR> RefUnwindSafe for GcRunner<E, RR> where
    E: RefUnwindSafe,
    RR: RefUnwindSafe

impl<E, RR> Send for GcRunner<E, RR>

impl<E, RR> Sync for GcRunner<E, RR> where
    E: Sync,
    RR: Sync

impl<E, RR> Unpin for GcRunner<E, RR> where
    E: Unpin,
    RR: Unpin

impl<E, RR> UnwindSafe for GcRunner<E, RR> where
    E: UnwindSafe,
    RR: UnwindSafe

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> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?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]