org.apache.cassandra.db.compaction
Class LazilyCompactedRow
java.lang.Object
org.apache.cassandra.db.compaction.AbstractCompactedRow
org.apache.cassandra.db.compaction.LazilyCompactedRow
- All Implemented Interfaces:
- java.lang.Iterable<IColumn>, IIterableColumns
public class LazilyCompactedRow
- extends AbstractCompactedRow
- implements IIterableColumns
LazilyCompactedRow only computes the row bloom filter and column index in memory
(at construction time); it does this by reading one column at a time from each
of the rows being compacted, and merging them as it does so. So the most we have
in memory at a time is the bloom filter, the index, and one column from each
pre-compaction row.
When write() or update() is called, a second pass is made over the pre-compaction
rows to write the merged columns or update the hash, again with at most one column
from each row deserialized at a time.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LazilyCompactedRow
public LazilyCompactedRow(CompactionController controller,
java.util.List<SSTableIdentityIterator> rows)
write
public void write(java.io.DataOutput out)
throws java.io.IOException
- Description copied from class:
AbstractCompactedRow
- write the row (size + column index + filter + column data, but NOT row key) to @param out
- Specified by:
write
in class AbstractCompactedRow
- Throws:
java.io.IOException
update
public void update(java.security.MessageDigest digest)
- Description copied from class:
AbstractCompactedRow
- update @param digest with the data bytes of the row (not including row key or row size)
- Specified by:
update
in class AbstractCompactedRow
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in class AbstractCompactedRow
- Returns:
- true if there are no columns in the row AND there are no row-level tombstones to be preserved
getEstimatedColumnCount
public int getEstimatedColumnCount()
- Specified by:
getEstimatedColumnCount
in interface IIterableColumns
getComparator
public AbstractType getComparator()
- Specified by:
getComparator
in interface IIterableColumns
iterator
public java.util.Iterator<IColumn> iterator()
- Specified by:
iterator
in interface java.lang.Iterable<IColumn>
columnCount
public int columnCount()
- Specified by:
columnCount
in class AbstractCompactedRow
- Returns:
- the number of columns in the row
Copyright © 2011 The Apache Software Foundation