public interface IndexTransaction
UpdateTransaction
Used on the regular write path and when indexing newly acquired SSTables from streaming or sideloading. This type
of transaction may include both row inserts and updates to rows previously existing in the base Memtable. Instances
are scoped to a single partition update and are obtained from the factory method
SecondaryIndexManager#newUpdateTransaction
* CompactionTransaction
Used during compaction when stale entries which have been superceded are cleaned up from the index. As rows in a
partition are merged during the compaction, index entries for any purged rows are cleaned from the index to
compensate for the fact that they may not have been removed at write time if the data in the base table had been
already flushed to disk (and so was processed as an insert, not an update by the UpdateTransaction). These
transactions are currently scoped to a single row within a partition, but this could be improved to batch process
multiple rows within a single partition.
* @{code CleanupTransaction}
During cleanup no merging is required, the only thing to do is to notify indexes of the partitions being removed,
along with the rows within those partitions. Like with compaction, these transactions are currently scoped to a
single row within a partition, but this could be improved with batching.Modifier and Type | Interface and Description |
---|---|
static class |
IndexTransaction.Type
Used to differentiate between type of index transaction when obtaining
a handler from Index implementations.
|
Modifier and Type | Method and Description |
---|---|
void |
commit() |
void |
start() |
Copyright © 2009- The Apache Software Foundation