Class Version


  • public abstract class Version
    extends java.lang.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 Detail

      • version

        public final java.lang.String version
    • Constructor Detail

      • Version

        protected Version​(SSTableFormat format,
                          java.lang.String version)
    • Method Detail

      • 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​(java.lang.String ver)
        Parameters:
        ver - SSTable version
        Returns:
        True if the given version string matches the format.
        See Also:
        version
      • isCompatible

        public abstract boolean isCompatible()
      • isCompatibleForStreaming

        public abstract boolean isCompatibleForStreaming()
      • toString

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

        public java.lang.String toFormatAndVersionString()
      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object