Package org.apache.bookkeeper.bookie
Class EntryMemTableWithParallelFlusher
- java.lang.Object
-
- org.apache.bookkeeper.bookie.EntryMemTable
-
- org.apache.bookkeeper.bookie.EntryMemTableWithParallelFlusher
-
- All Implemented Interfaces:
java.lang.AutoCloseable
class EntryMemTableWithParallelFlusher extends EntryMemTable
EntryMemTableWithParallelFlusher.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.bookkeeper.bookie.EntryMemTable
EntryMemTable.EntrySkipList
-
-
Field Summary
Fields Modifier and Type Field Description (package private) OrderedExecutor
flushExecutor
-
Fields inherited from class org.apache.bookkeeper.bookie.EntryMemTable
allocator, checkpointSource, conf, kvmap, lock, memTableStats, size, skipListSemaphore, skipListSizeLimit, snapshot
-
-
Constructor Summary
Constructors Constructor Description EntryMemTableWithParallelFlusher(ServerConfiguration conf, CheckpointSource source, StatsLogger statsLogger)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
(package private) long
flushSnapshot(SkipListFlusher flusher, CheckpointSource.Checkpoint checkpoint)
Functionally this overridden flushSnapshot does the same as EntryMemTable's flushSnapshot, but it uses flushExecutor (OrderedExecutor) to process an entry through flusher.-
Methods inherited from class org.apache.bookkeeper.bookie.EntryMemTable
addEntry, clearSnapshot, dump, flush, flush, getEntry, getLastEntry, getListOfEntriesOfLedger, isEmpty, isSizeLimitReached, snapshot, snapshot
-
-
-
-
Field Detail
-
flushExecutor
final OrderedExecutor flushExecutor
-
-
Constructor Detail
-
EntryMemTableWithParallelFlusher
public EntryMemTableWithParallelFlusher(ServerConfiguration conf, CheckpointSource source, StatsLogger statsLogger)
-
-
Method Detail
-
flushSnapshot
long flushSnapshot(SkipListFlusher flusher, CheckpointSource.Checkpoint checkpoint) throws java.io.IOException
Functionally this overridden flushSnapshot does the same as EntryMemTable's flushSnapshot, but it uses flushExecutor (OrderedExecutor) to process an entry through flusher.SubMaps of the snapshot corresponding to the entries of the ledgers are created and submitted to the flushExecutor with ledgerId as the orderingKey to flush process the entries of a ledger.
- Overrides:
flushSnapshot
in classEntryMemTable
- Throws:
java.io.IOException
-
close
public void close() throws java.lang.Exception
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Overrides:
close
in classEntryMemTable
- Throws:
java.lang.Exception
-
-