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

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.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, generationReverseComparator, header, ifile, indexSummary, instanceId, isSuspect, keyCache, keyCacheHit, keyCacheRequest, maxDataAge, maxTimestampComparator, openReason, rowIndexEntrySerializer, sizeComparator, sstableComparator, sstableMetadata, sstableOrdering`

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

      `components, compression, descriptor, first, last, metadata, optimizationStrategy, TOMBSTONE_HISTOGRAM_BIN_SIZE, TOMBSTONE_HISTOGRAM_SPOOL_SIZE, TOMBSTONE_HISTOGRAM_TTL_ROUND_SECONDS`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected RowIndexEntry` | `getPosition(PartitionPosition key, SSTableReader.Operator op, boolean updateCacheAndStats, boolean permitMatchPastLast, SSTableReadsListener listener)`
    `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(ColumnFilter columns, DataRange dataRange, com.google.common.util.concurrent.RateLimiter limiter, boolean isForThrift, SSTableReadsListener listener)`
    `ISSTableScanner` | `getScanner(java.util.Iterator<AbstractBounds<PartitionPosition>> boundsIterator)` Direct I/O SSTableScanner over an iterator of bounds.
    `ISSTableScanner` | `getScanner(com.google.common.util.concurrent.RateLimiter limiter)` Direct I/O SSTableScanner over the full sstable.
    `UnfilteredRowIterator` | `iterator(DecoratedKey key, Slices slices, ColumnFilter selectedColumns, boolean reversed, boolean isForThrift, SSTableReadsListener listener)`
    `UnfilteredRowIterator` | `iterator(FileDataInput file, DecoratedKey key, RowIndexEntry indexEntry, Slices slices, ColumnFilter selectedColumns, boolean reversed, boolean isForThrift)`
    `UnfilteredRowIterator` | `simpleIterator(FileDataInput dfile, DecoratedKey key, RowIndexEntry position, boolean tombstoneOnly)`

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

      `addTo, cacheKey, cloneWithNewStart, cloneWithNewSummarySamplingLevel, cloneWithRestoredStart, createLinks, equals, estimateCompactionGain, estimatedKeys, estimatedKeysForRanges, firstKeyBeyond, forceFilterFailures, getApproximateKeyCount, getAvgColumnSetPerRow, getBloomFilter, getBloomFilterFalsePositiveCount, getBloomFilterOffHeapSize, getBloomFilterSerializedSize, getBloomFilterTruePositiveCount, getCachedPosition, getCachedPosition, getCacheKey, getCompressionMetadata, getCompressionMetadataOffHeapSize, getCompressionRatio, getCrcCheckChance, getCreationTimeFor, getDataChannel, getDroppableTombstonesBefore, getEffectiveIndexInterval, getEstimatedColumnCount, getEstimatedDroppableTombstoneRatio, getEstimatedPartitionSize, getFileDataInput, getFilename, getIndexChannel, getIndexFile, getIndexScanPosition, getIndexScanPositionFromBinarySearchResult, getIndexSummaryIndexFromBinarySearchResult, getIndexSummaryKey, getIndexSummaryOffHeapSize, getIndexSummarySamplingLevel, getIndexSummarySize, getKeyCache, getKeyCacheHit, getKeyCacheRequest, getKeySamples, getMaxIndexSummarySize, getMaxLocalDeletionTime, getMaxTimestamp, getMaxTTL, getMinIndexInterval, getMinLocalDeletionTime, getMinTimestamp, getMinTTL, getPosition, getPosition, getPosition, getPositionsForRanges, getReadMeter, getRecentBloomFilterFalsePositiveCount, getRecentBloomFilterTruePositiveCount, getScanner, getScanner, getScanner, getSSTableLevel, getSSTableMetadata, getTotalBytes, getTotalColumnsSet, getTotalRows, getTotalUncompressedBytes, hashCode, incrementReadCount, internalOpen, isKeyCacheSetup, isMarkedCompacted, isMarkedSuspect, isRepaired, isReplaced, keyAt, loadSummary, logOpenException, markObsolete, markSuspect, mayHaveTombstones, newSince, onDiskLength, open, open, open, open, openAll, openDataReader, openDataReader, openForBatch, openIndexReader, openNoValidation, openNoValidation, overrideReadMeter, ref, releaseSummary, reloadSSTableMetadata, resetTidying, runOnClose, saveSummary, saveSummary, selfRef, setCrcCheckChance, setReplaced, setupOnline, stats, tryRef, uncompressedLength`

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

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

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

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

- - ### Method Detail

    - #### iterator

          public UnfilteredRowIterator iterator(DecoratedKey key,
                                                Slices slices,
                                                ColumnFilter selectedColumns,
                                                boolean reversed,
                                                boolean isForThrift,
                                                SSTableReadsListener listener)

      Specified by:
        `iterator` in class `SSTableReader`

    - #### iterator

          public UnfilteredRowIterator iterator(FileDataInput file,
                                                DecoratedKey key,
                                                RowIndexEntry indexEntry,
                                                Slices slices,
                                                ColumnFilter selectedColumns,
                                                boolean reversed,
                                                boolean isForThrift)

      Specified by:
        `iterator` in class `SSTableReader`

    - #### getScanner

          public ISSTableScanner getScanner(ColumnFilter columns,
                                            DataRange dataRange,
                                            com.google.common.util.concurrent.RateLimiter limiter,
                                            boolean isForThrift,
                                            SSTableReadsListener listener)

      Specified by:
        `getScanner` in class `SSTableReader`
      Parameters:
        `columns` - the columns to return.
        `dataRange` - filter to use when reading the columns
        `listener` - a listener used to handle internal read events
      Returns:
        A Scanner for seeking over the rows of the SSTable.

    - #### getScanner

          public ISSTableScanner getScanner(java.util.Iterator<AbstractBounds<PartitionPosition>> boundsIterator)

      Direct I/O SSTableScanner over an iterator of bounds.
      Specified by:
        `getScanner` in class `SSTableReader`
      Parameters:
        `boundsIterator` - the keys to cover
      Returns:
        A Scanner for seeking over the rows of the SSTable.

    - #### getScanner

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

      Direct I/O SSTableScanner over the full sstable.
      Specified by:
        `getScanner` in class `SSTableReader`
      Returns:
        A Scanner for reading the full 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.

    - #### simpleIterator

          public UnfilteredRowIterator simpleIterator(FileDataInput dfile,
                                                      DecoratedKey key,
                                                      RowIndexEntry position,
                                                      boolean tombstoneOnly)

      Specified by:
        `simpleIterator` in class `SSTableReader`

    - #### getPosition

          protected RowIndexEntry getPosition(PartitionPosition key,
                                              SSTableReader.Operator op,
                                              boolean updateCacheAndStats,
                                              boolean permitMatchPastLast,
                                              SSTableReadsListener listener)

      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
        `listener` - a listener used to handle internal events
      Returns:
        The index entry corresponding to the key, or null if the key is not present

Copyright © 2018 The Apache Software Foundation