Class ConsumerGroupVerifier

java.lang.Object
com.bakdata.kafka.ConsumerGroupVerifier

public class ConsumerGroupVerifier extends Object
Utility class to verify the state of a Kafka consumer group
  • Constructor Details

    • ConsumerGroupVerifier

      public ConsumerGroupVerifier(@NonNull @NonNull String group, @NonNull @NonNull Supplier<AdminClientX> adminClientSupplier)
  • Method Details

    • verify

      public static ConsumerGroupVerifier verify(ExecutableStreamsApp<?> app)
      Create a new verifier from an ExecutableStreamsApp
      Parameters:
      app - app to create verifier from
      Returns:
      verifier
    • isActive

      public boolean isActive()
      Check whether consumer group has state GroupState.STABLE
      Returns:
      true if consumer group has state GroupState.STABLE
    • isClosed

      public boolean isClosed()
      Check whether consumer group has state GroupState.EMPTY
      Returns:
      true if consumer group has state GroupState.EMPTY
    • getState

      public Optional<org.apache.kafka.common.GroupState> getState()
      Get current state of consumer group
      Returns:
      current state of consumer group
    • hasFinishedProcessing

      public boolean hasFinishedProcessing()
      Check whether consumer group has assigned partitions and lag is 0
      Returns:
      true if consumer group has assigned partitions and lag is 0
    • computeLag

      public Optional<Long> computeLag()
      Compute lag of consumer group
      Returns:
      lag of consumer group. If no partitions are assigned, an empty Optional is returned