Class ImmutableGCParams

    • Method Detail

      • getSparkPartitionsCount

        @Nullable
        public Integer getSparkPartitionsCount()
        Optional spark partitions count to be used for distributing references. Default total reference count (live + dead) will be used.
        Specified by:
        getSparkPartitionsCount in interface GCParams
      • getCommitProtectionDuration

        public Duration getCommitProtectionDuration()
        Commit protection duration to avoid expiring on going or recent commits. Default is 2 hours.
        Specified by:
        getCommitProtectionDuration in interface GCParams
      • getBloomFilterExpectedEntries

        @Nullable
        public Long getBloomFilterExpectedEntries()
        Optional bloom filter expected live commits entries per reference. Default is total commits in the default reference.
        Specified by:
        getBloomFilterExpectedEntries in interface GCParams
      • getBloomFilterFpp

        public double getBloomFilterFpp()
        Optional bloom filter fpp. Default value is 0.03d.
        Specified by:
        getBloomFilterFpp in interface GCParams
      • getNessieCatalogName

        public String getNessieCatalogName()
        Nessie catalog name to be used with spark to create the output results table.
        Specified by:
        getNessieCatalogName in interface GCParams
      • getOutputBranchName

        public String getOutputBranchName()
        Branch's name to be used for creating the output table.

        If the branch doesn't exist for this name, branch with this name pointing to beginning of time (aka NO_ANCESTOR hash) will be created.

        Specified by:
        getOutputBranchName in interface GCParams
      • withNessieClientConfigs

        public final ImmutableGCParams withNessieClientConfigs​(Map<String,​? extends String> entries)
        Copy the current immutable object by replacing the nessieClientConfigs map with the specified map. Nulls are not permitted as keys or values. A shallow reference equality check is used to prevent copying of the same value by returning this.
        Parameters:
        entries - The entries to be added to the nessieClientConfigs map
        Returns:
        A modified copy of this object
      • withCutOffTimestampPerRef

        public final ImmutableGCParams withCutOffTimestampPerRef​(@Nullable
                                                                 Map<String,​? extends Instant> entries)
        Copy the current immutable object by replacing the cutOffTimestampPerRef map with the specified map. Nulls are not permitted as keys or values. A shallow reference equality check is used to prevent copying of the same value by returning this.
        Parameters:
        entries - The entries to be added to the cutOffTimestampPerRef map
        Returns:
        A modified copy of this object
      • withDefaultCutOffTimestamp

        public final ImmutableGCParams withDefaultCutOffTimestamp​(Instant value)
        Copy the current immutable object by setting a value for the defaultCutOffTimestamp attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for defaultCutOffTimestamp
        Returns:
        A modified copy of the this object
      • withDeadReferenceCutOffTimeStamp

        public final ImmutableGCParams withDeadReferenceCutOffTimeStamp​(@Nullable
                                                                        Instant value)
        Copy the current immutable object by setting a value for the deadReferenceCutOffTimeStamp attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for deadReferenceCutOffTimeStamp (can be null)
        Returns:
        A modified copy of the this object
      • withSparkPartitionsCount

        public final ImmutableGCParams withSparkPartitionsCount​(@Nullable
                                                                Integer value)
        Copy the current immutable object by setting a value for the sparkPartitionsCount attribute. An equals check used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for sparkPartitionsCount (can be null)
        Returns:
        A modified copy of the this object
      • withCommitProtectionDuration

        public final ImmutableGCParams withCommitProtectionDuration​(Duration value)
        Copy the current immutable object by setting a value for the commitProtectionDuration attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for commitProtectionDuration
        Returns:
        A modified copy of the this object
      • withBloomFilterExpectedEntries

        public final ImmutableGCParams withBloomFilterExpectedEntries​(@Nullable
                                                                      Long value)
        Copy the current immutable object by setting a value for the bloomFilterExpectedEntries attribute. An equals check used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for bloomFilterExpectedEntries (can be null)
        Returns:
        A modified copy of the this object
      • withBloomFilterFpp

        public final ImmutableGCParams withBloomFilterFpp​(double value)
        Copy the current immutable object by setting a value for the bloomFilterFpp attribute. A value strict bits equality used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for bloomFilterFpp
        Returns:
        A modified copy of the this object
      • withNessieCatalogName

        public final ImmutableGCParams withNessieCatalogName​(String value)
        Copy the current immutable object by setting a value for the nessieCatalogName attribute. An equals check used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for nessieCatalogName
        Returns:
        A modified copy of the this object
      • withOutputBranchName

        public final ImmutableGCParams withOutputBranchName​(String value)
        Copy the current immutable object by setting a value for the outputBranchName attribute. An equals check used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for outputBranchName
        Returns:
        A modified copy of the this object
      • withOutputTableIdentifier

        public final ImmutableGCParams withOutputTableIdentifier​(String value)
        Copy the current immutable object by setting a value for the outputTableIdentifier attribute. An equals check used to prevent copying of the same value by returning this.
        Parameters:
        value - A new value for outputTableIdentifier
        Returns:
        A modified copy of the this object
      • equals

        public boolean equals​(@Nullable
                              Object another)
        This instance is equal to all instances of ImmutableGCParams that have equal attribute values.
        Overrides:
        equals in class Object
        Returns:
        true if this is equal to another instance
      • hashCode

        public int hashCode()
        Computes a hash code from attributes: nessieClientConfigs, cutOffTimestampPerRef, defaultCutOffTimestamp, deadReferenceCutOffTimeStamp, sparkPartitionsCount, commitProtectionDuration, bloomFilterExpectedEntries, bloomFilterFpp, nessieCatalogName, outputBranchName, outputTableIdentifier.
        Overrides:
        hashCode in class Object
        Returns:
        hashCode value
      • toString

        public String toString()
        Prints the immutable value GCParams with attribute values.
        Overrides:
        toString in class Object
        Returns:
        A string representation of the value
      • copyOf

        public static ImmutableGCParams copyOf​(GCParams instance)
        Creates an immutable copy of a GCParams value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
        Parameters:
        instance - The instance to copy
        Returns:
        A copied immutable GCParams instance