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]
fn put(&mut self, key: &[u8], value: &[u8]) -> Result<()>
[src]
fn put_cf(&mut self, cf: &str, key: &[u8], value: &[u8]) -> Result<()>
[src]
fn delete(&mut self, key: &[u8]) -> Result<()>
[src]
fn delete_cf(&mut self, cf: &str, key: &[u8]) -> Result<()>
[src]
fn delete_range(&mut self, begin_key: &[u8], end_key: &[u8]) -> Result<()>
[src]
fn delete_range_cf(
&mut self,
cf: &str,
begin_key: &[u8],
end_key: &[u8]
) -> Result<()>
[src]
&mut self,
cf: &str,
begin_key: &[u8],
end_key: &[u8]
) -> Result<()>
pub fn put_msg<M>(&mut self, key: &[u8], m: &M) -> Result<(), Error> where
M: Message,
[src]
M: Message,
pub fn put_msg_cf<M>(
&mut self,
cf: &str,
key: &[u8],
m: &M
) -> Result<(), Error> where
M: Message,
[src]
&mut self,
cf: &str,
key: &[u8],
m: &M
) -> Result<(), Error> where
M: Message,
impl WriteBatch<RocksEngine> for RocksWriteBatchVec
[src]
fn with_capacity(e: &RocksEngine, cap: usize) -> RocksWriteBatchVec
[src]
fn write_opt(&self, opts: &WriteOptions) -> Result<()>
[src]
fn data_size(&self) -> usize
[src]
fn count(&self) -> usize
[src]
fn is_empty(&self) -> bool
[src]
fn should_write_to_engine(&self) -> bool
[src]
fn clear(&mut self)
[src]
fn set_save_point(&mut self)
[src]
fn pop_save_point(&mut self) -> Result<()>
[src]
fn rollback_to_save_point(&mut self) -> Result<()>
[src]
pub fn write(&self) -> Result<(), Error>
[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,
pub fn borrow_mut(&mut self) -> &mut T
[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> 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>,