Struct engine_rocks::RocksWriteBatchVec [−][src]
RocksWriteBatchVec
is for method multi_batch_write
of RocksDB, which splits a large WriteBatch
into many smaller ones and then any thread could help to deal with these small WriteBatch when it
is calling AwaitState
and wait to become leader of WriteGroup. multi_batch_write
will perform
much better than traditional pipelined_write
when TiKV writes very large data into RocksDB. We
will remove this feature when unordered_write
of RocksDB becomes more stable and becomes compatible
with Titan.
Fields
db: Arc<DB>
wbs: Vec<RawWriteBatch>
save_points: Vec<usize>
index: usize
cur_batch_size: usize
batch_size_limit: usize
Implementations
impl RocksWriteBatchVec
[src][−]
pub fn new(
db: Arc<DB>,
batch_size_limit: usize,
cap: usize
) -> RocksWriteBatchVec
[src]
db: Arc<DB>,
batch_size_limit: usize,
cap: usize
) -> RocksWriteBatchVec
pub fn as_inner(&self) -> &[RawWriteBatch]ⓘ
[src]
pub fn as_raw(&self) -> &RawWriteBatch
[src]
pub fn get_db(&self) -> &DB
[src]
fn check_switch_batch(&mut self)
[src][−]
check_switch_batch
will split a large WriteBatch into many smaller ones. This is to avoid
a large WriteBatch blocking write_thread too long.
Trait Implementations
impl Mutable for RocksWriteBatchVec
[src][+]
impl WriteBatch<RocksEngine> for RocksWriteBatchVec
[src][+]
Auto Trait Implementations
impl RefUnwindSafe for RocksWriteBatchVec
impl Send for RocksWriteBatchVec
impl !Sync for RocksWriteBatchVec
impl Unpin for RocksWriteBatchVec
impl UnwindSafe for RocksWriteBatchVec
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<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> 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>,
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>,