public class WriteOptions extends RocksObject
Note that developers should call WriteOptions.dispose() to release the c++ side memory before a WriteOptions instance runs out of scope.
nativeHandle_
owningHandle_
Constructor and Description |
---|
WriteOptions()
Construct WriteOptions instance.
|
WriteOptions(WriteOptions other)
Copy constructor for WriteOptions.
|
Modifier and Type | Method and Description |
---|---|
boolean |
disableWAL()
If true, writes will not first go to the write ahead log,
and the write may got lost after a crash.
|
protected void |
disposeInternal(long handle) |
boolean |
ignoreMissingColumnFamilies()
If true and if user is trying to write to column families that don't exist
(they were dropped), ignore the write (don't return an error).
|
boolean |
lowPri()
Returns true if this write request is of lower priority if compaction is
behind.
|
boolean |
memtableInsertHintPerBatch()
If true, this writebatch will maintain the last insert positions of each
memtable as hints in concurrent write.
|
boolean |
noSlowdown()
If true and we need to wait or sleep for the write request, fails
immediately with
Status.Code.Incomplete . |
WriteOptions |
setDisableWAL(boolean flag)
If true, writes will not first go to the write ahead log,
and the write may got lost after a crash.
|
WriteOptions |
setIgnoreMissingColumnFamilies(boolean ignoreMissingColumnFamilies)
If true and if user is trying to write to column families that don't exist
(they were dropped), ignore the write (don't return an error).
|
WriteOptions |
setLowPri(boolean lowPri)
If true, this write request is of lower priority if compaction is
behind.
|
WriteOptions |
setMemtableInsertHintPerBatch(boolean memtableInsertHintPerBatch)
If true, this writebatch will maintain the last insert positions of each
memtable as hints in concurrent write.
|
WriteOptions |
setNoSlowdown(boolean noSlowdown)
If true and we need to wait or sleep for the write request, fails
immediately with
Status.Code.Incomplete . |
WriteOptions |
setSync(boolean flag)
If true, the write will be flushed from the operating system
buffer cache (by calling WritableFile::Sync()) before the write
is considered complete.
|
boolean |
sync()
If true, the write will be flushed from the operating system
buffer cache (by calling WritableFile::Sync()) before the write
is considered complete.
|
disposeInternal, getNativeHandle
close, disOwnNativeHandle, isOwningHandle
public WriteOptions()
public WriteOptions(WriteOptions other)
NOTE: This does a shallow copy, which means comparator, merge_operator, compaction_filter, compaction_filter_factory and other pointers will be cloned!
other
- The ColumnFamilyOptions to copy.public WriteOptions setSync(boolean flag)
If this flag is false, and the machine crashes, some recent writes may be lost. Note that if it is just the process that crashes (i.e., the machine does not reboot), no writes will be lost even if sync==false.
In other words, a DB write with sync==false has similar crash semantics as the "write()" system call. A DB write with sync==true has similar crash semantics to a "write()" system call followed by "fdatasync()".
Default: false
flag
- a boolean flag to indicate whether a write
should be synchronized.public boolean sync()
If this flag is false, and the machine crashes, some recent writes may be lost. Note that if it is just the process that crashes (i.e., the machine does not reboot), no writes will be lost even if sync==false.
In other words, a DB write with sync==false has similar crash semantics as the "write()" system call. A DB write with sync==true has similar crash semantics to a "write()" system call followed by "fdatasync()".
public WriteOptions setDisableWAL(boolean flag)
flag
- a boolean flag to specify whether to disable
write-ahead-log on writes.public boolean disableWAL()
public WriteOptions setIgnoreMissingColumnFamilies(boolean ignoreMissingColumnFamilies)
Default: false
ignoreMissingColumnFamilies
- true to ignore writes to column families
which don't existpublic boolean ignoreMissingColumnFamilies()
Default: false
public WriteOptions setNoSlowdown(boolean noSlowdown)
Status.Code.Incomplete
.noSlowdown
- true to fail write requests if we need to wait or sleeppublic boolean noSlowdown()
Status.Code.Incomplete
.public WriteOptions setLowPri(boolean lowPri)
noSlowdown()
== true, the request
will be cancelled immediately with Status.Code.Incomplete
returned.
Otherwise, it will be slowed down. The slowdown value is determined by
RocksDB to guarantee it introduces minimum impacts to high priority writes.
Default: false
lowPri
- true if the write request should be of lower priority than
compactions which are behind.public boolean lowPri()
See setLowPri(boolean)
.
public boolean memtableInsertHintPerBatch()
concurrent_memtable_writes
is false) this
option will be ignored.
Default: false
public WriteOptions setMemtableInsertHintPerBatch(boolean memtableInsertHintPerBatch)
concurrent_memtable_writes
is false) this
option will be ignored.
Default: false
memtableInsertHintPerBatch
- true if writebatch should maintain the last insert positions
of each memtable as hints in concurrent write.protected final void disposeInternal(long handle)
disposeInternal
in class RocksObject