BigTableReader (apache-cassandra API)
Date: 2018-02-12

org.apache.cassandra.io.sstable.format.big

## Class BigTableReader

- java.lang.Object
- - org.apache.cassandra.io.sstable.SSTable
  - - org.apache.cassandra.io.sstable.format.SSTableReader
    - - org.apache.cassandra.io.sstable.format.big.BigTableReader

- All Implemented Interfaces:
    RefCounted<SSTableReader>, SelfRefCounted<SSTableReader>

      public class BigTableReader
      extends SSTableReader

  SSTableReaders are open()ed by Keyspace.onStart; after that they are created by SSTableWriter.renameAndOpen. Do not re-call open() on existing SSTable files; use the references kept by ColumnFamilyStore post-start instead.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.cassandra.io.sstable.format.SSTableReader

      `SSTableReader.Factory, SSTableReader.OpenReason, SSTableReader.Operator, SSTableReader.SizeComparator, SSTableReader.UniqueIdentifier`

    - ### Nested classes/interfaces inherited from interface org.apache.cassandra.utils.concurrent.RefCounted

      `RefCounted.Tidy`

  - ### Field Summary

    - ### Fields inherited from class org.apache.cassandra.io.sstable.format.SSTableReader

      `bf, bloomFilterTracker, dfile, ifile, indexSummary, instanceId, isSuspect, keyCache, keyCacheHit, keyCacheRequest, maxDataAge, maxTimestampComparator, openReason, rowIndexEntrySerializer, sstableComparator, sstableMetadata, sstableOrdering`

    - ### Fields inherited from class org.apache.cassandra.io.sstable.SSTable

      `components, compression, descriptor, first, last, metadata, partitioner, TOMBSTONE_HISTOGRAM_BIN_SIZE`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected RowIndexEntry` | `getPosition(RowPosition key, SSTableReader.Operator op, boolean updateCacheAndStats, boolean permitMatchPastLast)`
    `ISSTableScanner` | `getScanner(java.util.Collection<Range<Token>> ranges, com.google.common.util.concurrent.RateLimiter limiter)` Direct I/O SSTableScanner over a defined collection of ranges of tokens.
    `ISSTableScanner` | `getScanner(DataRange dataRange, com.google.common.util.concurrent.RateLimiter limiter)`
    `OnDiskAtomIterator` | `iterator(DecoratedKey key, ColumnSlice[] slices, boolean reverse)`
    `OnDiskAtomIterator` | `iterator(DecoratedKey key, java.util.SortedSet<CellName> columns)`
    `OnDiskAtomIterator` | `iterator(FileDataInput input, DecoratedKey key, ColumnSlice[] slices, boolean reverse, RowIndexEntry indexEntry)`
    `OnDiskAtomIterator` | `iterator(FileDataInput input, DecoratedKey key, java.util.SortedSet<CellName> columns, RowIndexEntry indexEntry)`

    - ### Methods inherited from class org.apache.cassandra.io.sstable.format.SSTableReader

      `cacheKey, cloneWithNewStart, cloneWithNewSummarySamplingLevel, createLinks, equals, estimateCompactionGain, estimatedKeys, estimatedKeysForRanges, firstKeyBeyond, forceFilterFailures, getAncestors, getApproximateKeyCount, getBloomFilter, getBloomFilterFalsePositiveCount, getBloomFilterOffHeapSize, getBloomFilterSerializedSize, getBloomFilterTruePositiveCount, getCachedPosition, getCachedPosition, getCacheKey, getCompressionMetadata, getCompressionMetadataOffHeapSize, getCompressionRatio, getCreationTimeFor, getDroppableTombstonesBefore, getEffectiveIndexInterval, getEstimatedColumnCount, getEstimatedDroppableTombstoneRatio, getEstimatedRowSize, getFileDataInput, getFilename, getIndexScanPosition, getIndexScanPositionFromBinarySearchResult, getIndexSummaryIndexFromBinarySearchResult, getIndexSummaryKey, getIndexSummaryOffHeapSize, getIndexSummarySamplingLevel, getIndexSummarySize, getKeyCache, getKeyCacheHit, getKeyCacheRequest, getKeySamples, getMaxIndexSummarySize, getMaxTimestamp, getMinIndexInterval, getMinTimestamp, getPosition, getPosition, getPositionsForRanges, getReadMeter, getRecentBloomFilterFalsePositiveCount, getRecentBloomFilterTruePositiveCount, getScanner, getScanner, getScanner, getScanner, getSSTableLevel, getSSTableMetadata, getTotalBytes, getTotalUncompressedBytes, hashCode, incrementReadCount, internalOpen, isMarkedCompacted, isMarkedSuspect, isRepaired, isReplaced, loadSummary, logOpenException, markObsolete, markSuspect, newSince, onDiskLength, open, open, open, open, openAll, openDataReader, openDataReader, openForBatch, openIndexReader, openNoValidation, overrideReadMeter, ref, releaseSummary, reloadSSTableMetadata, resetTidying, runOnClose, saveSummary, saveSummary, selfRef, setReplaced, setupKeyCache, tryRef, uncompressedLength`

    - ### Methods inherited from class org.apache.cassandra.io.sstable.SSTable

      `addComponents, appendTOC, bytesOnDisk, componentsFor, delete, discoverComponentsFor, estimateRowsFromIndex, getColumnFamilyName, getIndexFilename, getKeyspaceName, getMinimalKey, readTOC, toString, tryComponentFromFilename`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### iterator

          public OnDiskAtomIterator iterator(DecoratedKey key,
                                             java.util.SortedSet<CellName> columns)

      Specified by:
        `iterator` in class `SSTableReader`

    - #### iterator

          public OnDiskAtomIterator iterator(FileDataInput input,
                                             DecoratedKey key,
                                             java.util.SortedSet<CellName> columns,
                                             RowIndexEntry indexEntry)

      Specified by:
        `iterator` in class `SSTableReader`

    - #### iterator

          public OnDiskAtomIterator iterator(DecoratedKey key,
                                             ColumnSlice[] slices,
                                             boolean reverse)

      Specified by:
        `iterator` in class `SSTableReader`

    - #### iterator

          public OnDiskAtomIterator iterator(FileDataInput input,
                                             DecoratedKey key,
                                             ColumnSlice[] slices,
                                             boolean reverse,
                                             RowIndexEntry indexEntry)

      Specified by:
        `iterator` in class `SSTableReader`

    - #### getScanner

          public ISSTableScanner getScanner(DataRange dataRange,
                                            com.google.common.util.concurrent.RateLimiter limiter)

      Specified by:
        `getScanner` in class `SSTableReader`
      Parameters:
        `dataRange` - filter to use when reading the columns
      Returns:
        A Scanner for seeking over the rows of the SSTable.

    - #### getScanner

          public ISSTableScanner getScanner(java.util.Collection<Range<Token>> ranges,
                                            com.google.common.util.concurrent.RateLimiter limiter)

      Direct I/O SSTableScanner over a defined collection of ranges of tokens.
      Specified by:
        `getScanner` in class `SSTableReader`
      Parameters:
        `ranges` - the range of keys to cover
      Returns:
        A Scanner for seeking over the rows of the SSTable.

    - #### getPosition

          protected RowIndexEntry getPosition(RowPosition key,
                                              SSTableReader.Operator op,
                                              boolean updateCacheAndStats,
                                              boolean permitMatchPastLast)

      Specified by:
        `getPosition` in class `SSTableReader`
      Parameters:
        `key` - The key to apply as the rhs to the given Operator. A 'fake' key is allowed to allow key selection by token bounds but only if op != * EQ
        `op` - The Operator defining matching keys: the nearest key to the target matching the operator wins.
        `updateCacheAndStats` - true if updating stats and cache
      Returns:
        The index entry corresponding to the key, or null if the key is not present

Copyright © 2018 The Apache Software Foundation