java.lang.Object
org.apache.cassandra.io.sstable.format.Version

public abstract class Version extends Object
A set of feature flags associated with a SSTable format

versions are denoted as [major][minor]. Minor versions must be forward-compatible: new fields are allowed in e.g. the metadata component, but fields can't be removed or have their size changed.

Minor versions were introduced with version "hb" for Cassandra 1.0.3; prior to that, we always incremented the major version.

  • Field Details

  • Constructor Details

  • Method Details

    • isLatestVersion

      public abstract boolean isLatestVersion()
    • correspondingMessagingVersion

      public abstract int correspondingMessagingVersion()
    • hasCommitLogLowerBound

      public abstract boolean hasCommitLogLowerBound()
    • hasCommitLogIntervals

      public abstract boolean hasCommitLogIntervals()
    • hasMaxCompressedLength

      public abstract boolean hasMaxCompressedLength()
    • hasPendingRepair

      public abstract boolean hasPendingRepair()
    • hasIsTransient

      public abstract boolean hasIsTransient()
    • hasMetadataChecksum

      public abstract boolean hasMetadataChecksum()
    • hasUIntDeletionTime

      public abstract boolean hasUIntDeletionTime()
      This format raises the legacy int year 2038 limit to 2106 by using an uint instead
    • hasOldBfFormat

      public abstract boolean hasOldBfFormat()
      The old bloomfilter format serializes the data as BIG_ENDIAN long's, the new one uses the same format as in memory (serializes as bytes).
      Returns:
      True if the bloomfilter file is old serialization format
    • hasAccurateMinMax

      @Deprecated(since="5.0") public abstract boolean hasAccurateMinMax()
      Deprecated.
      See CASSANDRA-18134
    • hasLegacyMinMax

      @Deprecated(since="5.0") public abstract boolean hasLegacyMinMax()
      Deprecated.
      See CASSANDRA-18134
    • hasOriginatingHostId

      public abstract boolean hasOriginatingHostId()
    • hasImprovedMinMax

      public abstract boolean hasImprovedMinMax()
    • hasTokenSpaceCoverage

      public abstract boolean hasTokenSpaceCoverage()
      If the sstable has token space coverage data.
    • hasPartitionLevelDeletionsPresenceMarker

      public abstract boolean hasPartitionLevelDeletionsPresenceMarker()
      Records in th stats if the sstable has any partition deletions.
    • hasKeyRange

      public abstract boolean hasKeyRange()
    • validate

      public static boolean validate(String ver)
      Parameters:
      ver - SSTable version
      Returns:
      True if the given version string matches the format.
      See Also:
    • isCompatible

      public abstract boolean isCompatible()
    • isCompatibleForStreaming

      public abstract boolean isCompatibleForStreaming()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toFormatAndVersionString

      public String toFormatAndVersionString()
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object