Class PubSubTopicConfiguration

java.lang.Object
com.linkedin.venice.pubsub.PubSubTopicConfiguration
All Implemented Interfaces:
Cloneable

public class PubSubTopicConfiguration extends Object implements Cloneable
Represents a PubSubTopic configuration.
  • Constructor Details

    • PubSubTopicConfiguration

      public PubSubTopicConfiguration(Optional<Long> retentionInMs, boolean isLogCompacted, Optional<Integer> minInSyncReplicas, Long minLogCompactionLagMs, Optional<Long> maxLogCompactionLagMs)
  • Method Details

    • isLogCompacted

      public boolean isLogCompacted()
      Returns:
      whether the topic is log compacted
    • minInSyncReplicas

      public Optional<Integer> minInSyncReplicas()
      Returns:
      min number of replicas that must be in sync before a message is considered committed
    • retentionInMs

      public Optional<Long> retentionInMs()
      Returns:
      retention time for data in this topic
    • minLogCompactionLagMs

      public Long minLogCompactionLagMs()
      Returns:
      min log compaction lag in ms
    • setLogCompacted

      public void setLogCompacted(boolean isLogCompacted)
      Parameters:
      isLogCompacted - whether the topic is log compacted
    • setRetentionInMs

      public void setRetentionInMs(Optional<Long> retentionInMs)
      Parameters:
      retentionInMs - retention time for data in this topic
    • setMinInSyncReplicas

      public void setMinInSyncReplicas(Optional<Integer> minInSyncReplicas)
      Parameters:
      minInSyncReplicas - min number of replicas that must be in sync before a message is considered committed
    • setMinLogCompactionLagMs

      public void setMinLogCompactionLagMs(Long minLogCompactionLagMs)
      Parameters:
      minLogCompactionLagMs - min log compaction lag in ms
    • getMaxLogCompactionLagMs

      public Optional<Long> getMaxLogCompactionLagMs()
    • setMaxLogCompactionLagMs

      public void setMaxLogCompactionLagMs(Optional<Long> maxLogCompactionLagMs)
      The maximum time a message will remain ineligible for compaction in the log. Only applicable for logs that are being compacted.
    • toString

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

      Overrides:
      clone in class Object
      Throws:
      CloneNotSupportedException