Struct tikv::server::gc_worker::gc_worker::GcRunner [−][src]
Used to perform GC operations on the engine.
Fields
engine: E
raft_store_router: RR
limiter: Limiter
Used to limit the write flow of GC.
cfg: GcConfig
cfg_tracker: Tracker<GcConfig>
stats: Statistics
Implementations
impl<E, RR> GcRunner<E, RR> where
E: Engine,
RR: RaftStoreRouter<RocksEngine>,
[src]
E: Engine,
RR: RaftStoreRouter<RocksEngine>,
pub fn new(
engine: E,
raft_store_router: RR,
cfg_tracker: Tracker<GcConfig>,
cfg: GcConfig
) -> Self
[src]
engine: E,
raft_store_router: RR,
cfg_tracker: Tracker<GcConfig>,
cfg: GcConfig
) -> Self
fn need_gc(
&self,
start_key: &[u8],
end_key: &[u8],
safe_point: TimeStamp
) -> bool
[src]
&self,
start_key: &[u8],
end_key: &[u8],
safe_point: TimeStamp
) -> bool
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]
&mut self,
safe_point: TimeStamp,
key: &Key,
gc_info: &mut GcInfo,
txn: &mut MvccTxn,
reader: &mut MvccReader<E::Snap>
) -> Result<()>
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]
&mut self,
start_key: &[u8],
end_key: &[u8],
safe_point: TimeStamp
) -> Result<()>
fn gc_keys(
&mut self,
keys: Vec<Key>,
safe_point: TimeStamp,
regions_provider: Option<(u64, Arc<dyn RegionInfoProvider>)>
) -> Result<()>
[src]
&mut self,
keys: Vec<Key>,
safe_point: TimeStamp,
regions_provider: Option<(u64, Arc<dyn RegionInfoProvider>)>
) -> Result<()>
fn unsafe_destroy_range(
&self,
_: &Context,
start_key: &Key,
end_key: &Key
) -> Result<()>
[src]
&self,
_: &Context,
start_key: &Key,
end_key: &Key
) -> Result<()>
fn handle_physical_scan_lock(
&self,
_: &Context,
max_ts: TimeStamp,
start_key: &Key,
limit: usize
) -> Result<Vec<LockInfo>>
[src]
&self,
_: &Context,
max_ts: TimeStamp,
start_key: &Key,
limit: usize
) -> Result<Vec<LockInfo>>
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]
E: Engine,
RR: RaftStoreRouter<RocksEngine>,
Auto Trait Implementations
impl<E, RR> RefUnwindSafe for GcRunner<E, RR> where
E: RefUnwindSafe,
RR: RefUnwindSafe,
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,
E: Sync,
RR: Sync,
impl<E, RR> Unpin for GcRunner<E, RR> where
E: Unpin,
RR: Unpin,
E: Unpin,
RR: Unpin,
impl<E, RR> UnwindSafe for GcRunner<E, RR> where
E: UnwindSafe,
RR: UnwindSafe,
E: UnwindSafe,
RR: UnwindSafe,
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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<V, W> ConvertFrom<W> for V where
W: ConvertTo<V>,
[src]
W: ConvertTo<V>,
pub fn convert_from(ctx: &mut EvalContext, from: W) -> Result<V, Error>
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
[src]
pub const ALIGN: usize
[src]
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
[src]
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
[src]
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
[src]
pub unsafe fn drop(ptr: usize)
[src]
impl<T> Pointable for T
[src]
pub const ALIGN: usize
[src]
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
[src]
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
[src]
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
[src]
pub unsafe fn drop(ptr: usize)
[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> SendSyncUnwindSafe for T where
T: Send + Sync + UnwindSafe + ?Sized,
[src]
T: Send + Sync + UnwindSafe + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,