public abstract class ColumnData extends java.lang.Object implements IMeasurableMemory
Cell
for simple columns
or ComplexColumnData
for complex columns.Modifier and Type | Class and Description |
---|---|
static interface |
ColumnData.PostReconciliationFunction |
static class |
ColumnData.Reconciler |
Modifier and Type | Field and Description |
---|---|
protected ColumnMetadata |
column |
static java.util.Comparator<ColumnData> |
comparator |
static ColumnData.PostReconciliationFunction |
noOp |
Modifier | Constructor and Description |
---|---|
protected |
ColumnData(ColumnMetadata column) |
Modifier and Type | Method and Description |
---|---|
abstract ColumnData |
clone(Cloner cloner) |
ColumnMetadata |
column()
The column this is data for.
|
abstract int |
dataSize()
The size of the data hold by this
ColumnData . |
abstract void |
digest(Digest digest)
Adds the data to the provided digest.
|
static void |
digest(Digest digest,
ColumnData cd) |
abstract boolean |
hasInvalidDeletions()
Validates the deletions (ttl and local deletion time) if any.
|
abstract ColumnData |
markCounterLocalToBeCleared() |
abstract long |
maxTimestamp() |
abstract ColumnData |
purge(DeletionPurger purger,
int nowInSec) |
abstract ColumnData |
purgeDataOlderThan(long timestamp) |
static ColumnData.Reconciler |
reconciler(ColumnData.PostReconciliationFunction updateF,
DeletionTime activeDeletion)
Construct an UpdateFunction for reconciling normal ColumnData
(i.e.
|
abstract long |
unsharedHeapSize() |
abstract long |
unsharedHeapSizeExcludingData() |
abstract ColumnData |
updateAllTimestamp(long newTimestamp)
Returns a copy of the data where all timestamps for live data have replaced by
newTimestamp and
all deletion timestamp by newTimestamp - 1 . |
abstract void |
validate()
Validate the column data.
|
public static final java.util.Comparator<ColumnData> comparator
public static ColumnData.PostReconciliationFunction noOp
protected final ColumnMetadata column
protected ColumnData(ColumnMetadata column)
public static ColumnData.Reconciler reconciler(ColumnData.PostReconciliationFunction updateF, DeletionTime activeDeletion)
updateF
- a consumer receiving all pairs of reconciled cellsactiveDeletion
- the row or partition deletion time to use for purgingpublic final ColumnMetadata column()
public abstract int dataSize()
ColumnData
.ColumnData
.public abstract long unsharedHeapSizeExcludingData()
public abstract long unsharedHeapSize()
unsharedHeapSize
in interface IMeasurableMemory
public abstract void validate()
MarshalException
- if the data is not valid.public abstract boolean hasInvalidDeletions()
public abstract void digest(Digest digest)
digest
- the Digest
to add the data to.public static void digest(Digest digest, ColumnData cd)
public abstract ColumnData clone(Cloner cloner)
public abstract ColumnData updateAllTimestamp(long newTimestamp)
newTimestamp
and
all deletion timestamp by newTimestamp - 1
.
This exists for the Paxos path, see PartitionUpdate#updateAllTimestamp
for additional details.public abstract ColumnData markCounterLocalToBeCleared()
public abstract ColumnData purge(DeletionPurger purger, int nowInSec)
public abstract ColumnData purgeDataOlderThan(long timestamp)
public abstract long maxTimestamp()
Copyright © 2009- The Apache Software Foundation