Class KafkaAdminClient

java.lang.Object
org.oracle.okafka.clients.admin.AdminClient
org.oracle.okafka.clients.admin.KafkaAdminClient
All Implemented Interfaces:
AutoCloseable, org.apache.kafka.clients.admin.Admin, Admin

@Evolving public class KafkaAdminClient extends AdminClient
The default implementation of AdminClient. An instance of this class is created by invoking one of the create() methods in AdminClient. Users should not refer to this class directly. The API of this class is evolving, see AdminClient for details. Note: Topic name has to be in uppercase wherever used.
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.kafka.clients.admin.AbortTransactionResult
    abortTransaction(org.apache.kafka.clients.admin.AbortTransactionSpec spec, org.apache.kafka.clients.admin.AbortTransactionOptions options)
     
    org.apache.kafka.clients.admin.AlterClientQuotasResult
    alterClientQuotas(Collection<org.apache.kafka.common.quota.ClientQuotaAlteration> entries, org.apache.kafka.clients.admin.AlterClientQuotasOptions options)
    Alters client quota configurations with the specified alterations.
    org.apache.kafka.clients.admin.AlterConfigsResult
    alterConfigs(Map<org.apache.kafka.common.config.ConfigResource,org.apache.kafka.clients.admin.Config> configs, org.apache.kafka.clients.admin.AlterConfigsOptions options)
    Update the configuration for the specified resources with the default options.
    org.apache.kafka.clients.admin.AlterConsumerGroupOffsetsResult
    alterConsumerGroupOffsets(String groupId, Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndMetadata> offsets, org.apache.kafka.clients.admin.AlterConsumerGroupOffsetsOptions options)
    Alters offsets for the specified group.
    org.apache.kafka.clients.admin.AlterPartitionReassignmentsResult
    alterPartitionReassignments(Map<org.apache.kafka.common.TopicPartition,Optional<org.apache.kafka.clients.admin.NewPartitionReassignment>> reassignments, org.apache.kafka.clients.admin.AlterPartitionReassignmentsOptions options)
    Change the reassignments for one or more partitions.
    org.apache.kafka.clients.admin.AlterReplicaLogDirsResult
    alterReplicaLogDirs(Map<org.apache.kafka.common.TopicPartitionReplica,String> replicaAssignment, org.apache.kafka.clients.admin.AlterReplicaLogDirsOptions options)
    Change the log directory for the specified replicas.
    org.apache.kafka.clients.admin.AlterUserScramCredentialsResult
    alterUserScramCredentials(List<org.apache.kafka.clients.admin.UserScramCredentialAlteration> alterations, org.apache.kafka.clients.admin.AlterUserScramCredentialsOptions options)
    Alter SASL/SCRAM credentials.
    org.apache.kafka.common.Uuid
     
    void
    close(long duration, TimeUnit unit)
    Close the AdminClient and release all associated resources.
    void
    close(Duration timeout)
    Close the Admin client and release all associated resources.
    org.apache.kafka.clients.admin.CreateAclsResult
    createAcls(Collection<org.apache.kafka.common.acl.AclBinding> acls, org.apache.kafka.clients.admin.CreateAclsOptions options)
    Creates access control lists (ACLs) which are bound to specific resources.
    org.apache.kafka.clients.admin.CreateDelegationTokenResult
    createDelegationToken(org.apache.kafka.clients.admin.CreateDelegationTokenOptions options)
    Create a Delegation Token.
    org.apache.kafka.clients.admin.CreatePartitionsResult
    createPartitions(Map<String,org.apache.kafka.clients.admin.NewPartitions> newPartitions, org.apache.kafka.clients.admin.CreatePartitionsOptions options)
    Increase the number of partitions of the topics given as the keys of newPartitions according to the corresponding values.
    org.apache.kafka.clients.admin.CreateTopicsResult
    createTopics(Collection<org.apache.kafka.clients.admin.NewTopic> newTopics, org.apache.kafka.clients.admin.CreateTopicsOptions options)
    Create a batch of new topics.
    org.apache.kafka.clients.admin.DeleteAclsResult
    deleteAcls(Collection<org.apache.kafka.common.acl.AclBindingFilter> filters, org.apache.kafka.clients.admin.DeleteAclsOptions options)
    Deletes access control lists (ACLs) according to the supplied filters.
    org.apache.kafka.clients.admin.DeleteConsumerGroupOffsetsResult
    deleteConsumerGroupOffsets(String groupId, Set<org.apache.kafka.common.TopicPartition> partitions, org.apache.kafka.clients.admin.DeleteConsumerGroupOffsetsOptions options)
    Delete committed offsets for a set of partitions in a consumer group.
    org.apache.kafka.clients.admin.DeleteConsumerGroupsResult
    deleteConsumerGroups(Collection<String> groupIds, org.apache.kafka.clients.admin.DeleteConsumerGroupsOptions options)
    Delete consumer groups from the cluster.
    org.apache.kafka.clients.admin.DeleteRecordsResult
    deleteRecords(Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.admin.RecordsToDelete> recordsToDelete, org.apache.kafka.clients.admin.DeleteRecordsOptions options)
    Delete records whose offset is smaller than the given offset of the corresponding partition.
    org.apache.kafka.clients.admin.DeleteTopicsResult
    deleteTopics(Collection<String> topicNames, org.apache.kafka.clients.admin.DeleteTopicsOptions options)
    Delete a batch of topics.
     
    org.apache.kafka.clients.admin.DeleteTopicsResult
    deleteTopics(org.apache.kafka.common.TopicCollection topics, org.apache.kafka.clients.admin.DeleteTopicsOptions options)
     
    org.apache.kafka.clients.admin.DescribeAclsResult
    describeAcls(org.apache.kafka.common.acl.AclBindingFilter filter, org.apache.kafka.clients.admin.DescribeAclsOptions options)
    Lists access control lists (ACLs) according to the supplied filter.
    org.apache.kafka.clients.admin.DescribeClientQuotasResult
    describeClientQuotas(org.apache.kafka.common.quota.ClientQuotaFilter filter, org.apache.kafka.clients.admin.DescribeClientQuotasOptions options)
    Describes all entities matching the provided filter that have at least one client quota configuration value defined.
    org.apache.kafka.clients.admin.DescribeClusterResult
    describeCluster(org.apache.kafka.clients.admin.DescribeClusterOptions options)
    Get information about the nodes in the cluster.
    org.apache.kafka.clients.admin.DescribeConfigsResult
    describeConfigs(Collection<org.apache.kafka.common.config.ConfigResource> configResources, org.apache.kafka.clients.admin.DescribeConfigsOptions options)
    Get the configuration for the specified resources.
    org.apache.kafka.clients.admin.DescribeConsumerGroupsResult
    describeConsumerGroups(Collection<String> groupIds, org.apache.kafka.clients.admin.DescribeConsumerGroupsOptions options)
    Describe some group IDs in the cluster.
    org.apache.kafka.clients.admin.DescribeDelegationTokenResult
    describeDelegationToken(org.apache.kafka.clients.admin.DescribeDelegationTokenOptions options)
    Describe the Delegation Tokens.
    org.apache.kafka.clients.admin.DescribeFeaturesResult
    describeFeatures(org.apache.kafka.clients.admin.DescribeFeaturesOptions options)
    Describes finalized as well as supported features.
    org.apache.kafka.clients.admin.DescribeLogDirsResult
    describeLogDirs(Collection<Integer> brokers, org.apache.kafka.clients.admin.DescribeLogDirsOptions options)
    Query the information of all log directories on the given set of brokers
    org.apache.kafka.clients.admin.DescribeMetadataQuorumResult
    describeMetadataQuorum(org.apache.kafka.clients.admin.DescribeMetadataQuorumOptions options)
     
    org.apache.kafka.clients.admin.DescribeProducersResult
    describeProducers(Collection<org.apache.kafka.common.TopicPartition> partitions, org.apache.kafka.clients.admin.DescribeProducersOptions options)
     
    org.apache.kafka.clients.admin.DescribeReplicaLogDirsResult
    describeReplicaLogDirs(Collection<org.apache.kafka.common.TopicPartitionReplica> replicas, org.apache.kafka.clients.admin.DescribeReplicaLogDirsOptions options)
    Query the replica log directory information for the specified replicas.
    org.apache.kafka.clients.admin.DescribeTopicsResult
    describeTopics(Collection<String> topicNames, org.apache.kafka.clients.admin.DescribeTopicsOptions options)
    Describe some topics in the cluster.
    org.apache.kafka.clients.admin.DescribeTopicsResult
    describeTopics(org.apache.kafka.common.TopicCollection topics, org.apache.kafka.clients.admin.DescribeTopicsOptions options)
     
    org.apache.kafka.clients.admin.DescribeTransactionsResult
    describeTransactions(Collection<String> transactionalIds, org.apache.kafka.clients.admin.DescribeTransactionsOptions options)
     
    org.apache.kafka.clients.admin.DescribeUserScramCredentialsResult
    describeUserScramCredentials(List<String> users, org.apache.kafka.clients.admin.DescribeUserScramCredentialsOptions options)
    Describe SASL/SCRAM credentials.
    org.apache.kafka.clients.admin.ElectLeadersResult
    electLeaders(org.apache.kafka.common.ElectionType electionType, Set<org.apache.kafka.common.TopicPartition> partitions, org.apache.kafka.clients.admin.ElectLeadersOptions options)
    Elect a replica as leader for the given partitions, or for all partitions if the argument to partitions is null.
    org.apache.kafka.clients.admin.ExpireDelegationTokenResult
    expireDelegationToken(byte[] hmac, org.apache.kafka.clients.admin.ExpireDelegationTokenOptions options)
    Expire a Delegation Token.
    org.apache.kafka.clients.admin.FenceProducersResult
    fenceProducers(Collection<String> transactionalIds, org.apache.kafka.clients.admin.FenceProducersOptions options)
     
    org.apache.kafka.clients.admin.AlterConfigsResult
    incrementalAlterConfigs(Map<org.apache.kafka.common.config.ConfigResource,Collection<org.apache.kafka.clients.admin.AlterConfigOp>> configs, org.apache.kafka.clients.admin.AlterConfigsOptions options)
    Incrementally update the configuration for the specified resources.
    org.apache.kafka.clients.admin.ListClientMetricsResourcesResult
    listClientMetricsResources(org.apache.kafka.clients.admin.ListClientMetricsResourcesOptions arg0)
     
    org.apache.kafka.clients.admin.ListConsumerGroupOffsetsResult
    listConsumerGroupOffsets(String groupId, org.apache.kafka.clients.admin.ListConsumerGroupOffsetsOptions options)
    List the consumer group offsets available in the cluster.
    org.apache.kafka.clients.admin.ListConsumerGroupOffsetsResult
    listConsumerGroupOffsets(Map<String,org.apache.kafka.clients.admin.ListConsumerGroupOffsetsSpec> groupSpecs, org.apache.kafka.clients.admin.ListConsumerGroupOffsetsOptions options)
     
    org.apache.kafka.clients.admin.ListConsumerGroupsResult
    listConsumerGroups(org.apache.kafka.clients.admin.ListConsumerGroupsOptions options)
    List the consumer groups available in the cluster.
    org.apache.kafka.clients.admin.ListOffsetsResult
    listOffsets(Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.admin.OffsetSpec> topicPartitionOffsets, org.apache.kafka.clients.admin.ListOffsetsOptions options)
    List offset for the specified partitions.
    org.apache.kafka.clients.admin.ListPartitionReassignmentsResult
    listPartitionReassignments(Optional<Set<org.apache.kafka.common.TopicPartition>> partitions, org.apache.kafka.clients.admin.ListPartitionReassignmentsOptions options)
     
    org.apache.kafka.clients.admin.ListTopicsResult
    listTopics(org.apache.kafka.clients.admin.ListTopicsOptions options)
    List the topics available in the cluster.
    org.apache.kafka.clients.admin.ListTransactionsResult
    listTransactions(org.apache.kafka.clients.admin.ListTransactionsOptions options)
     
    Map<org.apache.kafka.common.MetricName,? extends org.apache.kafka.common.Metric>
    Get the metrics kept by the adminClient
    org.apache.kafka.clients.admin.RemoveMembersFromConsumerGroupResult
    removeMembersFromConsumerGroup(String groupId, org.apache.kafka.clients.admin.RemoveMembersFromConsumerGroupOptions options)
    Remove members from the consumer group by given member identities.
    org.apache.kafka.clients.admin.RenewDelegationTokenResult
    renewDelegationToken(byte[] hmac, org.apache.kafka.clients.admin.RenewDelegationTokenOptions options)
    Renew a Delegation Token.
    org.apache.kafka.clients.admin.UnregisterBrokerResult
    unregisterBroker(int brokerId, org.apache.kafka.clients.admin.UnregisterBrokerOptions options)
    Unregister a broker.
    org.apache.kafka.clients.admin.UpdateFeaturesResult
    updateFeatures(Map<String,org.apache.kafka.clients.admin.FeatureUpdate> featureUpdates, org.apache.kafka.clients.admin.UpdateFeaturesOptions options)
    Applies specified updates to finalized features.

    Methods inherited from class org.oracle.okafka.clients.admin.AdminClient

    close, create, create, createTopics, deleteTopics

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.apache.kafka.clients.admin.Admin

    abortTransaction, deleteTopics, describeMetadataQuorum, describeProducers, describeTopics, describeTransactions, fenceProducers, listClientMetricsResources, listConsumerGroupOffsets, listTransactions
  • Method Details

    • close

      public void close(long duration, TimeUnit unit)
      Description copied from class: AdminClient
      Close the AdminClient and release all associated resources. The close operation has a grace period during which current operations will be allowed to complete, specified by the given duration and time unit. New operations will not be accepted during the grace period. Once the grace period is over, all operations that have not yet been completed will be aborted with a TimeoutException.
      Specified by:
      close in interface Admin
      Specified by:
      close in class AdminClient
      Parameters:
      duration - The duration to use for the wait time.
      unit - The time unit to use for the wait time.
    • createTopics

      public org.apache.kafka.clients.admin.CreateTopicsResult createTopics(Collection<org.apache.kafka.clients.admin.NewTopic> newTopics, org.apache.kafka.clients.admin.CreateTopicsOptions options)
      Description copied from class: AdminClient
      Create a batch of new topics. This call supports only retention.ms option for topic creation. This operation is not transactional so it may succeed for some topics while fail for others. This method is not supported in preview release.
      Specified by:
      createTopics in interface org.apache.kafka.clients.admin.Admin
      Specified by:
      createTopics in interface Admin
      Specified by:
      createTopics in class AdminClient
      Parameters:
      newTopics - The new topics to create.
      options - The options to use when creating the new topics.
      Returns:
      The CreateTopicsResult.
    • deleteTopics

      public org.apache.kafka.clients.admin.DeleteTopicsResult deleteTopics(Collection<String> topicNames, org.apache.kafka.clients.admin.DeleteTopicsOptions options)
      Description copied from class: AdminClient
      Delete a batch of topics. This call doen't consider options for topic deletion. This operation is not transactional so it may succeed for some topics while fail for others. delete.topic.enable is true in Oracle TEQ.
      Specified by:
      deleteTopics in interface org.apache.kafka.clients.admin.Admin
      Specified by:
      deleteTopics in interface Admin
      Specified by:
      deleteTopics in class AdminClient
      Parameters:
      topicNames - The topic names to delete.
      options - The options to use when deleting the topics.
      Returns:
      The DeleteTopicsResult.
    • deleteTopics

      public DeleteTopicsResult deleteTopics(Collection<String> topicNames, DeleteTopicsOptions options)
    • listTopics

      public org.apache.kafka.clients.admin.ListTopicsResult listTopics(org.apache.kafka.clients.admin.ListTopicsOptions options)
      Description copied from interface: Admin
      List the topics available in the cluster.
      Parameters:
      options - The options to use when listing the topics.
      Returns:
      The ListTopicsResult.
    • describeTopics

      public org.apache.kafka.clients.admin.DescribeTopicsResult describeTopics(Collection<String> topicNames, org.apache.kafka.clients.admin.DescribeTopicsOptions options)
      Description copied from interface: Admin
      Describe some topics in the cluster.
      Parameters:
      topicNames - The names of the topics to describe.
      options - The options to use when describing the topic.
      Returns:
      The DescribeTopicsResult.
    • describeCluster

      public org.apache.kafka.clients.admin.DescribeClusterResult describeCluster(org.apache.kafka.clients.admin.DescribeClusterOptions options)
      Description copied from interface: Admin
      Get information about the nodes in the cluster.
      Parameters:
      options - The options to use when getting information about the cluster.
      Returns:
      The DescribeClusterResult.
    • describeAcls

      public org.apache.kafka.clients.admin.DescribeAclsResult describeAcls(org.apache.kafka.common.acl.AclBindingFilter filter, org.apache.kafka.clients.admin.DescribeAclsOptions options)
      Description copied from interface: Admin
      Lists access control lists (ACLs) according to the supplied filter.

      Note: it may take some time for changes made by createAcls or deleteAcls to be reflected in the output of describeAcls.

      This operation is supported by brokers with version 0.11.0.0 or higher.

      Parameters:
      filter - The filter to use.
      options - The options to use when listing the ACLs.
      Returns:
      The DeleteAclsResult.
    • createAcls

      public org.apache.kafka.clients.admin.CreateAclsResult createAcls(Collection<org.apache.kafka.common.acl.AclBinding> acls, org.apache.kafka.clients.admin.CreateAclsOptions options)
      Description copied from interface: Admin
      Creates access control lists (ACLs) which are bound to specific resources.

      This operation is not transactional so it may succeed for some ACLs while fail for others.

      If you attempt to add an ACL that duplicates an existing ACL, no error will be raised, but no changes will be made.

      This operation is supported by brokers with version 0.11.0.0 or higher.

      Parameters:
      acls - The ACLs to create
      options - The options to use when creating the ACLs.
      Returns:
      The CreateAclsResult.
    • deleteAcls

      public org.apache.kafka.clients.admin.DeleteAclsResult deleteAcls(Collection<org.apache.kafka.common.acl.AclBindingFilter> filters, org.apache.kafka.clients.admin.DeleteAclsOptions options)
      Description copied from interface: Admin
      Deletes access control lists (ACLs) according to the supplied filters.

      This operation is not transactional so it may succeed for some ACLs while fail for others.

      This operation is supported by brokers with version 0.11.0.0 or higher.

      Parameters:
      filters - The filters to use.
      options - The options to use when deleting the ACLs.
      Returns:
      The DeleteAclsResult.
    • describeConfigs

      public org.apache.kafka.clients.admin.DescribeConfigsResult describeConfigs(Collection<org.apache.kafka.common.config.ConfigResource> configResources, org.apache.kafka.clients.admin.DescribeConfigsOptions options)
      Description copied from interface: Admin
      Get the configuration for the specified resources.

      The returned configuration includes default values and the isDefault() method can be used to distinguish them from user supplied values.

      The value of config entries where isSensitive() is true is always null so that sensitive information is not disclosed.

      Config entries where isReadOnly() is true cannot be updated.

      This operation is supported by brokers with version 0.11.0.0 or higher.

      Parameters:
      configResources - The resources (topic and broker resource types are currently supported)
      options - The options to use when describing configs
      Returns:
      The DescribeConfigsResult
    • alterConfigs

      public org.apache.kafka.clients.admin.AlterConfigsResult alterConfigs(Map<org.apache.kafka.common.config.ConfigResource,org.apache.kafka.clients.admin.Config> configs, org.apache.kafka.clients.admin.AlterConfigsOptions options)
      Description copied from interface: Admin
      Update the configuration for the specified resources with the default options.

      Updates are not transactional so they may succeed for some resources while fail for others. The configs for a particular resource are updated atomically.

      This operation is supported by brokers with version 0.11.0.0 or higher.

      Parameters:
      configs - The resources with their configs (topic is the only resource type with configs that can be updated currently)
      options - The options to use when describing configs
      Returns:
      The AlterConfigsResult
    • alterReplicaLogDirs

      public org.apache.kafka.clients.admin.AlterReplicaLogDirsResult alterReplicaLogDirs(Map<org.apache.kafka.common.TopicPartitionReplica,String> replicaAssignment, org.apache.kafka.clients.admin.AlterReplicaLogDirsOptions options)
      Description copied from interface: Admin
      Change the log directory for the specified replicas. If the replica does not exist on the broker, the result shows REPLICA_NOT_AVAILABLE for the given replica and the replica will be created in the given log directory on the broker when it is created later. If the replica already exists on the broker, the replica will be moved to the given log directory if it is not already there. For detailed result, inspect the returned AlterReplicaLogDirsResult instance.

      This operation is not transactional so it may succeed for some replicas while fail for others.

      This operation is supported by brokers with version 1.1.0 or higher.

      Parameters:
      replicaAssignment - The replicas with their log directory absolute path
      options - The options to use when changing replica dir
      Returns:
      The AlterReplicaLogDirsResult
    • describeLogDirs

      public org.apache.kafka.clients.admin.DescribeLogDirsResult describeLogDirs(Collection<Integer> brokers, org.apache.kafka.clients.admin.DescribeLogDirsOptions options)
      Description copied from interface: Admin
      Query the information of all log directories on the given set of brokers

      This operation is supported by brokers with version 1.0.0 or higher.

      Parameters:
      brokers - A list of brokers
      options - The options to use when querying log dir info
      Returns:
      The DescribeLogDirsResult
    • describeReplicaLogDirs

      public org.apache.kafka.clients.admin.DescribeReplicaLogDirsResult describeReplicaLogDirs(Collection<org.apache.kafka.common.TopicPartitionReplica> replicas, org.apache.kafka.clients.admin.DescribeReplicaLogDirsOptions options)
      Description copied from interface: Admin
      Query the replica log directory information for the specified replicas.

      This operation is supported by brokers with version 1.0.0 or higher.

      Parameters:
      replicas - The replicas to query
      options - The options to use when querying replica log dir info
      Returns:
      The DescribeReplicaLogDirsResult
    • createPartitions

      public org.apache.kafka.clients.admin.CreatePartitionsResult createPartitions(Map<String,org.apache.kafka.clients.admin.NewPartitions> newPartitions, org.apache.kafka.clients.admin.CreatePartitionsOptions options)
      Description copied from interface: Admin
      Increase the number of partitions of the topics given as the keys of newPartitions according to the corresponding values. If partitions are increased for a topic that has a key, the partition logic or ordering of the messages will be affected.

      This operation is not transactional so it may succeed for some topics while fail for others.

      It may take several seconds after this method returns success for all the brokers to become aware that the partitions have been created. During this time, Admin.describeTopics(Collection) may not return information about the new partitions.

      This operation is supported by brokers with version 1.0.0 or higher.

      The following exceptions can be anticipated when calling get() on the futures obtained from the values() method of the returned CreatePartitionsResult

      • AuthorizationException if the authenticated user is not authorized to alter the topic
      • TimeoutException if the request was not completed in within the given AbstractOptions.timeoutMs().
      • ReassignmentInProgressException if a partition reassignment is currently in progress
      • BrokerNotAvailableException if the requested NewPartitions.assignments() contain a broker that is currently unavailable.
      • InvalidReplicationFactorException if no NewPartitions.assignments() are given and it is impossible for the broker to assign replicas with the topics replication factor.
      • Subclasses of KafkaException if the request is invalid in some way.

      Parameters:
      newPartitions - The topics which should have new partitions created, and corresponding parameters for the created partitions.
      options - The options to use when creating the new partitions.
      Returns:
      The CreatePartitionsResult.
    • deleteRecords

      public org.apache.kafka.clients.admin.DeleteRecordsResult deleteRecords(Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.admin.RecordsToDelete> recordsToDelete, org.apache.kafka.clients.admin.DeleteRecordsOptions options)
      Description copied from interface: Admin
      Delete records whose offset is smaller than the given offset of the corresponding partition.

      This operation is supported by brokers with version 0.11.0.0 or higher.

      Parameters:
      recordsToDelete - The topic partitions and related offsets from which records deletion starts.
      options - The options to use when deleting records.
      Returns:
      The DeleteRecordsResult.
    • createDelegationToken

      public org.apache.kafka.clients.admin.CreateDelegationTokenResult createDelegationToken(org.apache.kafka.clients.admin.CreateDelegationTokenOptions options)
      Description copied from interface: Admin
      Create a Delegation Token.

      This operation is supported by brokers with version 1.1.0 or higher.

      The following exceptions can be anticipated when calling get() on the futures obtained from the delegationToken() method of the returned CreateDelegationTokenResult

      • UnsupportedByAuthenticationException If the request sent on PLAINTEXT/1-way SSL channels or delegation token authenticated channels.
      • InvalidPrincipalTypeException if the renewers principal type is not supported.
      • DelegationTokenDisabledException if the delegation token feature is disabled.
      • TimeoutException if the request was not completed in within the given AbstractOptions.timeoutMs().

      Parameters:
      options - The options to use when creating delegation token.
      Returns:
      The DeleteRecordsResult.
    • renewDelegationToken

      public org.apache.kafka.clients.admin.RenewDelegationTokenResult renewDelegationToken(byte[] hmac, org.apache.kafka.clients.admin.RenewDelegationTokenOptions options)
      Description copied from interface: Admin
      Renew a Delegation Token.

      This operation is supported by brokers with version 1.1.0 or higher.

      The following exceptions can be anticipated when calling get() on the futures obtained from the expiryTimestamp() method of the returned RenewDelegationTokenResult

      • UnsupportedByAuthenticationException If the request sent on PLAINTEXT/1-way SSL channels or delegation token authenticated channels.
      • DelegationTokenDisabledException if the delegation token feature is disabled.
      • DelegationTokenNotFoundException if the delegation token is not found on server.
      • DelegationTokenOwnerMismatchException if the authenticated user is not owner/renewer of the token.
      • DelegationTokenExpiredException if the delegation token is expired.
      • TimeoutException if the request was not completed in within the given AbstractOptions.timeoutMs().

      Parameters:
      hmac - HMAC of the Delegation token
      options - The options to use when renewing delegation token.
      Returns:
      The RenewDelegationTokenResult.
    • expireDelegationToken

      public org.apache.kafka.clients.admin.ExpireDelegationTokenResult expireDelegationToken(byte[] hmac, org.apache.kafka.clients.admin.ExpireDelegationTokenOptions options)
      Description copied from interface: Admin
      Expire a Delegation Token.

      This operation is supported by brokers with version 1.1.0 or higher.

      The following exceptions can be anticipated when calling get() on the futures obtained from the expiryTimestamp() method of the returned ExpireDelegationTokenResult

      • UnsupportedByAuthenticationException If the request sent on PLAINTEXT/1-way SSL channels or delegation token authenticated channels.
      • DelegationTokenDisabledException if the delegation token feature is disabled.
      • DelegationTokenNotFoundException if the delegation token is not found on server.
      • DelegationTokenOwnerMismatchException if the authenticated user is not owner/renewer of the requested token.
      • DelegationTokenExpiredException if the delegation token is expired.
      • TimeoutException if the request was not completed in within the given AbstractOptions.timeoutMs().

      Parameters:
      hmac - HMAC of the Delegation token
      options - The options to use when expiring delegation token.
      Returns:
      The ExpireDelegationTokenResult.
    • describeDelegationToken

      public org.apache.kafka.clients.admin.DescribeDelegationTokenResult describeDelegationToken(org.apache.kafka.clients.admin.DescribeDelegationTokenOptions options)
      Description copied from interface: Admin
      Describe the Delegation Tokens.

      This operation is supported by brokers with version 1.1.0 or higher.

      The following exceptions can be anticipated when calling get() on the futures obtained from the delegationTokens() method of the returned DescribeDelegationTokenResult

      • UnsupportedByAuthenticationException If the request sent on PLAINTEXT/1-way SSL channels or delegation token authenticated channels.
      • DelegationTokenDisabledException if the delegation token feature is disabled.
      • TimeoutException if the request was not completed in within the given AbstractOptions.timeoutMs().

      Parameters:
      options - The options to use when describing delegation tokens.
      Returns:
      The DescribeDelegationTokenResult.
    • describeConsumerGroups

      public org.apache.kafka.clients.admin.DescribeConsumerGroupsResult describeConsumerGroups(Collection<String> groupIds, org.apache.kafka.clients.admin.DescribeConsumerGroupsOptions options)
      Description copied from interface: Admin
      Describe some group IDs in the cluster.
      Parameters:
      groupIds - The IDs of the groups to describe.
      options - The options to use when describing the groups.
      Returns:
      The DescribeConsumerGroupResult.
    • listConsumerGroups

      public org.apache.kafka.clients.admin.ListConsumerGroupsResult listConsumerGroups(org.apache.kafka.clients.admin.ListConsumerGroupsOptions options)
      Description copied from interface: Admin
      List the consumer groups available in the cluster.
      Parameters:
      options - The options to use when listing the consumer groups.
      Returns:
      The ListGroupsResult.
    • listConsumerGroupOffsets

      public org.apache.kafka.clients.admin.ListConsumerGroupOffsetsResult listConsumerGroupOffsets(String groupId, org.apache.kafka.clients.admin.ListConsumerGroupOffsetsOptions options)
      Description copied from interface: Admin
      List the consumer group offsets available in the cluster.
      Parameters:
      options - The options to use when listing the consumer group offsets.
      Returns:
      The ListGroupOffsetsResult
    • deleteConsumerGroups

      public org.apache.kafka.clients.admin.DeleteConsumerGroupsResult deleteConsumerGroups(Collection<String> groupIds, org.apache.kafka.clients.admin.DeleteConsumerGroupsOptions options)
      Description copied from interface: Admin
      Delete consumer groups from the cluster.
      Parameters:
      options - The options to use when deleting a consumer group.
      Returns:
      The DeletConsumerGroupResult.
    • close

      public void close(Duration timeout)
      Description copied from interface: Admin
      Close the Admin client and release all associated resources.

      The close operation has a grace period during which current operations will be allowed to complete, specified by the given duration. New operations will not be accepted during the grace period. Once the grace period is over, all operations that have not yet been completed will be aborted with a TimeoutException.

      Parameters:
      timeout - The time to use for the wait time.
    • incrementalAlterConfigs

      public org.apache.kafka.clients.admin.AlterConfigsResult incrementalAlterConfigs(Map<org.apache.kafka.common.config.ConfigResource,Collection<org.apache.kafka.clients.admin.AlterConfigOp>> configs, org.apache.kafka.clients.admin.AlterConfigsOptions options)
      Description copied from interface: Admin
      Incrementally update the configuration for the specified resources.

      Updates are not transactional so they may succeed for some resources while fail for others. The configs for a particular resource are updated atomically.

      The following exceptions can be anticipated when calling get() on the futures obtained from the returned AlterConfigsResult:

      • ClusterAuthorizationException if the authenticated user didn't have alter access to the cluster.
      • TopicAuthorizationException if the authenticated user didn't have alter access to the Topic.
      • UnknownTopicOrPartitionException if the Topic doesn't exist.
      • InvalidRequestException if the request details are invalid. e.g., a configuration key was specified more than once for a resource

      This operation is supported by brokers with version 2.3.0 or higher.

      Parameters:
      configs - The resources with their configs
      options - The options to use when altering configs
      Returns:
      The AlterConfigsResult
    • deleteConsumerGroupOffsets

      public org.apache.kafka.clients.admin.DeleteConsumerGroupOffsetsResult deleteConsumerGroupOffsets(String groupId, Set<org.apache.kafka.common.TopicPartition> partitions, org.apache.kafka.clients.admin.DeleteConsumerGroupOffsetsOptions options)
      Description copied from interface: Admin
      Delete committed offsets for a set of partitions in a consumer group. This will succeed at the partition level only if the group is not actively subscribed to the corresponding topic.
      Parameters:
      options - The options to use when deleting offsets in a consumer group.
      Returns:
      The DeleteConsumerGroupOffsetsResult.
    • electLeaders

      public org.apache.kafka.clients.admin.ElectLeadersResult electLeaders(org.apache.kafka.common.ElectionType electionType, Set<org.apache.kafka.common.TopicPartition> partitions, org.apache.kafka.clients.admin.ElectLeadersOptions options)
      Description copied from interface: Admin
      Elect a replica as leader for the given partitions, or for all partitions if the argument to partitions is null.

      This operation is not transactional so it may succeed for some partitions while fail for others.

      It may take several seconds after this method returns success for all the brokers in the cluster to become aware that the partitions have new leaders. During this time, Admin.describeTopics(Collection) may not return information about the partitions' new leaders.

      This operation is supported by brokers with version 2.2.0 or later if preferred election is use; otherwise the brokers most be 2.4.0 or higher.

      The following exceptions can be anticipated when calling get() on the future obtained from the returned ElectLeadersResult:

      • ClusterAuthorizationException if the authenticated user didn't have alter access to the cluster.
      • UnknownTopicOrPartitionException if the topic or partition did not exist within the cluster.
      • InvalidTopicException if the topic was already queued for deletion.
      • NotControllerException if the request was sent to a broker that was not the controller for the cluster.
      • TimeoutException if the request timed out before the election was complete.
      • LeaderNotAvailableException if the preferred leader was not alive or not in the ISR.

      Parameters:
      electionType - The type of election to conduct.
      partitions - The topics and partitions for which to conduct elections.
      options - The options to use when electing the leaders.
      Returns:
      The ElectLeadersResult.
    • alterPartitionReassignments

      public org.apache.kafka.clients.admin.AlterPartitionReassignmentsResult alterPartitionReassignments(Map<org.apache.kafka.common.TopicPartition,Optional<org.apache.kafka.clients.admin.NewPartitionReassignment>> reassignments, org.apache.kafka.clients.admin.AlterPartitionReassignmentsOptions options)
      Description copied from interface: Admin
      Change the reassignments for one or more partitions. Providing an empty Optional (e.g via Optional.empty()) will revert the reassignment for the associated partition.

      The following exceptions can be anticipated when calling get() on the futures obtained from the returned AlterPartitionReassignmentsResult:

      • ClusterAuthorizationException If the authenticated user didn't have alter access to the cluster.
      • UnknownTopicOrPartitionException If the topic or partition does not exist within the cluster.
      • TimeoutException if the request timed out before the controller could record the new assignments.
      • InvalidReplicaAssignmentException If the specified assignment was not valid.
      • NoReassignmentInProgressException If there was an attempt to cancel a reassignment for a partition which was not being reassigned.
      Parameters:
      reassignments - The reassignments to add, modify, or remove. See NewPartitionReassignment.
      options - The options to use.
      Returns:
      The result.
    • listPartitionReassignments

      public org.apache.kafka.clients.admin.ListPartitionReassignmentsResult listPartitionReassignments(Optional<Set<org.apache.kafka.common.TopicPartition>> partitions, org.apache.kafka.clients.admin.ListPartitionReassignmentsOptions options)
      Parameters:
      partitions - the partitions we want to get reassignment for, or an empty optional if we want to get the reassignments for all partitions in the cluster
      options - The options to use.
      Returns:
      The result.
    • removeMembersFromConsumerGroup

      public org.apache.kafka.clients.admin.RemoveMembersFromConsumerGroupResult removeMembersFromConsumerGroup(String groupId, org.apache.kafka.clients.admin.RemoveMembersFromConsumerGroupOptions options)
      Description copied from interface: Admin
      Remove members from the consumer group by given member identities.

      For possible error codes, refer to LeaveGroupResponse.

      Parameters:
      groupId - The ID of the group to remove member from.
      options - The options to carry removing members' information.
      Returns:
      The MembershipChangeResult.
    • alterConsumerGroupOffsets

      public org.apache.kafka.clients.admin.AlterConsumerGroupOffsetsResult alterConsumerGroupOffsets(String groupId, Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndMetadata> offsets, org.apache.kafka.clients.admin.AlterConsumerGroupOffsetsOptions options)
      Description copied from interface: Admin

      Alters offsets for the specified group. In order to succeed, the group must be empty.

      This operation is not transactional so it may succeed for some partitions while fail for others.

      Parameters:
      groupId - The group for which to alter offsets.
      offsets - A map of offsets by partition with associated metadata. Partitions not specified in the map are ignored.
      options - The options to use when altering the offsets.
      Returns:
      The AlterOffsetsResult.
    • listOffsets

      public org.apache.kafka.clients.admin.ListOffsetsResult listOffsets(Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.admin.OffsetSpec> topicPartitionOffsets, org.apache.kafka.clients.admin.ListOffsetsOptions options)
      Description copied from interface: Admin

      List offset for the specified partitions. This operation enables to find the beginning offset, end offset as well as the offset matching a timestamp in partitions.

      Parameters:
      topicPartitionOffsets - The mapping from partition to the OffsetSpec to look up.
      options - The options to use when retrieving the offsets
      Returns:
      The ListOffsetsResult.
    • describeClientQuotas

      public org.apache.kafka.clients.admin.DescribeClientQuotasResult describeClientQuotas(org.apache.kafka.common.quota.ClientQuotaFilter filter, org.apache.kafka.clients.admin.DescribeClientQuotasOptions options)
      Description copied from interface: Admin
      Describes all entities matching the provided filter that have at least one client quota configuration value defined.

      The following exceptions can be anticipated when calling get() on the future from the returned DescribeClientQuotasResult:

      • ClusterAuthorizationException If the authenticated user didn't have describe access to the cluster.
      • InvalidRequestException If the request details are invalid. e.g., an invalid entity type was specified.
      • TimeoutException If the request timed out before the describe could finish.

      This operation is supported by brokers with version 2.6.0 or higher.

      Parameters:
      filter - the filter to apply to match entities
      options - the options to use
      Returns:
      the DescribeClientQuotasResult containing the result
    • alterClientQuotas

      public org.apache.kafka.clients.admin.AlterClientQuotasResult alterClientQuotas(Collection<org.apache.kafka.common.quota.ClientQuotaAlteration> entries, org.apache.kafka.clients.admin.AlterClientQuotasOptions options)
      Description copied from interface: Admin
      Alters client quota configurations with the specified alterations.

      Alterations for a single entity are atomic, but across entities is not guaranteed. The resulting per-entity error code should be evaluated to resolve the success or failure of all updates.

      The following exceptions can be anticipated when calling get() on the futures obtained from the returned AlterClientQuotasResult:

      • ClusterAuthorizationException If the authenticated user didn't have alter access to the cluster.
      • InvalidRequestException If the request details are invalid. e.g., a configuration key was specified more than once for an entity.
      • TimeoutException If the request timed out before the alterations could finish. It cannot be guaranteed whether the update succeed or not.

      This operation is supported by brokers with version 2.6.0 or higher.

      Parameters:
      entries - the alterations to perform
      Returns:
      the AlterClientQuotasResult containing the result
    • describeUserScramCredentials

      public org.apache.kafka.clients.admin.DescribeUserScramCredentialsResult describeUserScramCredentials(List<String> users, org.apache.kafka.clients.admin.DescribeUserScramCredentialsOptions options)
      Description copied from interface: Admin
      Describe SASL/SCRAM credentials.

      The following exceptions can be anticipated when calling get() on the futures from the returned DescribeUserScramCredentialsResult:

      • ClusterAuthorizationException If the authenticated user didn't have describe access to the cluster.
      • ResourceNotFoundException If the user did not exist/had no SCRAM credentials.
      • DuplicateResourceException If the user was requested to be described more than once in the original request.
      • TimeoutException If the request timed out before the describe operation could finish.

      This operation is supported by brokers with version 2.7.0 or higher.

      Parameters:
      users - the users for which credentials are to be described; all users' credentials are described if null or empty.
      options - The options to use when describing the credentials
      Returns:
      The DescribeUserScramCredentialsResult.
    • alterUserScramCredentials

      public org.apache.kafka.clients.admin.AlterUserScramCredentialsResult alterUserScramCredentials(List<org.apache.kafka.clients.admin.UserScramCredentialAlteration> alterations, org.apache.kafka.clients.admin.AlterUserScramCredentialsOptions options)
      Description copied from interface: Admin
      Alter SASL/SCRAM credentials.

      The following exceptions can be anticipated when calling get() any of the futures from the returned AlterUserScramCredentialsResult:

      • NotControllerException If the request is not sent to the Controller broker.
      • ClusterAuthorizationException If the authenticated user didn't have alter access to the cluster.
      • UnsupportedByAuthenticationException If the user authenticated with a delegation token.
      • UnsupportedSaslMechanismException If the requested SCRAM mechanism is unrecognized or otherwise unsupported.
      • UnacceptableCredentialException If the username is empty or the requested number of iterations is too small or too large.
      • TimeoutException If the request timed out before the describe could finish.

      This operation is supported by brokers with version 2.7.0 or higher.

      Parameters:
      alterations - the alterations to be applied
      options - The options to use when altering the credentials
      Returns:
      The AlterUserScramCredentialsResult.
    • describeFeatures

      public org.apache.kafka.clients.admin.DescribeFeaturesResult describeFeatures(org.apache.kafka.clients.admin.DescribeFeaturesOptions options)
      Description copied from interface: Admin
      Describes finalized as well as supported features. The request is issued to any random broker.

      The following exceptions can be anticipated when calling get() on the future from the returned DescribeFeaturesResult:

      • TimeoutException If the request timed out before the describe operation could finish.

      Parameters:
      options - the options to use
      Returns:
      the DescribeFeaturesResult containing the result
    • updateFeatures

      public org.apache.kafka.clients.admin.UpdateFeaturesResult updateFeatures(Map<String,org.apache.kafka.clients.admin.FeatureUpdate> featureUpdates, org.apache.kafka.clients.admin.UpdateFeaturesOptions options)
      Description copied from interface: Admin
      Applies specified updates to finalized features. This operation is not transactional so some updates may succeed while the rest may fail.

      The API takes in a map of finalized feature names to FeatureUpdate that needs to be applied. Each entry in the map specifies the finalized feature to be added or updated or deleted, along with the new max feature version level value. This request is issued only to the controller since the API is only served by the controller. The return value contains an error code for each supplied FeatureUpdate, and the code indicates if the update succeeded or failed in the controller.

      • Downgrade of feature version level is not a regular operation/intent. It is only allowed in the controller if the FeatureUpdate has the allowDowngrade flag set. Setting this flag conveys user intent to attempt downgrade of a feature max version level. Note that despite the allowDowngrade flag being set, certain downgrades may be rejected by the controller if it is deemed impossible.
      • Deletion of a finalized feature version is not a regular operation/intent. It could be done by setting the allowDowngrade flag to true in the FeatureUpdate, and, setting the max version level to a value less than 1.

      The following exceptions can be anticipated when calling get() on the futures obtained from the returned UpdateFeaturesResult:

      • ClusterAuthorizationException If the authenticated user didn't have alter access to the cluster.
      • InvalidRequestException If the request details are invalid. e.g., a non-existing finalized feature is attempted to be deleted or downgraded.
      • TimeoutException If the request timed out before the updates could finish. It cannot be guaranteed whether the updates succeeded or not.
      • FeatureUpdateFailedException This means there was an unexpected error encountered when the update was applied on the controller. There is no guarantee on whether the update succeeded or failed. The best way to find out is to issue a Admin.describeFeatures(DescribeFeaturesOptions) request.

      This operation is supported by brokers with version 2.7.0 or higher.

      Parameters:
      featureUpdates - the map of finalized feature name to FeatureUpdate
      options - the options to use
      Returns:
      the UpdateFeaturesResult containing the result
    • unregisterBroker

      public org.apache.kafka.clients.admin.UnregisterBrokerResult unregisterBroker(int brokerId, org.apache.kafka.clients.admin.UnregisterBrokerOptions options)
      Description copied from interface: Admin
      Unregister a broker.

      This operation does not have any effect on partition assignments. It is supported only on Kafka clusters which use Raft to store metadata, rather than ZooKeeper. The following exceptions can be anticipated when calling get() on the future from the returned UnregisterBrokerResult:

      • TimeoutException If the request timed out before the describe operation could finish.
      • UnsupportedVersionException If the software is too old to support the unregistration API, or if the cluster is not using Raft to store metadata.

      Parameters:
      brokerId - the broker id to unregister.
      options - the options to use.
      Returns:
      the UnregisterBrokerResult containing the result
    • metrics

      public Map<org.apache.kafka.common.MetricName,? extends org.apache.kafka.common.Metric> metrics()
      Description copied from interface: Admin
      Get the metrics kept by the adminClient
    • deleteTopics

      public org.apache.kafka.clients.admin.DeleteTopicsResult deleteTopics(org.apache.kafka.common.TopicCollection topics, org.apache.kafka.clients.admin.DeleteTopicsOptions options)
    • describeTopics

      public org.apache.kafka.clients.admin.DescribeTopicsResult describeTopics(org.apache.kafka.common.TopicCollection topics, org.apache.kafka.clients.admin.DescribeTopicsOptions options)
    • listConsumerGroupOffsets

      public org.apache.kafka.clients.admin.ListConsumerGroupOffsetsResult listConsumerGroupOffsets(Map<String,org.apache.kafka.clients.admin.ListConsumerGroupOffsetsSpec> groupSpecs, org.apache.kafka.clients.admin.ListConsumerGroupOffsetsOptions options)
    • describeMetadataQuorum

      public org.apache.kafka.clients.admin.DescribeMetadataQuorumResult describeMetadataQuorum(org.apache.kafka.clients.admin.DescribeMetadataQuorumOptions options)
    • describeProducers

      public org.apache.kafka.clients.admin.DescribeProducersResult describeProducers(Collection<org.apache.kafka.common.TopicPartition> partitions, org.apache.kafka.clients.admin.DescribeProducersOptions options)
    • describeTransactions

      public org.apache.kafka.clients.admin.DescribeTransactionsResult describeTransactions(Collection<String> transactionalIds, org.apache.kafka.clients.admin.DescribeTransactionsOptions options)
    • abortTransaction

      public org.apache.kafka.clients.admin.AbortTransactionResult abortTransaction(org.apache.kafka.clients.admin.AbortTransactionSpec spec, org.apache.kafka.clients.admin.AbortTransactionOptions options)
    • listTransactions

      public org.apache.kafka.clients.admin.ListTransactionsResult listTransactions(org.apache.kafka.clients.admin.ListTransactionsOptions options)
    • fenceProducers

      public org.apache.kafka.clients.admin.FenceProducersResult fenceProducers(Collection<String> transactionalIds, org.apache.kafka.clients.admin.FenceProducersOptions options)
    • clientInstanceId

      public org.apache.kafka.common.Uuid clientInstanceId(Duration timeout)
    • listClientMetricsResources

      public org.apache.kafka.clients.admin.ListClientMetricsResourcesResult listClientMetricsResources(org.apache.kafka.clients.admin.ListClientMetricsResourcesOptions arg0)