Enum Config.PaxosStatePurging

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<Config.PaxosStatePurging>
    Enclosing class:
    Config

    public static enum Config.PaxosStatePurging
    extends java.lang.Enum<Config.PaxosStatePurging>
    Select the kind of paxos state purging to use. Migration to repaired is recommended, but requires that regular paxos repairs are performed (which by default run as part of incremental repair). Once migrated from legacy it is unsafe to return to legacy, but gc_grace mode may be used in its place and performs a very similar cleanup process. Should only be modified once paxos_variant = v2.
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      gc_grace
      Functionally similar to legacy, but the gc_grace expiry is applied at compaction and read time rather than using TTLs, so may be safely enabled at any point.
      legacy
      system.paxos records are written and garbage collected with TTLs.
      repaired
      Clears system.paxos records only once they are known to be persisted to a quorum of replica's base tables through the use of paxos repair.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static Config.PaxosStatePurging fromBoolean​(boolean enabled)  
      static Config.PaxosStatePurging valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static Config.PaxosStatePurging[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • legacy

        public static final Config.PaxosStatePurging legacy
        system.paxos records are written and garbage collected with TTLs. Unsafe to use with Commit consistency ANY. Once migrated from, cannot be migrated back to safely. Must use gc_grace or repaired instead, as TTLs will not have been set.
      • gc_grace

        public static final Config.PaxosStatePurging gc_grace
        Functionally similar to legacy, but the gc_grace expiry is applied at compaction and read time rather than using TTLs, so may be safely enabled at any point.
      • repaired

        public static final Config.PaxosStatePurging repaired
        Clears system.paxos records only once they are known to be persisted to a quorum of replica's base tables through the use of paxos repair. Requires that regular paxos repairs are performed on the cluster (which by default are included in incremental repairs if paxos_variant = v2). This setting permits the use of Commit consistency ANY or LOCAL_QUORUM without any loss of durability or consistency, saving 1 RT.
    • Method Detail

      • values

        public static Config.PaxosStatePurging[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (Config.PaxosStatePurging c : Config.PaxosStatePurging.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static Config.PaxosStatePurging valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null