├── .asf.yaml ├── .githooks ├── prepare-commit-msg ├── setup.sh └── uninstall.sh ├── .github └── workflows │ ├── build-and-upload-archives-upon-creating-tags.yml │ ├── code-analysis.yml │ ├── int-test.yml │ └── unit-test.yml ├── .gitignore ├── CONTRIBUTING.md ├── HEADER ├── Jenkinsfile ├── LICENSE ├── LICENSE-binary ├── NOTICE ├── NOTICE-binary ├── PULL_REQUEST_TEMPLATE.md ├── README.md ├── TROGDOR.md ├── Vagrantfile ├── bin ├── connect-distributed.sh ├── connect-mirror-maker.sh ├── connect-standalone.sh ├── kafka-acls.sh ├── kafka-broker-api-versions.sh ├── kafka-cluster.sh ├── kafka-configs.sh ├── kafka-console-consumer.sh ├── kafka-console-producer.sh ├── kafka-consumer-groups.sh ├── kafka-consumer-perf-test.sh ├── kafka-delegation-tokens.sh ├── kafka-delete-records.sh ├── kafka-dump-log.sh ├── kafka-features.sh ├── kafka-get-offsets.sh ├── kafka-leader-election.sh ├── kafka-li-cluster.sh ├── kafka-log-dirs.sh ├── kafka-metadata-shell.sh ├── kafka-mirror-maker.sh ├── kafka-producer-perf-test.sh ├── kafka-reassign-partitions.sh ├── kafka-recommended-leader-election.sh ├── kafka-replica-verification.sh ├── kafka-run-class.sh ├── kafka-server-start.sh ├── kafka-server-stop.sh ├── kafka-storage.sh ├── kafka-streams-application-reset.sh ├── kafka-topics.sh ├── kafka-transactions.sh ├── kafka-verifiable-consumer.sh ├── kafka-verifiable-producer.sh ├── trogdor.sh ├── windows │ ├── connect-distributed.bat │ ├── connect-standalone.bat │ ├── kafka-acls.bat │ ├── kafka-broker-api-versions.bat │ ├── kafka-configs.bat │ ├── kafka-console-consumer.bat │ ├── kafka-console-producer.bat │ ├── kafka-consumer-groups.bat │ ├── kafka-consumer-perf-test.bat │ ├── kafka-delegation-tokens.bat │ ├── kafka-delete-records.bat │ ├── kafka-dump-log.bat │ ├── kafka-get-offsets.bat │ ├── kafka-leader-election.bat │ ├── kafka-log-dirs.bat │ ├── kafka-mirror-maker.bat │ ├── kafka-producer-perf-test.bat │ ├── kafka-reassign-partitions.bat │ ├── kafka-replica-verification.bat │ ├── kafka-run-class.bat │ ├── kafka-server-start.bat │ ├── kafka-server-stop.bat │ ├── kafka-streams-application-reset.bat │ ├── kafka-topics.bat │ ├── kafka-transactions.bat │ ├── zookeeper-server-start.bat │ ├── zookeeper-server-stop.bat │ └── zookeeper-shell.bat ├── zookeeper-security-migration.sh ├── zookeeper-server-start.sh ├── zookeeper-server-stop.sh └── zookeeper-shell.sh ├── checkstyle ├── .scalafmt.conf ├── checkstyle.xml ├── import-control-core.xml ├── import-control-jmh-benchmarks.xml ├── import-control.xml ├── java.header └── suppressions.xml ├── clients ├── .gitignore └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ ├── clients │ │ │ ├── ApiVersions.java │ │ │ ├── ClientDnsLookup.java │ │ │ ├── ClientRequest.java │ │ │ ├── ClientResponse.java │ │ │ ├── ClientUtils.java │ │ │ ├── ClusterConnectionStates.java │ │ │ ├── CommonClientConfigs.java │ │ │ ├── ConnectionState.java │ │ │ ├── DefaultHostResolver.java │ │ │ ├── FetchSessionHandler.java │ │ │ ├── GroupRebalanceConfig.java │ │ │ ├── HostResolver.java │ │ │ ├── InFlightRequests.java │ │ │ ├── KafkaClient.java │ │ │ ├── LeastLoadedNodeAlgorithm.java │ │ │ ├── ManualMetadataUpdater.java │ │ │ ├── Metadata.java │ │ │ ├── MetadataCache.java │ │ │ ├── MetadataUpdater.java │ │ │ ├── NetworkClient.java │ │ │ ├── NetworkClientUtils.java │ │ │ ├── NodeApiVersions.java │ │ │ ├── RequestCompletionHandler.java │ │ │ ├── StaleClusterMetadataException.java │ │ │ ├── StaleMetadataException.java │ │ │ ├── admin │ │ │ │ ├── AbortTransactionOptions.java │ │ │ │ ├── AbortTransactionResult.java │ │ │ │ ├── AbortTransactionSpec.java │ │ │ │ ├── AbstractOptions.java │ │ │ │ ├── Admin.java │ │ │ │ ├── AdminClient.java │ │ │ │ ├── AdminClientConfig.java │ │ │ │ ├── AlterClientQuotasOptions.java │ │ │ │ ├── AlterClientQuotasResult.java │ │ │ │ ├── AlterConfigOp.java │ │ │ │ ├── AlterConfigsOptions.java │ │ │ │ ├── AlterConfigsResult.java │ │ │ │ ├── AlterConsumerGroupOffsetsOptions.java │ │ │ │ ├── AlterConsumerGroupOffsetsResult.java │ │ │ │ ├── AlterPartitionReassignmentsOptions.java │ │ │ │ ├── AlterPartitionReassignmentsResult.java │ │ │ │ ├── AlterReplicaLogDirsOptions.java │ │ │ │ ├── AlterReplicaLogDirsResult.java │ │ │ │ ├── AlterUserScramCredentialsOptions.java │ │ │ │ ├── AlterUserScramCredentialsResult.java │ │ │ │ ├── Config.java │ │ │ │ ├── ConfigEntry.java │ │ │ │ ├── ConsumerGroupDescription.java │ │ │ │ ├── ConsumerGroupListing.java │ │ │ │ ├── CreateAclsOptions.java │ │ │ │ ├── CreateAclsResult.java │ │ │ │ ├── CreateDelegationTokenOptions.java │ │ │ │ ├── CreateDelegationTokenResult.java │ │ │ │ ├── CreateFederatedTopicZnodesOptions.java │ │ │ │ ├── CreateOrDeleteFederatedTopicZnodesResult.java │ │ │ │ ├── CreatePartitionsOptions.java │ │ │ │ ├── CreatePartitionsResult.java │ │ │ │ ├── CreateTopicsOptions.java │ │ │ │ ├── CreateTopicsResult.java │ │ │ │ ├── DeleteAclsOptions.java │ │ │ │ ├── DeleteAclsResult.java │ │ │ │ ├── DeleteConsumerGroupOffsetsOptions.java │ │ │ │ ├── DeleteConsumerGroupOffsetsResult.java │ │ │ │ ├── DeleteConsumerGroupsOptions.java │ │ │ │ ├── DeleteConsumerGroupsResult.java │ │ │ │ ├── DeleteFederatedTopicZnodesOptions.java │ │ │ │ ├── DeleteRecordsOptions.java │ │ │ │ ├── DeleteRecordsResult.java │ │ │ │ ├── DeleteTopicsOptions.java │ │ │ │ ├── DeleteTopicsResult.java │ │ │ │ ├── DeletedRecords.java │ │ │ │ ├── DescribeAclsOptions.java │ │ │ │ ├── DescribeAclsResult.java │ │ │ │ ├── DescribeClientQuotasOptions.java │ │ │ │ ├── DescribeClientQuotasResult.java │ │ │ │ ├── DescribeClusterOptions.java │ │ │ │ ├── DescribeClusterResult.java │ │ │ │ ├── DescribeConfigsOptions.java │ │ │ │ ├── DescribeConfigsResult.java │ │ │ │ ├── DescribeConsumerGroupsOptions.java │ │ │ │ ├── DescribeConsumerGroupsResult.java │ │ │ │ ├── DescribeDelegationTokenOptions.java │ │ │ │ ├── DescribeDelegationTokenResult.java │ │ │ │ ├── DescribeFeaturesOptions.java │ │ │ │ ├── DescribeFeaturesResult.java │ │ │ │ ├── DescribeLogDirsOptions.java │ │ │ │ ├── DescribeLogDirsResult.java │ │ │ │ ├── DescribeProducersOptions.java │ │ │ │ ├── DescribeProducersResult.java │ │ │ │ ├── DescribeReplicaLogDirsOptions.java │ │ │ │ ├── DescribeReplicaLogDirsResult.java │ │ │ │ ├── DescribeTopicsOptions.java │ │ │ │ ├── DescribeTopicsResult.java │ │ │ │ ├── DescribeTransactionsOptions.java │ │ │ │ ├── DescribeTransactionsResult.java │ │ │ │ ├── DescribeUserScramCredentialsOptions.java │ │ │ │ ├── DescribeUserScramCredentialsResult.java │ │ │ │ ├── ElectLeadersOptions.java │ │ │ │ ├── ElectLeadersResult.java │ │ │ │ ├── ExpireDelegationTokenOptions.java │ │ │ │ ├── ExpireDelegationTokenResult.java │ │ │ │ ├── FeatureMetadata.java │ │ │ │ ├── FeatureUpdate.java │ │ │ │ ├── FinalizedVersionRange.java │ │ │ │ ├── KafkaAdminClient.java │ │ │ │ ├── ListConsumerGroupOffsetsOptions.java │ │ │ │ ├── ListConsumerGroupOffsetsResult.java │ │ │ │ ├── ListConsumerGroupsOptions.java │ │ │ │ ├── ListConsumerGroupsResult.java │ │ │ │ ├── ListFederatedTopicZnodesOptions.java │ │ │ │ ├── ListFederatedTopicZnodesResult.java │ │ │ │ ├── ListOffsetsOptions.java │ │ │ │ ├── ListOffsetsResult.java │ │ │ │ ├── ListPartitionReassignmentsOptions.java │ │ │ │ ├── ListPartitionReassignmentsResult.java │ │ │ │ ├── ListTopicsOptions.java │ │ │ │ ├── ListTopicsResult.java │ │ │ │ ├── ListTransactionsOptions.java │ │ │ │ ├── ListTransactionsResult.java │ │ │ │ ├── LogDirDescription.java │ │ │ │ ├── MemberAssignment.java │ │ │ │ ├── MemberDescription.java │ │ │ │ ├── MemberToRemove.java │ │ │ │ ├── MoveControllerOptions.java │ │ │ │ ├── MoveControllerResult.java │ │ │ │ ├── NewPartitionReassignment.java │ │ │ │ ├── NewPartitions.java │ │ │ │ ├── NewTopic.java │ │ │ │ ├── NoOpAdminClient.java │ │ │ │ ├── OffsetSpec.java │ │ │ │ ├── PartitionReassignment.java │ │ │ │ ├── ProducerState.java │ │ │ │ ├── RecordsToDelete.java │ │ │ │ ├── RemoveMembersFromConsumerGroupOptions.java │ │ │ │ ├── RemoveMembersFromConsumerGroupResult.java │ │ │ │ ├── RenewDelegationTokenOptions.java │ │ │ │ ├── RenewDelegationTokenResult.java │ │ │ │ ├── ReplicaInfo.java │ │ │ │ ├── ScramCredentialInfo.java │ │ │ │ ├── ScramMechanism.java │ │ │ │ ├── SkipShutdownSafetyCheckOptions.java │ │ │ │ ├── SkipShutdownSafetyCheckResult.java │ │ │ │ ├── SupportedVersionRange.java │ │ │ │ ├── TopicDescription.java │ │ │ │ ├── TopicListing.java │ │ │ │ ├── TransactionDescription.java │ │ │ │ ├── TransactionListing.java │ │ │ │ ├── TransactionState.java │ │ │ │ ├── UnregisterBrokerOptions.java │ │ │ │ ├── UnregisterBrokerResult.java │ │ │ │ ├── UpdateFeaturesOptions.java │ │ │ │ ├── UpdateFeaturesResult.java │ │ │ │ ├── UserScramCredentialAlteration.java │ │ │ │ ├── UserScramCredentialDeletion.java │ │ │ │ ├── UserScramCredentialUpsertion.java │ │ │ │ ├── UserScramCredentialsDescription.java │ │ │ │ └── internals │ │ │ │ │ ├── AbortTransactionHandler.java │ │ │ │ │ ├── AdminApiDriver.java │ │ │ │ │ ├── AdminApiFuture.java │ │ │ │ │ ├── AdminApiHandler.java │ │ │ │ │ ├── AdminApiLookupStrategy.java │ │ │ │ │ ├── AdminMetadataManager.java │ │ │ │ │ ├── AllBrokersStrategy.java │ │ │ │ │ ├── AlterConsumerGroupOffsetsHandler.java │ │ │ │ │ ├── ApiRequestScope.java │ │ │ │ │ ├── CoordinatorKey.java │ │ │ │ │ ├── CoordinatorStrategy.java │ │ │ │ │ ├── DeleteConsumerGroupOffsetsHandler.java │ │ │ │ │ ├── DeleteConsumerGroupsHandler.java │ │ │ │ │ ├── DescribeConsumerGroupsHandler.java │ │ │ │ │ ├── DescribeProducersHandler.java │ │ │ │ │ ├── DescribeTransactionsHandler.java │ │ │ │ │ ├── ListConsumerGroupOffsetsHandler.java │ │ │ │ │ ├── ListTransactionsHandler.java │ │ │ │ │ ├── MetadataOperationContext.java │ │ │ │ │ ├── PartitionLeaderStrategy.java │ │ │ │ │ ├── RemoveMembersFromConsumerGroupHandler.java │ │ │ │ │ └── StaticBrokerStrategy.java │ │ │ ├── consumer │ │ │ │ ├── CommitFailedException.java │ │ │ │ ├── Consumer.java │ │ │ │ ├── ConsumerConfig.java │ │ │ │ ├── ConsumerGroupMetadata.java │ │ │ │ ├── ConsumerInterceptor.java │ │ │ │ ├── ConsumerPartitionAssignor.java │ │ │ │ ├── ConsumerRebalanceListener.java │ │ │ │ ├── ConsumerRecord.java │ │ │ │ ├── ConsumerRecords.java │ │ │ │ ├── CooperativeStickyAssignor.java │ │ │ │ ├── InvalidOffsetException.java │ │ │ │ ├── KafkaConsumer.java │ │ │ │ ├── LogTruncationException.java │ │ │ │ ├── MockConsumer.java │ │ │ │ ├── NoOffsetForPartitionException.java │ │ │ │ ├── OffsetAndMetadata.java │ │ │ │ ├── OffsetAndTimestamp.java │ │ │ │ ├── OffsetCommitCallback.java │ │ │ │ ├── OffsetOutOfRangeException.java │ │ │ │ ├── OffsetResetStrategy.java │ │ │ │ ├── RangeAssignor.java │ │ │ │ ├── RetriableCommitFailedException.java │ │ │ │ ├── RoundRobinAssignor.java │ │ │ │ ├── StickyAssignor.java │ │ │ │ └── internals │ │ │ │ │ ├── AbstractCoordinator.java │ │ │ │ │ ├── AbstractPartitionAssignor.java │ │ │ │ │ ├── AbstractStickyAssignor.java │ │ │ │ │ ├── AsyncClient.java │ │ │ │ │ ├── ConsumerCoordinator.java │ │ │ │ │ ├── ConsumerInterceptors.java │ │ │ │ │ ├── ConsumerMetadata.java │ │ │ │ │ ├── ConsumerMetrics.java │ │ │ │ │ ├── ConsumerNetworkClient.java │ │ │ │ │ ├── ConsumerProtocol.java │ │ │ │ │ ├── Fetcher.java │ │ │ │ │ ├── FetcherMetricsRegistry.java │ │ │ │ │ ├── Heartbeat.java │ │ │ │ │ ├── KafkaConsumerMetrics.java │ │ │ │ │ ├── NoAvailableBrokersException.java │ │ │ │ │ ├── NoOpConsumerRebalanceListener.java │ │ │ │ │ ├── OffsetsForLeaderEpochClient.java │ │ │ │ │ ├── RequestFuture.java │ │ │ │ │ ├── RequestFutureAdapter.java │ │ │ │ │ ├── RequestFutureListener.java │ │ │ │ │ └── SubscriptionState.java │ │ │ └── producer │ │ │ │ ├── BufferExhaustedException.java │ │ │ │ ├── Callback.java │ │ │ │ ├── KafkaProducer.java │ │ │ │ ├── MockProducer.java │ │ │ │ ├── Partitioner.java │ │ │ │ ├── Producer.java │ │ │ │ ├── ProducerConfig.java │ │ │ │ ├── ProducerInterceptor.java │ │ │ │ ├── ProducerRecord.java │ │ │ │ ├── RecordMetadata.java │ │ │ │ ├── RoundRobinPartitioner.java │ │ │ │ ├── UniformStickyPartitioner.java │ │ │ │ └── internals │ │ │ │ ├── BufferPool.java │ │ │ │ ├── DefaultPartitioner.java │ │ │ │ ├── ErrorLoggingCallback.java │ │ │ │ ├── FutureRecordMetadata.java │ │ │ │ ├── IncompleteBatches.java │ │ │ │ ├── ProduceRequestResult.java │ │ │ │ ├── ProducerBatch.java │ │ │ │ ├── ProducerInterceptors.java │ │ │ │ ├── ProducerMetadata.java │ │ │ │ ├── ProducerMetrics.java │ │ │ │ ├── RecordAccumulator.java │ │ │ │ ├── Sender.java │ │ │ │ ├── SenderMetricsRegistry.java │ │ │ │ ├── StickyPartitionCache.java │ │ │ │ ├── TransactionManager.java │ │ │ │ └── TransactionalRequestResult.java │ │ │ ├── common │ │ │ ├── Cluster.java │ │ │ ├── ClusterResource.java │ │ │ ├── ClusterResourceListener.java │ │ │ ├── Configurable.java │ │ │ ├── ConsumerGroupState.java │ │ │ ├── ElectionType.java │ │ │ ├── Endpoint.java │ │ │ ├── InvalidRecordException.java │ │ │ ├── IsolationLevel.java │ │ │ ├── KafkaException.java │ │ │ ├── KafkaFuture.java │ │ │ ├── MessageFormatter.java │ │ │ ├── Metric.java │ │ │ ├── MetricName.java │ │ │ ├── MetricNameTemplate.java │ │ │ ├── Node.java │ │ │ ├── PartitionInfo.java │ │ │ ├── Reconfigurable.java │ │ │ ├── TopicCollection.java │ │ │ ├── TopicIdPartition.java │ │ │ ├── TopicPartition.java │ │ │ ├── TopicPartitionInfo.java │ │ │ ├── TopicPartitionReplica.java │ │ │ ├── Uuid.java │ │ │ ├── acl │ │ │ │ ├── AccessControlEntry.java │ │ │ │ ├── AccessControlEntryData.java │ │ │ │ ├── AccessControlEntryFilter.java │ │ │ │ ├── AclBinding.java │ │ │ │ ├── AclBindingFilter.java │ │ │ │ ├── AclOperation.java │ │ │ │ └── AclPermissionType.java │ │ │ ├── annotation │ │ │ │ └── InterfaceStability.java │ │ │ ├── cache │ │ │ │ ├── Cache.java │ │ │ │ ├── LRUCache.java │ │ │ │ └── SynchronizedCache.java │ │ │ ├── compress │ │ │ │ ├── KafkaLZ4BlockInputStream.java │ │ │ │ ├── KafkaLZ4BlockOutputStream.java │ │ │ │ ├── SnappyFactory.java │ │ │ │ └── ZstdFactory.java │ │ │ ├── config │ │ │ │ ├── AbstractConfig.java │ │ │ │ ├── Config.java │ │ │ │ ├── ConfigChangeCallback.java │ │ │ │ ├── ConfigData.java │ │ │ │ ├── ConfigDef.java │ │ │ │ ├── ConfigException.java │ │ │ │ ├── ConfigResource.java │ │ │ │ ├── ConfigTransformer.java │ │ │ │ ├── ConfigTransformerResult.java │ │ │ │ ├── ConfigValue.java │ │ │ │ ├── EnumValueValidator.java │ │ │ │ ├── LogLevelConfig.java │ │ │ │ ├── SaslConfigs.java │ │ │ │ ├── SecurityConfig.java │ │ │ │ ├── SslClientAuth.java │ │ │ │ ├── SslConfigs.java │ │ │ │ ├── TopicConfig.java │ │ │ │ ├── internals │ │ │ │ │ ├── BrokerSecurityConfigs.java │ │ │ │ │ └── QuotaConfigs.java │ │ │ │ ├── provider │ │ │ │ │ ├── ConfigProvider.java │ │ │ │ │ ├── DirectoryConfigProvider.java │ │ │ │ │ └── FileConfigProvider.java │ │ │ │ └── types │ │ │ │ │ └── Password.java │ │ │ ├── errors │ │ │ │ ├── ApiException.java │ │ │ │ ├── AuthenticationException.java │ │ │ │ ├── AuthorizationException.java │ │ │ │ ├── BrokerIdNotRegisteredException.java │ │ │ │ ├── BrokerNotAvailableException.java │ │ │ │ ├── ClusterAuthorizationException.java │ │ │ │ ├── ConcurrentTransactionsException.java │ │ │ │ ├── ControllerMovedException.java │ │ │ │ ├── CoordinatorLoadInProgressException.java │ │ │ │ ├── CoordinatorNotAvailableException.java │ │ │ │ ├── CorruptRecordException.java │ │ │ │ ├── DelegationTokenAuthorizationException.java │ │ │ │ ├── DelegationTokenDisabledException.java │ │ │ │ ├── DelegationTokenExpiredException.java │ │ │ │ ├── DelegationTokenNotFoundException.java │ │ │ │ ├── DelegationTokenOwnerMismatchException.java │ │ │ │ ├── DisconnectException.java │ │ │ │ ├── DuplicateBrokerRegistrationException.java │ │ │ │ ├── DuplicateResourceException.java │ │ │ │ ├── DuplicateSequenceException.java │ │ │ │ ├── ElectionNotNeededException.java │ │ │ │ ├── EligibleLeadersNotAvailableException.java │ │ │ │ ├── FeatureUpdateFailedException.java │ │ │ │ ├── FencedInstanceIdException.java │ │ │ │ ├── FencedLeaderEpochException.java │ │ │ │ ├── FetchSessionIdNotFoundException.java │ │ │ │ ├── GroupAuthorizationException.java │ │ │ │ ├── GroupIdNotFoundException.java │ │ │ │ ├── GroupMaxSizeReachedException.java │ │ │ │ ├── GroupNotEmptyException.java │ │ │ │ ├── GroupSubscribedToTopicException.java │ │ │ │ ├── IllegalGenerationException.java │ │ │ │ ├── IllegalSaslStateException.java │ │ │ │ ├── InconsistentClusterIdException.java │ │ │ │ ├── InconsistentGroupProtocolException.java │ │ │ │ ├── InconsistentTopicIdException.java │ │ │ │ ├── InconsistentVoterSetException.java │ │ │ │ ├── InterruptException.java │ │ │ │ ├── InvalidCommitOffsetSizeException.java │ │ │ │ ├── InvalidConfigurationException.java │ │ │ │ ├── InvalidFetchSessionEpochException.java │ │ │ │ ├── InvalidFetchSizeException.java │ │ │ │ ├── InvalidGroupIdException.java │ │ │ │ ├── InvalidMetadataException.java │ │ │ │ ├── InvalidOffsetException.java │ │ │ │ ├── InvalidPartitionsException.java │ │ │ │ ├── InvalidPidMappingException.java │ │ │ │ ├── InvalidPrincipalTypeException.java │ │ │ │ ├── InvalidProducerEpochException.java │ │ │ │ ├── InvalidReplicaAssignmentException.java │ │ │ │ ├── InvalidReplicationFactorException.java │ │ │ │ ├── InvalidRequestException.java │ │ │ │ ├── InvalidRequiredAcksException.java │ │ │ │ ├── InvalidSessionTimeoutException.java │ │ │ │ ├── InvalidTimestampException.java │ │ │ │ ├── InvalidTopicException.java │ │ │ │ ├── InvalidTxnStateException.java │ │ │ │ ├── InvalidTxnTimeoutException.java │ │ │ │ ├── InvalidUpdateVersionException.java │ │ │ │ ├── KafkaStorageException.java │ │ │ │ ├── LeaderNotAvailableException.java │ │ │ │ ├── ListenerNotFoundException.java │ │ │ │ ├── LogDirNotFoundException.java │ │ │ │ ├── MemberIdRequiredException.java │ │ │ │ ├── NetworkException.java │ │ │ │ ├── NoReassignmentInProgressException.java │ │ │ │ ├── NotControllerException.java │ │ │ │ ├── NotCoordinatorException.java │ │ │ │ ├── NotEnoughPreferredControllersException.java │ │ │ │ ├── NotEnoughReplicasAfterAppendException.java │ │ │ │ ├── NotEnoughReplicasException.java │ │ │ │ ├── NotLeaderForPartitionException.java │ │ │ │ ├── NotLeaderOrFollowerException.java │ │ │ │ ├── OffsetMetadataTooLarge.java │ │ │ │ ├── OffsetMovedToTieredStorageException.java │ │ │ │ ├── OffsetNotAvailableException.java │ │ │ │ ├── OffsetOutOfRangeException.java │ │ │ │ ├── OperationNotAttemptedException.java │ │ │ │ ├── OutOfOrderSequenceException.java │ │ │ │ ├── PolicyViolationException.java │ │ │ │ ├── PositionOutOfRangeException.java │ │ │ │ ├── PreferredLeaderNotAvailableException.java │ │ │ │ ├── PrincipalDeserializationException.java │ │ │ │ ├── ProducerFencedException.java │ │ │ │ ├── ReassignmentInProgressException.java │ │ │ │ ├── RebalanceInProgressException.java │ │ │ │ ├── RecordBatchTooLargeException.java │ │ │ │ ├── RecordDeserializationException.java │ │ │ │ ├── RecordTooLargeException.java │ │ │ │ ├── ReplicaNotAvailableException.java │ │ │ │ ├── ResourceNotFoundException.java │ │ │ │ ├── RetriableException.java │ │ │ │ ├── SaslAuthenticationException.java │ │ │ │ ├── SecurityDisabledException.java │ │ │ │ ├── SerializationException.java │ │ │ │ ├── SnapshotNotFoundException.java │ │ │ │ ├── SslAuthenticationException.java │ │ │ │ ├── StaleBrokerEpochException.java │ │ │ │ ├── ThrottlingQuotaExceededException.java │ │ │ │ ├── TimeoutException.java │ │ │ │ ├── TopicAuthorizationException.java │ │ │ │ ├── TopicDeletionDisabledException.java │ │ │ │ ├── TopicExistsException.java │ │ │ │ ├── TransactionAbortedException.java │ │ │ │ ├── TransactionCoordinatorFencedException.java │ │ │ │ ├── TransactionalIdAuthorizationException.java │ │ │ │ ├── TransactionalIdNotFoundException.java │ │ │ │ ├── UnacceptableCredentialException.java │ │ │ │ ├── UnknownLeaderEpochException.java │ │ │ │ ├── UnknownMemberIdException.java │ │ │ │ ├── UnknownProducerIdException.java │ │ │ │ ├── UnknownServerException.java │ │ │ │ ├── UnknownTopicIdException.java │ │ │ │ ├── UnknownTopicOrPartitionException.java │ │ │ │ ├── UnstableOffsetCommitException.java │ │ │ │ ├── UnsupportedByAuthenticationException.java │ │ │ │ ├── UnsupportedCompressionTypeException.java │ │ │ │ ├── UnsupportedForMessageFormatException.java │ │ │ │ ├── UnsupportedSaslMechanismException.java │ │ │ │ ├── UnsupportedVersionException.java │ │ │ │ └── WakeupException.java │ │ │ ├── feature │ │ │ │ ├── BaseVersionRange.java │ │ │ │ ├── Features.java │ │ │ │ ├── FinalizedVersionRange.java │ │ │ │ └── SupportedVersionRange.java │ │ │ ├── header │ │ │ │ ├── Header.java │ │ │ │ ├── Headers.java │ │ │ │ └── internals │ │ │ │ │ ├── RecordHeader.java │ │ │ │ │ └── RecordHeaders.java │ │ │ ├── internals │ │ │ │ ├── ClusterResourceListeners.java │ │ │ │ ├── FatalExitError.java │ │ │ │ ├── KafkaCompletableFuture.java │ │ │ │ ├── KafkaFutureImpl.java │ │ │ │ ├── PartitionStates.java │ │ │ │ └── Topic.java │ │ │ ├── memory │ │ │ │ ├── GarbageCollectedMemoryPool.java │ │ │ │ ├── MemoryPool.java │ │ │ │ ├── RecyclingMemoryPool.java │ │ │ │ ├── SimpleMemoryPool.java │ │ │ │ └── WeakMemoryPool.java │ │ │ ├── metrics │ │ │ │ ├── CompoundStat.java │ │ │ │ ├── Gauge.java │ │ │ │ ├── JmxReporter.java │ │ │ │ ├── KafkaMetric.java │ │ │ │ ├── KafkaMetricsContext.java │ │ │ │ ├── Measurable.java │ │ │ │ ├── MeasurableStat.java │ │ │ │ ├── MetricConfig.java │ │ │ │ ├── MetricValueProvider.java │ │ │ │ ├── Metrics.java │ │ │ │ ├── MetricsContext.java │ │ │ │ ├── MetricsReporter.java │ │ │ │ ├── Quota.java │ │ │ │ ├── QuotaViolationException.java │ │ │ │ ├── Sensor.java │ │ │ │ ├── Stat.java │ │ │ │ ├── internals │ │ │ │ │ ├── IntGaugeSuite.java │ │ │ │ │ └── MetricsUtils.java │ │ │ │ └── stats │ │ │ │ │ ├── Avg.java │ │ │ │ │ ├── CumulativeCount.java │ │ │ │ │ ├── CumulativeSum.java │ │ │ │ │ ├── Frequencies.java │ │ │ │ │ ├── Frequency.java │ │ │ │ │ ├── Histogram.java │ │ │ │ │ ├── Max.java │ │ │ │ │ ├── Meter.java │ │ │ │ │ ├── Min.java │ │ │ │ │ ├── Percentile.java │ │ │ │ │ ├── Percentiles.java │ │ │ │ │ ├── Rate.java │ │ │ │ │ ├── SampledStat.java │ │ │ │ │ ├── SimpleRate.java │ │ │ │ │ ├── TokenBucket.java │ │ │ │ │ ├── Value.java │ │ │ │ │ ├── WindowedCount.java │ │ │ │ │ └── WindowedSum.java │ │ │ ├── network │ │ │ │ ├── Authenticator.java │ │ │ │ ├── ByteBufferSend.java │ │ │ │ ├── ChannelBuilder.java │ │ │ │ ├── ChannelBuilders.java │ │ │ │ ├── ChannelMetadataRegistry.java │ │ │ │ ├── ChannelState.java │ │ │ │ ├── CipherInformation.java │ │ │ │ ├── ClientInformation.java │ │ │ │ ├── DefaultChannelMetadataRegistry.java │ │ │ │ ├── DelayedResponseAuthenticationException.java │ │ │ │ ├── InvalidReceiveException.java │ │ │ │ ├── KafkaChannel.java │ │ │ │ ├── ListenerName.java │ │ │ │ ├── ListenerReconfigurable.java │ │ │ │ ├── Mode.java │ │ │ │ ├── NetworkReceive.java │ │ │ │ ├── NetworkSend.java │ │ │ │ ├── PlaintextChannelBuilder.java │ │ │ │ ├── PlaintextTransportLayer.java │ │ │ │ ├── ReauthenticationContext.java │ │ │ │ ├── Receive.java │ │ │ │ ├── SaslChannelBuilder.java │ │ │ │ ├── Selectable.java │ │ │ │ ├── Selector.java │ │ │ │ ├── Send.java │ │ │ │ ├── SslChannelBuilder.java │ │ │ │ ├── SslTransportLayer.java │ │ │ │ ├── TransferableChannel.java │ │ │ │ └── TransportLayer.java │ │ │ ├── protocol │ │ │ │ ├── ApiKeys.java │ │ │ │ ├── ApiMessage.java │ │ │ │ ├── ByteBufferAccessor.java │ │ │ │ ├── DataInputStreamReadable.java │ │ │ │ ├── DataOutputStreamWritable.java │ │ │ │ ├── Errors.java │ │ │ │ ├── Message.java │ │ │ │ ├── MessageSizeAccumulator.java │ │ │ │ ├── MessageUtil.java │ │ │ │ ├── ObjectSerializationCache.java │ │ │ │ ├── Protocol.java │ │ │ │ ├── Readable.java │ │ │ │ ├── SecurityProtocol.java │ │ │ │ ├── SendBuilder.java │ │ │ │ ├── Writable.java │ │ │ │ └── types │ │ │ │ │ ├── ArrayOf.java │ │ │ │ │ ├── BoundField.java │ │ │ │ │ ├── CompactArrayOf.java │ │ │ │ │ ├── Field.java │ │ │ │ │ ├── RawTaggedField.java │ │ │ │ │ ├── RawTaggedFieldWriter.java │ │ │ │ │ ├── Schema.java │ │ │ │ │ ├── SchemaException.java │ │ │ │ │ ├── Struct.java │ │ │ │ │ ├── TaggedFields.java │ │ │ │ │ └── Type.java │ │ │ ├── quota │ │ │ │ ├── ClientQuotaAlteration.java │ │ │ │ ├── ClientQuotaEntity.java │ │ │ │ ├── ClientQuotaFilter.java │ │ │ │ └── ClientQuotaFilterComponent.java │ │ │ ├── record │ │ │ │ ├── AbstractLegacyRecordBatch.java │ │ │ │ ├── AbstractRecordBatch.java │ │ │ │ ├── AbstractRecords.java │ │ │ │ ├── BaseRecords.java │ │ │ │ ├── ByteBufferLogInputStream.java │ │ │ │ ├── CompressionRatioEstimator.java │ │ │ │ ├── CompressionType.java │ │ │ │ ├── ControlRecordType.java │ │ │ │ ├── ControlRecordUtils.java │ │ │ │ ├── ConvertedRecords.java │ │ │ │ ├── DefaultRecord.java │ │ │ │ ├── DefaultRecordBatch.java │ │ │ │ ├── DefaultRecordsSend.java │ │ │ │ ├── EndTransactionMarker.java │ │ │ │ ├── FileLogInputStream.java │ │ │ │ ├── FileRecords.java │ │ │ │ ├── KafkaBufferedInputStream.java │ │ │ │ ├── KafkaGZIPInputStream.java │ │ │ │ ├── KafkaInflaterInputStream.java │ │ │ │ ├── LazyDownConversionRecords.java │ │ │ │ ├── LazyDownConversionRecordsSend.java │ │ │ │ ├── LegacyRecord.java │ │ │ │ ├── LogInputStream.java │ │ │ │ ├── MemoryRecords.java │ │ │ │ ├── MemoryRecordsBuilder.java │ │ │ │ ├── MultiRecordsSend.java │ │ │ │ ├── MutableRecordBatch.java │ │ │ │ ├── PartialDefaultRecord.java │ │ │ │ ├── Record.java │ │ │ │ ├── RecordBatch.java │ │ │ │ ├── RecordBatchIterator.java │ │ │ │ ├── RecordConversionStats.java │ │ │ │ ├── RecordVersion.java │ │ │ │ ├── Records.java │ │ │ │ ├── RecordsSend.java │ │ │ │ ├── RecordsUtil.java │ │ │ │ ├── RemoteLogInputStream.java │ │ │ │ ├── SimpleRecord.java │ │ │ │ ├── TimestampType.java │ │ │ │ ├── TransferableRecords.java │ │ │ │ ├── UnalignedFileRecords.java │ │ │ │ ├── UnalignedMemoryRecords.java │ │ │ │ └── UnalignedRecords.java │ │ │ ├── replica │ │ │ │ ├── ClientMetadata.java │ │ │ │ ├── PartitionView.java │ │ │ │ ├── RackAwareReplicaSelector.java │ │ │ │ ├── ReplicaSelector.java │ │ │ │ └── ReplicaView.java │ │ │ ├── requests │ │ │ │ ├── AbstractControlRequest.java │ │ │ │ ├── AbstractRequest.java │ │ │ │ ├── AbstractRequestResponse.java │ │ │ │ ├── AbstractResponse.java │ │ │ │ ├── AddOffsetsToTxnRequest.java │ │ │ │ ├── AddOffsetsToTxnResponse.java │ │ │ │ ├── AddPartitionsToTxnRequest.java │ │ │ │ ├── AddPartitionsToTxnResponse.java │ │ │ │ ├── AllocateProducerIdsRequest.java │ │ │ │ ├── AllocateProducerIdsResponse.java │ │ │ │ ├── AlterClientQuotasRequest.java │ │ │ │ ├── AlterClientQuotasResponse.java │ │ │ │ ├── AlterConfigsRequest.java │ │ │ │ ├── AlterConfigsResponse.java │ │ │ │ ├── AlterIsrRequest.java │ │ │ │ ├── AlterIsrResponse.java │ │ │ │ ├── AlterPartitionReassignmentsRequest.java │ │ │ │ ├── AlterPartitionReassignmentsResponse.java │ │ │ │ ├── AlterReplicaLogDirsRequest.java │ │ │ │ ├── AlterReplicaLogDirsResponse.java │ │ │ │ ├── AlterUserScramCredentialsRequest.java │ │ │ │ ├── AlterUserScramCredentialsResponse.java │ │ │ │ ├── ApiError.java │ │ │ │ ├── ApiVersionsRequest.java │ │ │ │ ├── ApiVersionsResponse.java │ │ │ │ ├── BeginQuorumEpochRequest.java │ │ │ │ ├── BeginQuorumEpochResponse.java │ │ │ │ ├── BrokerHeartbeatRequest.java │ │ │ │ ├── BrokerHeartbeatResponse.java │ │ │ │ ├── BrokerRegistrationRequest.java │ │ │ │ ├── BrokerRegistrationResponse.java │ │ │ │ ├── ControlledShutdownRequest.java │ │ │ │ ├── ControlledShutdownResponse.java │ │ │ │ ├── CorrelationIdMismatchException.java │ │ │ │ ├── CreateAclsRequest.java │ │ │ │ ├── CreateAclsResponse.java │ │ │ │ ├── CreateDelegationTokenRequest.java │ │ │ │ ├── CreateDelegationTokenResponse.java │ │ │ │ ├── CreatePartitionsRequest.java │ │ │ │ ├── CreatePartitionsResponse.java │ │ │ │ ├── CreateTopicsRequest.java │ │ │ │ ├── CreateTopicsResponse.java │ │ │ │ ├── DeleteAclsRequest.java │ │ │ │ ├── DeleteAclsResponse.java │ │ │ │ ├── DeleteGroupsRequest.java │ │ │ │ ├── DeleteGroupsResponse.java │ │ │ │ ├── DeleteRecordsRequest.java │ │ │ │ ├── DeleteRecordsResponse.java │ │ │ │ ├── DeleteTopicsRequest.java │ │ │ │ ├── DeleteTopicsResponse.java │ │ │ │ ├── DescribeAclsRequest.java │ │ │ │ ├── DescribeAclsResponse.java │ │ │ │ ├── DescribeClientQuotasRequest.java │ │ │ │ ├── DescribeClientQuotasResponse.java │ │ │ │ ├── DescribeClusterRequest.java │ │ │ │ ├── DescribeClusterResponse.java │ │ │ │ ├── DescribeConfigsRequest.java │ │ │ │ ├── DescribeConfigsResponse.java │ │ │ │ ├── DescribeDelegationTokenRequest.java │ │ │ │ ├── DescribeDelegationTokenResponse.java │ │ │ │ ├── DescribeGroupsRequest.java │ │ │ │ ├── DescribeGroupsResponse.java │ │ │ │ ├── DescribeLogDirsRequest.java │ │ │ │ ├── DescribeLogDirsResponse.java │ │ │ │ ├── DescribeProducersRequest.java │ │ │ │ ├── DescribeProducersResponse.java │ │ │ │ ├── DescribeQuorumRequest.java │ │ │ │ ├── DescribeQuorumResponse.java │ │ │ │ ├── DescribeTransactionsRequest.java │ │ │ │ ├── DescribeTransactionsResponse.java │ │ │ │ ├── DescribeUserScramCredentialsRequest.java │ │ │ │ ├── DescribeUserScramCredentialsResponse.java │ │ │ │ ├── ElectLeadersRequest.java │ │ │ │ ├── ElectLeadersResponse.java │ │ │ │ ├── EndQuorumEpochRequest.java │ │ │ │ ├── EndQuorumEpochResponse.java │ │ │ │ ├── EndTxnRequest.java │ │ │ │ ├── EndTxnResponse.java │ │ │ │ ├── EnvelopeRequest.java │ │ │ │ ├── EnvelopeResponse.java │ │ │ │ ├── ExpireDelegationTokenRequest.java │ │ │ │ ├── ExpireDelegationTokenResponse.java │ │ │ │ ├── FetchMetadata.java │ │ │ │ ├── FetchRequest.java │ │ │ │ ├── FetchResponse.java │ │ │ │ ├── FetchSnapshotRequest.java │ │ │ │ ├── FetchSnapshotResponse.java │ │ │ │ ├── FindCoordinatorRequest.java │ │ │ │ ├── FindCoordinatorResponse.java │ │ │ │ ├── HeartbeatRequest.java │ │ │ │ ├── HeartbeatResponse.java │ │ │ │ ├── IncrementalAlterConfigsRequest.java │ │ │ │ ├── IncrementalAlterConfigsResponse.java │ │ │ │ ├── InitProducerIdRequest.java │ │ │ │ ├── InitProducerIdResponse.java │ │ │ │ ├── JoinGroupRequest.java │ │ │ │ ├── JoinGroupResponse.java │ │ │ │ ├── LeaderAndIsrRequest.java │ │ │ │ ├── LeaderAndIsrRequestType.java │ │ │ │ ├── LeaderAndIsrResponse.java │ │ │ │ ├── LeaveGroupRequest.java │ │ │ │ ├── LeaveGroupResponse.java │ │ │ │ ├── LiCombinedControlRequest.java │ │ │ │ ├── LiCombinedControlResponse.java │ │ │ │ ├── LiControlledShutdownSkipSafetyCheckRequest.java │ │ │ │ ├── LiControlledShutdownSkipSafetyCheckResponse.java │ │ │ │ ├── LiCreateFederatedTopicZnodesRequest.java │ │ │ │ ├── LiCreateFederatedTopicZnodesResponse.java │ │ │ │ ├── LiDeleteFederatedTopicZnodesRequest.java │ │ │ │ ├── LiDeleteFederatedTopicZnodesResponse.java │ │ │ │ ├── LiListFederatedTopicZnodesRequest.java │ │ │ │ ├── LiListFederatedTopicZnodesResponse.java │ │ │ │ ├── LiMoveControllerRequest.java │ │ │ │ ├── LiMoveControllerResponse.java │ │ │ │ ├── ListGroupsRequest.java │ │ │ │ ├── ListGroupsResponse.java │ │ │ │ ├── ListOffsetsRequest.java │ │ │ │ ├── ListOffsetsResponse.java │ │ │ │ ├── ListPartitionReassignmentsRequest.java │ │ │ │ ├── ListPartitionReassignmentsResponse.java │ │ │ │ ├── ListTransactionsRequest.java │ │ │ │ ├── ListTransactionsResponse.java │ │ │ │ ├── MetadataRequest.java │ │ │ │ ├── MetadataResponse.java │ │ │ │ ├── OffsetCommitRequest.java │ │ │ │ ├── OffsetCommitResponse.java │ │ │ │ ├── OffsetDeleteRequest.java │ │ │ │ ├── OffsetDeleteResponse.java │ │ │ │ ├── OffsetFetchRequest.java │ │ │ │ ├── OffsetFetchResponse.java │ │ │ │ ├── OffsetsForLeaderEpochRequest.java │ │ │ │ ├── OffsetsForLeaderEpochResponse.java │ │ │ │ ├── ProduceRequest.java │ │ │ │ ├── ProduceResponse.java │ │ │ │ ├── RenewDelegationTokenRequest.java │ │ │ │ ├── RenewDelegationTokenResponse.java │ │ │ │ ├── RequestAndSize.java │ │ │ │ ├── RequestContext.java │ │ │ │ ├── RequestHeader.java │ │ │ │ ├── RequestUtils.java │ │ │ │ ├── ResponseHeader.java │ │ │ │ ├── SaslAuthenticateRequest.java │ │ │ │ ├── SaslAuthenticateResponse.java │ │ │ │ ├── SaslHandshakeRequest.java │ │ │ │ ├── SaslHandshakeResponse.java │ │ │ │ ├── StopReplicaRequest.java │ │ │ │ ├── StopReplicaResponse.java │ │ │ │ ├── SyncGroupRequest.java │ │ │ │ ├── SyncGroupResponse.java │ │ │ │ ├── TransactionResult.java │ │ │ │ ├── TxnOffsetCommitRequest.java │ │ │ │ ├── TxnOffsetCommitResponse.java │ │ │ │ ├── UnregisterBrokerRequest.java │ │ │ │ ├── UnregisterBrokerResponse.java │ │ │ │ ├── UpdateFeaturesRequest.java │ │ │ │ ├── UpdateFeaturesResponse.java │ │ │ │ ├── UpdateMetadataRequest.java │ │ │ │ ├── UpdateMetadataResponse.java │ │ │ │ ├── VoteRequest.java │ │ │ │ ├── VoteResponse.java │ │ │ │ ├── WriteTxnMarkersRequest.java │ │ │ │ └── WriteTxnMarkersResponse.java │ │ │ ├── resource │ │ │ │ ├── PatternType.java │ │ │ │ ├── Resource.java │ │ │ │ ├── ResourcePattern.java │ │ │ │ ├── ResourcePatternFilter.java │ │ │ │ └── ResourceType.java │ │ │ ├── security │ │ │ │ ├── JaasConfig.java │ │ │ │ ├── JaasContext.java │ │ │ │ ├── JaasUtils.java │ │ │ │ ├── auth │ │ │ │ │ ├── AuthenticateCallbackHandler.java │ │ │ │ │ ├── AuthenticationContext.java │ │ │ │ │ ├── KafkaPrincipal.java │ │ │ │ │ ├── KafkaPrincipalBuilder.java │ │ │ │ │ ├── KafkaPrincipalSerde.java │ │ │ │ │ ├── Login.java │ │ │ │ │ ├── PlaintextAuthenticationContext.java │ │ │ │ │ ├── SaslAuthenticationContext.java │ │ │ │ │ ├── SaslExtensions.java │ │ │ │ │ ├── SaslExtensionsCallback.java │ │ │ │ │ ├── SecurityProtocol.java │ │ │ │ │ ├── SecurityProviderCreator.java │ │ │ │ │ ├── SslAuthenticationContext.java │ │ │ │ │ └── SslEngineFactory.java │ │ │ │ ├── authenticator │ │ │ │ │ ├── AbstractLogin.java │ │ │ │ │ ├── CredentialCache.java │ │ │ │ │ ├── DefaultKafkaPrincipalBuilder.java │ │ │ │ │ ├── DefaultLogin.java │ │ │ │ │ ├── LoginManager.java │ │ │ │ │ ├── SaslClientAuthenticator.java │ │ │ │ │ ├── SaslClientCallbackHandler.java │ │ │ │ │ ├── SaslInternalConfigs.java │ │ │ │ │ ├── SaslServerAuthenticator.java │ │ │ │ │ └── SaslServerCallbackHandler.java │ │ │ │ ├── kerberos │ │ │ │ │ ├── BadFormatString.java │ │ │ │ │ ├── KerberosClientCallbackHandler.java │ │ │ │ │ ├── KerberosError.java │ │ │ │ │ ├── KerberosLogin.java │ │ │ │ │ ├── KerberosName.java │ │ │ │ │ ├── KerberosRule.java │ │ │ │ │ ├── KerberosShortNamer.java │ │ │ │ │ └── NoMatchingRule.java │ │ │ │ ├── oauthbearer │ │ │ │ │ ├── OAuthBearerExtensionsValidatorCallback.java │ │ │ │ │ ├── OAuthBearerLoginModule.java │ │ │ │ │ ├── OAuthBearerToken.java │ │ │ │ │ ├── OAuthBearerTokenCallback.java │ │ │ │ │ ├── OAuthBearerValidatorCallback.java │ │ │ │ │ └── internals │ │ │ │ │ │ ├── OAuthBearerClientInitialResponse.java │ │ │ │ │ │ ├── OAuthBearerRefreshingLogin.java │ │ │ │ │ │ ├── OAuthBearerSaslClient.java │ │ │ │ │ │ ├── OAuthBearerSaslClientCallbackHandler.java │ │ │ │ │ │ ├── OAuthBearerSaslClientProvider.java │ │ │ │ │ │ ├── OAuthBearerSaslServer.java │ │ │ │ │ │ ├── OAuthBearerSaslServerProvider.java │ │ │ │ │ │ ├── expiring │ │ │ │ │ │ ├── ExpiringCredential.java │ │ │ │ │ │ ├── ExpiringCredentialRefreshConfig.java │ │ │ │ │ │ └── ExpiringCredentialRefreshingLogin.java │ │ │ │ │ │ └── unsecured │ │ │ │ │ │ ├── OAuthBearerConfigException.java │ │ │ │ │ │ ├── OAuthBearerIllegalTokenException.java │ │ │ │ │ │ ├── OAuthBearerScopeUtils.java │ │ │ │ │ │ ├── OAuthBearerUnsecuredJws.java │ │ │ │ │ │ ├── OAuthBearerUnsecuredLoginCallbackHandler.java │ │ │ │ │ │ ├── OAuthBearerUnsecuredValidatorCallbackHandler.java │ │ │ │ │ │ ├── OAuthBearerValidationResult.java │ │ │ │ │ │ └── OAuthBearerValidationUtils.java │ │ │ │ ├── plain │ │ │ │ │ ├── PlainAuthenticateCallback.java │ │ │ │ │ ├── PlainLoginModule.java │ │ │ │ │ └── internals │ │ │ │ │ │ ├── PlainSaslServer.java │ │ │ │ │ │ ├── PlainSaslServerProvider.java │ │ │ │ │ │ └── PlainServerCallbackHandler.java │ │ │ │ ├── scram │ │ │ │ │ ├── ScramCredential.java │ │ │ │ │ ├── ScramCredentialCallback.java │ │ │ │ │ ├── ScramExtensionsCallback.java │ │ │ │ │ ├── ScramLoginModule.java │ │ │ │ │ └── internals │ │ │ │ │ │ ├── ScramCredentialUtils.java │ │ │ │ │ │ ├── ScramExtensions.java │ │ │ │ │ │ ├── ScramFormatter.java │ │ │ │ │ │ ├── ScramMechanism.java │ │ │ │ │ │ ├── ScramMessages.java │ │ │ │ │ │ ├── ScramSaslClient.java │ │ │ │ │ │ ├── ScramSaslClientProvider.java │ │ │ │ │ │ ├── ScramSaslServer.java │ │ │ │ │ │ ├── ScramSaslServerProvider.java │ │ │ │ │ │ └── ScramServerCallbackHandler.java │ │ │ │ ├── ssl │ │ │ │ │ ├── BoringSslContextProvider.java │ │ │ │ │ ├── DefaultSslEngineFactory.java │ │ │ │ │ ├── SimpleSslContextProvider.java │ │ │ │ │ ├── SslContextProvider.java │ │ │ │ │ ├── SslFactory.java │ │ │ │ │ └── SslPrincipalMapper.java │ │ │ │ └── token │ │ │ │ │ └── delegation │ │ │ │ │ ├── DelegationToken.java │ │ │ │ │ ├── TokenInformation.java │ │ │ │ │ └── internals │ │ │ │ │ ├── DelegationTokenCache.java │ │ │ │ │ └── DelegationTokenCredentialCallback.java │ │ │ ├── serialization │ │ │ │ ├── ByteArrayDeserializer.java │ │ │ │ ├── ByteArraySerializer.java │ │ │ │ ├── ByteBufferDeserializer.java │ │ │ │ ├── ByteBufferSerializer.java │ │ │ │ ├── BytesDeserializer.java │ │ │ │ ├── BytesSerializer.java │ │ │ │ ├── Deserializer.java │ │ │ │ ├── DoubleDeserializer.java │ │ │ │ ├── DoubleSerializer.java │ │ │ │ ├── FloatDeserializer.java │ │ │ │ ├── FloatSerializer.java │ │ │ │ ├── IntegerDeserializer.java │ │ │ │ ├── IntegerSerializer.java │ │ │ │ ├── ListDeserializer.java │ │ │ │ ├── ListSerializer.java │ │ │ │ ├── LongDeserializer.java │ │ │ │ ├── LongSerializer.java │ │ │ │ ├── Serde.java │ │ │ │ ├── Serdes.java │ │ │ │ ├── Serializer.java │ │ │ │ ├── ShortDeserializer.java │ │ │ │ ├── ShortSerializer.java │ │ │ │ ├── StringDeserializer.java │ │ │ │ ├── StringSerializer.java │ │ │ │ ├── UUIDDeserializer.java │ │ │ │ ├── UUIDSerializer.java │ │ │ │ ├── VoidDeserializer.java │ │ │ │ └── VoidSerializer.java │ │ │ └── utils │ │ │ │ ├── AbstractIterator.java │ │ │ │ ├── AppInfoParser.java │ │ │ │ ├── BufferSupplier.java │ │ │ │ ├── ByteBufferInputStream.java │ │ │ │ ├── ByteBufferOutputStream.java │ │ │ │ ├── ByteBufferUnmapper.java │ │ │ │ ├── ByteUtils.java │ │ │ │ ├── Bytes.java │ │ │ │ ├── Checksums.java │ │ │ │ ├── ChildFirstClassLoader.java │ │ │ │ ├── CircularIterator.java │ │ │ │ ├── CloseableIterator.java │ │ │ │ ├── CollectionUtils.java │ │ │ │ ├── ConfigUtils.java │ │ │ │ ├── CopyOnWriteMap.java │ │ │ │ ├── Crc32.java │ │ │ │ ├── Crc32C.java │ │ │ │ ├── Exit.java │ │ │ │ ├── ExponentialBackoff.java │ │ │ │ ├── FixedOrderMap.java │ │ │ │ ├── FlattenedIterator.java │ │ │ │ ├── ImplicitLinkedHashCollection.java │ │ │ │ ├── ImplicitLinkedHashMultiCollection.java │ │ │ │ ├── Java.java │ │ │ │ ├── KafkaThread.java │ │ │ │ ├── LiCombinedControlTransformer.java │ │ │ │ ├── LogContext.java │ │ │ │ ├── LoggingSignalHandler.java │ │ │ │ ├── MappedIterator.java │ │ │ │ ├── OperatingSystem.java │ │ │ │ ├── PoisonPill.java │ │ │ │ ├── PrimitiveRef.java │ │ │ │ ├── ProducerIdAndEpoch.java │ │ │ │ ├── PureJavaCrc32C.java │ │ │ │ ├── Sanitizer.java │ │ │ │ ├── Scheduler.java │ │ │ │ ├── SecurityUtils.java │ │ │ │ ├── Shell.java │ │ │ │ ├── SystemScheduler.java │ │ │ │ ├── SystemTime.java │ │ │ │ ├── ThreadUtils.java │ │ │ │ ├── Time.java │ │ │ │ ├── Timer.java │ │ │ │ └── Utils.java │ │ │ └── server │ │ │ ├── authorizer │ │ │ ├── AclCreateResult.java │ │ │ ├── AclDeleteResult.java │ │ │ ├── Action.java │ │ │ ├── AuthorizableRequestContext.java │ │ │ ├── AuthorizationResult.java │ │ │ ├── Authorizer.java │ │ │ └── AuthorizerServerInfo.java │ │ │ ├── policy │ │ │ ├── AlterConfigPolicy.java │ │ │ └── CreateTopicPolicy.java │ │ │ └── quota │ │ │ ├── ClientQuotaCallback.java │ │ │ ├── ClientQuotaEntity.java │ │ │ └── ClientQuotaType.java │ └── resources │ │ ├── META-INF │ │ └── services │ │ │ └── org.apache.kafka.common.config.provider.ConfigProvider │ │ └── common │ │ └── message │ │ ├── AddOffsetsToTxnRequest.json │ │ ├── AddOffsetsToTxnResponse.json │ │ ├── AddPartitionsToTxnRequest.json │ │ ├── AddPartitionsToTxnResponse.json │ │ ├── AllocateProducerIdsRequest.json │ │ ├── AllocateProducerIdsResponse.json │ │ ├── AlterClientQuotasRequest.json │ │ ├── AlterClientQuotasResponse.json │ │ ├── AlterConfigsRequest.json │ │ ├── AlterConfigsResponse.json │ │ ├── AlterIsrRequest.json │ │ ├── AlterIsrResponse.json │ │ ├── AlterPartitionReassignmentsRequest.json │ │ ├── AlterPartitionReassignmentsResponse.json │ │ ├── AlterReplicaLogDirsRequest.json │ │ ├── AlterReplicaLogDirsResponse.json │ │ ├── AlterUserScramCredentialsRequest.json │ │ ├── AlterUserScramCredentialsResponse.json │ │ ├── ApiVersionsRequest.json │ │ ├── ApiVersionsResponse.json │ │ ├── BeginQuorumEpochRequest.json │ │ ├── BeginQuorumEpochResponse.json │ │ ├── BrokerHeartbeatRequest.json │ │ ├── BrokerHeartbeatResponse.json │ │ ├── BrokerRegistrationRequest.json │ │ ├── BrokerRegistrationResponse.json │ │ ├── ConsumerProtocolAssignment.json │ │ ├── ConsumerProtocolSubscription.json │ │ ├── ControlledShutdownRequest.json │ │ ├── ControlledShutdownResponse.json │ │ ├── CreateAclsRequest.json │ │ ├── CreateAclsResponse.json │ │ ├── CreateDelegationTokenRequest.json │ │ ├── CreateDelegationTokenResponse.json │ │ ├── CreatePartitionsRequest.json │ │ ├── CreatePartitionsResponse.json │ │ ├── CreateTopicsRequest.json │ │ ├── CreateTopicsResponse.json │ │ ├── DefaultPrincipalData.json │ │ ├── DeleteAclsRequest.json │ │ ├── DeleteAclsResponse.json │ │ ├── DeleteGroupsRequest.json │ │ ├── DeleteGroupsResponse.json │ │ ├── DeleteRecordsRequest.json │ │ ├── DeleteRecordsResponse.json │ │ ├── DeleteTopicsRequest.json │ │ ├── DeleteTopicsResponse.json │ │ ├── DescribeAclsRequest.json │ │ ├── DescribeAclsResponse.json │ │ ├── DescribeClientQuotasRequest.json │ │ ├── DescribeClientQuotasResponse.json │ │ ├── DescribeClusterRequest.json │ │ ├── DescribeClusterResponse.json │ │ ├── DescribeConfigsRequest.json │ │ ├── DescribeConfigsResponse.json │ │ ├── DescribeDelegationTokenRequest.json │ │ ├── DescribeDelegationTokenResponse.json │ │ ├── DescribeGroupsRequest.json │ │ ├── DescribeGroupsResponse.json │ │ ├── DescribeLogDirsRequest.json │ │ ├── DescribeLogDirsResponse.json │ │ ├── DescribeProducersRequest.json │ │ ├── DescribeProducersResponse.json │ │ ├── DescribeQuorumRequest.json │ │ ├── DescribeQuorumResponse.json │ │ ├── DescribeTransactionsRequest.json │ │ ├── DescribeTransactionsResponse.json │ │ ├── DescribeUserScramCredentialsRequest.json │ │ ├── DescribeUserScramCredentialsResponse.json │ │ ├── ElectLeadersRequest.json │ │ ├── ElectLeadersResponse.json │ │ ├── EndQuorumEpochRequest.json │ │ ├── EndQuorumEpochResponse.json │ │ ├── EndTxnRequest.json │ │ ├── EndTxnResponse.json │ │ ├── EnvelopeRequest.json │ │ ├── EnvelopeResponse.json │ │ ├── ExpireDelegationTokenRequest.json │ │ ├── ExpireDelegationTokenResponse.json │ │ ├── FetchRequest.json │ │ ├── FetchResponse.json │ │ ├── FetchSnapshotRequest.json │ │ ├── FetchSnapshotResponse.json │ │ ├── FindCoordinatorRequest.json │ │ ├── FindCoordinatorResponse.json │ │ ├── HeartbeatRequest.json │ │ ├── HeartbeatResponse.json │ │ ├── IncrementalAlterConfigsRequest.json │ │ ├── IncrementalAlterConfigsResponse.json │ │ ├── InitProducerIdRequest.json │ │ ├── InitProducerIdResponse.json │ │ ├── JoinGroupRequest.json │ │ ├── JoinGroupResponse.json │ │ ├── LeaderAndIsrRequest.json │ │ ├── LeaderAndIsrResponse.json │ │ ├── LeaderChangeMessage.json │ │ ├── LeaveGroupRequest.json │ │ ├── LeaveGroupResponse.json │ │ ├── LiCombinedControlRequest.json │ │ ├── LiCombinedControlResponse.json │ │ ├── LiControlledShutdownSkipSafetyCheckRequest.json │ │ ├── LiControlledShutdownSkipSafetyCheckResponse.json │ │ ├── LiCreateFederatedTopicZnodesRequest.json │ │ ├── LiCreateFederatedTopicZnodesResponse.json │ │ ├── LiDeleteFederatedTopicZnodesRequest.json │ │ ├── LiDeleteFederatedTopicZnodesResponse.json │ │ ├── LiListFederatedTopicZnodesRequest.json │ │ ├── LiListFederatedTopicZnodesResponse.json │ │ ├── LiMoveControllerRequest.json │ │ ├── LiMoveControllerResponse.json │ │ ├── ListGroupsRequest.json │ │ ├── ListGroupsResponse.json │ │ ├── ListOffsetsRequest.json │ │ ├── ListOffsetsResponse.json │ │ ├── ListPartitionReassignmentsRequest.json │ │ ├── ListPartitionReassignmentsResponse.json │ │ ├── ListTransactionsRequest.json │ │ ├── ListTransactionsResponse.json │ │ ├── MetadataRequest.json │ │ ├── MetadataResponse.json │ │ ├── OffsetCommitRequest.json │ │ ├── OffsetCommitResponse.json │ │ ├── OffsetDeleteRequest.json │ │ ├── OffsetDeleteResponse.json │ │ ├── OffsetFetchRequest.json │ │ ├── OffsetFetchResponse.json │ │ ├── OffsetForLeaderEpochRequest.json │ │ ├── OffsetForLeaderEpochResponse.json │ │ ├── ProduceRequest.json │ │ ├── ProduceResponse.json │ │ ├── README.md │ │ ├── RenewDelegationTokenRequest.json │ │ ├── RenewDelegationTokenResponse.json │ │ ├── RequestHeader.json │ │ ├── ResponseHeader.json │ │ ├── SaslAuthenticateRequest.json │ │ ├── SaslAuthenticateResponse.json │ │ ├── SaslHandshakeRequest.json │ │ ├── SaslHandshakeResponse.json │ │ ├── SnapshotFooterRecord.json │ │ ├── SnapshotHeaderRecord.json │ │ ├── StopReplicaRequest.json │ │ ├── StopReplicaResponse.json │ │ ├── SyncGroupRequest.json │ │ ├── SyncGroupResponse.json │ │ ├── TxnOffsetCommitRequest.json │ │ ├── TxnOffsetCommitResponse.json │ │ ├── UnregisterBrokerRequest.json │ │ ├── UnregisterBrokerResponse.json │ │ ├── UpdateFeaturesRequest.json │ │ ├── UpdateFeaturesResponse.json │ │ ├── UpdateMetadataRequest.json │ │ ├── UpdateMetadataResponse.json │ │ ├── VoteRequest.json │ │ ├── VoteResponse.json │ │ ├── WriteTxnMarkersRequest.json │ │ └── WriteTxnMarkersResponse.json │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── kafka │ │ ├── clients │ │ ├── AddressChangeHostResolver.java │ │ ├── ApiVersionsTest.java │ │ ├── ClientUtilsTest.java │ │ ├── ClusterConnectionStatesTest.java │ │ ├── CommonClientConfigsTest.java │ │ ├── FetchSessionHandlerTest.java │ │ ├── InFlightRequestsTest.java │ │ ├── MetadataCacheTest.java │ │ ├── MetadataTest.java │ │ ├── MockClient.java │ │ ├── NetworkClientTest.java │ │ ├── NodeApiVersionsTest.java │ │ ├── admin │ │ │ ├── AdminClientTestUtils.java │ │ │ ├── AdminClientUnitTestEnv.java │ │ │ ├── ConfigTest.java │ │ │ ├── DeleteConsumerGroupOffsetsResultTest.java │ │ │ ├── DeleteTopicsResultTest.java │ │ │ ├── DescribeUserScramCredentialsResultTest.java │ │ │ ├── KafkaAdminClientTest.java │ │ │ ├── ListTransactionsResultTest.java │ │ │ ├── MemberDescriptionTest.java │ │ │ ├── MockAdminClient.java │ │ │ ├── RemoveMembersFromConsumerGroupOptionsTest.java │ │ │ ├── RemoveMembersFromConsumerGroupResultTest.java │ │ │ ├── ScramMechanismTest.java │ │ │ ├── TopicCollectionTest.java │ │ │ └── internals │ │ │ │ ├── AbortTransactionHandlerTest.java │ │ │ │ ├── AdminApiDriverTest.java │ │ │ │ ├── AdminMetadataManagerTest.java │ │ │ │ ├── AllBrokersStrategyIntegrationTest.java │ │ │ │ ├── AllBrokersStrategyTest.java │ │ │ │ ├── AlterConsumerGroupOffsetsHandlerTest.java │ │ │ │ ├── CoordinatorStrategyTest.java │ │ │ │ ├── DeleteConsumerGroupOffsetsHandlerTest.java │ │ │ │ ├── DeleteConsumerGroupsHandlerTest.java │ │ │ │ ├── DescribeConsumerGroupsHandlerTest.java │ │ │ │ ├── DescribeProducersHandlerTest.java │ │ │ │ ├── DescribeTransactionsHandlerTest.java │ │ │ │ ├── ListConsumerGroupOffsetsHandlerTest.java │ │ │ │ ├── ListTransactionsHandlerTest.java │ │ │ │ ├── PartitionLeaderStrategyTest.java │ │ │ │ └── RemoveMembersFromConsumerGroupHandlerTest.java │ │ ├── consumer │ │ │ ├── ConsumerConfigTest.java │ │ │ ├── ConsumerGroupMetadataTest.java │ │ │ ├── ConsumerPartitionAssignorTest.java │ │ │ ├── ConsumerRecordTest.java │ │ │ ├── ConsumerRecordsTest.java │ │ │ ├── CooperativeStickyAssignorTest.java │ │ │ ├── KafkaConsumerTest.java │ │ │ ├── MockConsumerTest.java │ │ │ ├── OffsetAndMetadataTest.java │ │ │ ├── RangeAssignorTest.java │ │ │ ├── RoundRobinAssignorTest.java │ │ │ ├── StickyAssignorTest.java │ │ │ └── internals │ │ │ │ ├── AbstractCoordinatorTest.java │ │ │ │ ├── AbstractPartitionAssignorTest.java │ │ │ │ ├── AbstractStickyAssignorTest.java │ │ │ │ ├── ConsumerCoordinatorTest.java │ │ │ │ ├── ConsumerInterceptorsTest.java │ │ │ │ ├── ConsumerMetadataTest.java │ │ │ │ ├── ConsumerNetworkClientTest.java │ │ │ │ ├── ConsumerProtocolTest.java │ │ │ │ ├── CooperativeConsumerCoordinatorTest.java │ │ │ │ ├── EagerConsumerCoordinatorTest.java │ │ │ │ ├── FetcherTest.java │ │ │ │ ├── HeartbeatTest.java │ │ │ │ ├── MockPartitionAssignor.java │ │ │ │ ├── MockRebalanceListener.java │ │ │ │ ├── OffsetForLeaderEpochClientTest.java │ │ │ │ ├── RequestFutureTest.java │ │ │ │ ├── SubscriptionStateTest.java │ │ │ │ └── ThrowOnAssignmentAssignor.java │ │ └── producer │ │ │ ├── KafkaProducerTest.java │ │ │ ├── MockProducerTest.java │ │ │ ├── ProducerConfigTest.java │ │ │ ├── ProducerRecordTest.java │ │ │ ├── RecordMetadataTest.java │ │ │ ├── RecordSendTest.java │ │ │ ├── RoundRobinPartitionerTest.java │ │ │ ├── UniformStickyPartitionerTest.java │ │ │ └── internals │ │ │ ├── BufferPoolTest.java │ │ │ ├── DefaultPartitionerTest.java │ │ │ ├── FutureRecordMetadataTest.java │ │ │ ├── ProducerBatchTest.java │ │ │ ├── ProducerInterceptorsTest.java │ │ │ ├── ProducerMetadataTest.java │ │ │ ├── ProducerTestUtils.java │ │ │ ├── RecordAccumulatorTest.java │ │ │ ├── SenderTest.java │ │ │ ├── StickyPartitionCacheTest.java │ │ │ └── TransactionManagerTest.java │ │ ├── common │ │ ├── ClusterTest.java │ │ ├── KafkaFutureTest.java │ │ ├── PartitionInfoTest.java │ │ ├── TopicPartitionTest.java │ │ ├── UuidTest.java │ │ ├── acl │ │ │ ├── AclBindingTest.java │ │ │ ├── AclOperationTest.java │ │ │ ├── AclPermissionTypeTest.java │ │ │ ├── ResourcePatternFilterTest.java │ │ │ └── ResourcePatternTest.java │ │ ├── cache │ │ │ └── LRUCacheTest.java │ │ ├── compress │ │ │ └── KafkaLZ4Test.java │ │ ├── config │ │ │ ├── AbstractConfigTest.java │ │ │ ├── ConfigDefTest.java │ │ │ ├── ConfigResourceTest.java │ │ │ ├── ConfigTransformerTest.java │ │ │ ├── SaslConfigsTest.java │ │ │ └── provider │ │ │ │ ├── DirectoryConfigProviderTest.java │ │ │ │ ├── FileConfigProviderTest.java │ │ │ │ ├── MockFileConfigProvider.java │ │ │ │ └── MockVaultConfigProvider.java │ │ ├── feature │ │ │ ├── FeaturesTest.java │ │ │ ├── FinalizedVersionRangeTest.java │ │ │ └── SupportedVersionRangeTest.java │ │ ├── header │ │ │ └── internals │ │ │ │ └── RecordHeadersTest.java │ │ ├── internals │ │ │ ├── PartitionStatesTest.java │ │ │ └── TopicTest.java │ │ ├── memory │ │ │ ├── GarbageCollectedMemoryPoolTest.java │ │ │ ├── RecyclingMemoryPoolTest.java │ │ │ └── WeakMemoryPoolTest.java │ │ ├── message │ │ │ ├── ApiMessageTypeTest.java │ │ │ ├── MessageTest.java │ │ │ ├── RecordsSerdeTest.java │ │ │ └── SimpleExampleMessageTest.java │ │ ├── metrics │ │ │ ├── FakeMetricsReporter.java │ │ │ ├── JmxReporterTest.java │ │ │ ├── KafkaMbeanTest.java │ │ │ ├── KafkaMetricsContextTest.java │ │ │ ├── MetricsTest.java │ │ │ ├── SampleMetrics.java │ │ │ ├── SensorTest.java │ │ │ ├── TokenBucketTest.java │ │ │ ├── internals │ │ │ │ ├── IntGaugeSuiteTest.java │ │ │ │ └── MetricsUtilsTest.java │ │ │ └── stats │ │ │ │ ├── FrequenciesTest.java │ │ │ │ ├── HistogramTest.java │ │ │ │ └── MeterTest.java │ │ ├── network │ │ │ ├── CertStores.java │ │ │ ├── ChannelBuildersTest.java │ │ │ ├── EchoServer.java │ │ │ ├── KafkaChannelTest.java │ │ │ ├── NetworkReceiveTest.java │ │ │ ├── NetworkTestUtils.java │ │ │ ├── NioEchoServer.java │ │ │ ├── PlaintextSender.java │ │ │ ├── SaslChannelBuilderTest.java │ │ │ ├── SelectorTest.java │ │ │ ├── SslSelectorTest.java │ │ │ ├── SslSender.java │ │ │ ├── SslTransportLayerTest.java │ │ │ ├── SslTransportTls12Tls13Test.java │ │ │ ├── SslVersionsTransportLayerTest.java │ │ │ ├── Tls12SelectorTest.java │ │ │ └── Tls13SelectorTest.java │ │ ├── protocol │ │ │ ├── ApiKeysTest.java │ │ │ ├── ErrorsTest.java │ │ │ ├── MessageUtilTest.java │ │ │ ├── ProtoUtilsTest.java │ │ │ ├── SendBuilderTest.java │ │ │ └── types │ │ │ │ ├── ProtocolSerializationTest.java │ │ │ │ ├── RawTaggedFieldWriterTest.java │ │ │ │ ├── StructTest.java │ │ │ │ └── TypeTest.java │ │ ├── record │ │ │ ├── AbstractLegacyRecordBatchTest.java │ │ │ ├── BufferSupplierTest.java │ │ │ ├── ByteBufferLogInputStreamTest.java │ │ │ ├── CompressionRatioEstimatorTest.java │ │ │ ├── CompressionTypeTest.java │ │ │ ├── ControlRecordTypeTest.java │ │ │ ├── ControlRecordUtilsTest.java │ │ │ ├── DefaultRecordBatchTest.java │ │ │ ├── DefaultRecordTest.java │ │ │ ├── EndTransactionMarkerTest.java │ │ │ ├── FileLogInputStreamTest.java │ │ │ ├── FileRecordsTest.java │ │ │ ├── KafkaGzipTest.java │ │ │ ├── LazyDownConversionRecordsTest.java │ │ │ ├── LegacyRecordTest.java │ │ │ ├── MemoryRecordsBuilderTest.java │ │ │ ├── MemoryRecordsTest.java │ │ │ ├── MultiRecordsSendTest.java │ │ │ ├── RemoteLogInputStreamTest.java │ │ │ ├── SimpleLegacyRecordTest.java │ │ │ └── UnalignedFileRecordsTest.java │ │ ├── replica │ │ │ └── ReplicaSelectorTest.java │ │ ├── requests │ │ │ ├── AddPartitionsToTxnRequestTest.java │ │ │ ├── AddPartitionsToTxnResponseTest.java │ │ │ ├── AlterReplicaLogDirsRequestTest.java │ │ │ ├── AlterReplicaLogDirsResponseTest.java │ │ │ ├── ApiErrorTest.java │ │ │ ├── ApiVersionsResponseTest.java │ │ │ ├── ByteBufferChannel.java │ │ │ ├── ByteBufferChannelTest.java │ │ │ ├── ControlledShutdownRequestTest.java │ │ │ ├── CreateAclsRequestTest.java │ │ │ ├── DeleteAclsRequestTest.java │ │ │ ├── DeleteAclsResponseTest.java │ │ │ ├── DeleteGroupsResponseTest.java │ │ │ ├── DeleteTopicsRequestTest.java │ │ │ ├── DescribeAclsRequestTest.java │ │ │ ├── DescribeAclsResponseTest.java │ │ │ ├── EndTxnRequestTest.java │ │ │ ├── EndTxnResponseTest.java │ │ │ ├── EnvelopeRequestTest.java │ │ │ ├── EnvelopeResponseTest.java │ │ │ ├── FindCoordinatorRequestTest.java │ │ │ ├── HeartbeatRequestTest.java │ │ │ ├── JoinGroupRequestTest.java │ │ │ ├── LeaderAndIsrRequestTest.java │ │ │ ├── LeaderAndIsrResponseTest.java │ │ │ ├── LeaveGroupRequestTest.java │ │ │ ├── LeaveGroupResponseTest.java │ │ │ ├── ListOffsetsRequestTest.java │ │ │ ├── MetadataRequestTest.java │ │ │ ├── OffsetCommitRequestTest.java │ │ │ ├── OffsetCommitResponseTest.java │ │ │ ├── OffsetFetchRequestTest.java │ │ │ ├── OffsetFetchResponseTest.java │ │ │ ├── OffsetsForLeaderEpochRequestTest.java │ │ │ ├── ProduceRequestTest.java │ │ │ ├── ProduceResponseTest.java │ │ │ ├── RequestContextTest.java │ │ │ ├── RequestHeaderTest.java │ │ │ ├── RequestResponseTest.java │ │ │ ├── RequestTestUtils.java │ │ │ ├── StopReplicaRequestTest.java │ │ │ ├── StopReplicaResponseTest.java │ │ │ ├── SyncGroupRequestTest.java │ │ │ ├── TxnOffsetCommitRequestTest.java │ │ │ ├── TxnOffsetCommitResponseTest.java │ │ │ ├── UpdateFeaturesRequestTest.java │ │ │ ├── UpdateFeaturesResponseTest.java │ │ │ ├── UpdateMetadataRequestTest.java │ │ │ ├── WriteTxnMarkersRequestTest.java │ │ │ └── WriteTxnMarkersResponseTest.java │ │ ├── resource │ │ │ └── ResourceTypeTest.java │ │ ├── security │ │ │ ├── JaasContextTest.java │ │ │ ├── SaslExtensionsTest.java │ │ │ ├── TestSecurityConfig.java │ │ │ ├── auth │ │ │ │ ├── DefaultKafkaPrincipalBuilderTest.java │ │ │ │ └── KafkaPrincipalTest.java │ │ │ ├── authenticator │ │ │ │ ├── ClientAuthenticationFailureTest.java │ │ │ │ ├── LoginManagerTest.java │ │ │ │ ├── SaslAuthenticatorDefaultProviderTest.java │ │ │ │ ├── SaslAuthenticatorFailureDelayTest.java │ │ │ │ ├── SaslAuthenticatorFailureNoDelayTest.java │ │ │ │ ├── SaslAuthenticatorFailurePositiveDelayTest.java │ │ │ │ ├── SaslAuthenticatorOpenSSLProviderTest.java │ │ │ │ ├── SaslAuthenticatorTest.java │ │ │ │ ├── SaslServerAuthenticatorTest.java │ │ │ │ ├── TestDigestLoginModule.java │ │ │ │ └── TestJaasConfig.java │ │ │ ├── kerberos │ │ │ │ ├── KerberosNameTest.java │ │ │ │ └── KerberosRuleTest.java │ │ │ ├── oauthbearer │ │ │ │ ├── OAuthBearerExtensionsValidatorCallbackTest.java │ │ │ │ ├── OAuthBearerLoginModuleTest.java │ │ │ │ ├── OAuthBearerSaslClienCallbackHandlerTest.java │ │ │ │ ├── OAuthBearerTokenCallbackTest.java │ │ │ │ ├── OAuthBearerTokenMock.java │ │ │ │ ├── OAuthBearerValidatorCallbackTest.java │ │ │ │ └── internals │ │ │ │ │ ├── OAuthBearerClientInitialResponseTest.java │ │ │ │ │ ├── OAuthBearerSaslClientTest.java │ │ │ │ │ ├── OAuthBearerSaslServerTest.java │ │ │ │ │ ├── expiring │ │ │ │ │ ├── ExpiringCredentialRefreshConfigTest.java │ │ │ │ │ └── ExpiringCredentialRefreshingLoginTest.java │ │ │ │ │ └── unsecured │ │ │ │ │ ├── OAuthBearerScopeUtilsTest.java │ │ │ │ │ ├── OAuthBearerUnsecuredJwsTest.java │ │ │ │ │ ├── OAuthBearerUnsecuredLoginCallbackHandlerTest.java │ │ │ │ │ ├── OAuthBearerUnsecuredValidatorCallbackHandlerTest.java │ │ │ │ │ └── OAuthBearerValidationUtilsTest.java │ │ │ ├── plain │ │ │ │ └── internals │ │ │ │ │ └── PlainSaslServerTest.java │ │ │ ├── scram │ │ │ │ └── internals │ │ │ │ │ ├── ScramCredentialUtilsTest.java │ │ │ │ │ ├── ScramFormatterTest.java │ │ │ │ │ ├── ScramMessagesTest.java │ │ │ │ │ └── ScramSaslServerTest.java │ │ │ └── ssl │ │ │ │ ├── DefaultSslEngineFactoryTest.java │ │ │ │ ├── SslFactoryTest.java │ │ │ │ ├── SslPrincipalMapperTest.java │ │ │ │ ├── Tls12SslFactoryTest.java │ │ │ │ ├── Tls13SslFactoryTest.java │ │ │ │ └── mock │ │ │ │ ├── TestKeyManagerFactory.java │ │ │ │ ├── TestPlainSaslServerProvider.java │ │ │ │ ├── TestPlainSaslServerProviderCreator.java │ │ │ │ ├── TestProvider.java │ │ │ │ ├── TestProviderCreator.java │ │ │ │ ├── TestScramSaslServerProvider.java │ │ │ │ ├── TestScramSaslServerProviderCreator.java │ │ │ │ └── TestTrustManagerFactory.java │ │ ├── serialization │ │ │ ├── ListDeserializerTest.java │ │ │ ├── ListSerializerTest.java │ │ │ └── SerializationTest.java │ │ └── utils │ │ │ ├── AbstractIteratorTest.java │ │ │ ├── AppInfoParserTest.java │ │ │ ├── ByteBufferInputStreamTest.java │ │ │ ├── ByteBufferOutputStreamTest.java │ │ │ ├── ByteBufferUnmapperTest.java │ │ │ ├── ByteUtilsTest.java │ │ │ ├── BytesTest.java │ │ │ ├── ChecksumsTest.java │ │ │ ├── CircularIteratorTest.java │ │ │ ├── CollectionUtilsTest.java │ │ │ ├── ConfigUtilsTest.java │ │ │ ├── Crc32CTest.java │ │ │ ├── Crc32Test.java │ │ │ ├── ExitTest.java │ │ │ ├── ExponentialBackoffTest.java │ │ │ ├── FixedOrderMapTest.java │ │ │ ├── FlattenedIteratorTest.java │ │ │ ├── ImplicitLinkedHashCollectionTest.java │ │ │ ├── ImplicitLinkedHashMultiCollectionTest.java │ │ │ ├── JavaTest.java │ │ │ ├── LoggingSignalHandlerTest.java │ │ │ ├── MappedIteratorTest.java │ │ │ ├── MockScheduler.java │ │ │ ├── MockTime.java │ │ │ ├── MockTimeTest.java │ │ │ ├── SanitizerTest.java │ │ │ ├── SecurityUtilsTest.java │ │ │ ├── Serializer.java │ │ │ ├── ShellTest.java │ │ │ ├── SystemTimeTest.java │ │ │ ├── ThreadUtilsTest.java │ │ │ ├── TimeTest.java │ │ │ ├── TimerTest.java │ │ │ └── UtilsTest.java │ │ └── test │ │ ├── DelayedReceive.java │ │ ├── IntegrationTest.java │ │ ├── MetricsBench.java │ │ ├── Microbenchmarks.java │ │ ├── MockClusterResourceListener.java │ │ ├── MockConsumerInterceptor.java │ │ ├── MockDeserializer.java │ │ ├── MockMetricsReporter.java │ │ ├── MockPartitioner.java │ │ ├── MockProducerInterceptor.java │ │ ├── MockSelector.java │ │ ├── MockSerializer.java │ │ ├── NoRetryException.java │ │ ├── TestCondition.java │ │ ├── TestSslUtils.java │ │ ├── TestUtils.java │ │ └── ValuelessCallable.java │ └── resources │ ├── common │ └── message │ │ ├── SimpleExampleMessage.json │ │ └── SimpleRecordsMessage.json │ ├── log4j.properties │ └── serializedData │ ├── offsetAndMetadataBeforeLeaderEpoch │ ├── offsetAndMetadataWithLeaderEpoch │ └── topicPartitionSerializedfile ├── config ├── connect-console-sink.properties ├── connect-console-source.properties ├── connect-distributed.properties ├── connect-file-sink.properties ├── connect-file-source.properties ├── connect-log4j.properties ├── connect-mirror-maker.properties ├── connect-standalone.properties ├── consumer.properties ├── kraft │ ├── README.md │ ├── broker.properties │ ├── controller.properties │ └── server.properties ├── log4j.properties ├── producer.properties ├── server.properties ├── tools-log4j.properties ├── trogdor.conf └── zookeeper.properties ├── connect ├── api │ ├── .gitignore │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ └── connect │ │ │ ├── components │ │ │ └── Versioned.java │ │ │ ├── connector │ │ │ ├── ConnectRecord.java │ │ │ ├── Connector.java │ │ │ ├── ConnectorContext.java │ │ │ ├── Task.java │ │ │ └── policy │ │ │ │ ├── ConnectorClientConfigOverridePolicy.java │ │ │ │ └── ConnectorClientConfigRequest.java │ │ │ ├── data │ │ │ ├── ConnectSchema.java │ │ │ ├── Date.java │ │ │ ├── Decimal.java │ │ │ ├── Field.java │ │ │ ├── Schema.java │ │ │ ├── SchemaAndValue.java │ │ │ ├── SchemaBuilder.java │ │ │ ├── SchemaProjector.java │ │ │ ├── Struct.java │ │ │ ├── Time.java │ │ │ ├── Timestamp.java │ │ │ └── Values.java │ │ │ ├── errors │ │ │ ├── AlreadyExistsException.java │ │ │ ├── ConnectException.java │ │ │ ├── DataException.java │ │ │ ├── IllegalWorkerStateException.java │ │ │ ├── NotFoundException.java │ │ │ ├── RetriableException.java │ │ │ ├── SchemaBuilderException.java │ │ │ └── SchemaProjectorException.java │ │ │ ├── header │ │ │ ├── ConnectHeader.java │ │ │ ├── ConnectHeaders.java │ │ │ ├── Header.java │ │ │ └── Headers.java │ │ │ ├── health │ │ │ ├── AbstractState.java │ │ │ ├── ConnectClusterDetails.java │ │ │ ├── ConnectClusterState.java │ │ │ ├── ConnectorHealth.java │ │ │ ├── ConnectorState.java │ │ │ ├── ConnectorType.java │ │ │ └── TaskState.java │ │ │ ├── rest │ │ │ ├── ConnectRestExtension.java │ │ │ └── ConnectRestExtensionContext.java │ │ │ ├── sink │ │ │ ├── ErrantRecordReporter.java │ │ │ ├── SinkConnector.java │ │ │ ├── SinkConnectorContext.java │ │ │ ├── SinkRecord.java │ │ │ ├── SinkTask.java │ │ │ └── SinkTaskContext.java │ │ │ ├── source │ │ │ ├── SourceConnector.java │ │ │ ├── SourceConnectorContext.java │ │ │ ├── SourceRecord.java │ │ │ ├── SourceTask.java │ │ │ └── SourceTaskContext.java │ │ │ ├── storage │ │ │ ├── Converter.java │ │ │ ├── ConverterConfig.java │ │ │ ├── ConverterType.java │ │ │ ├── HeaderConverter.java │ │ │ ├── OffsetStorageReader.java │ │ │ ├── SimpleHeaderConverter.java │ │ │ ├── StringConverter.java │ │ │ └── StringConverterConfig.java │ │ │ ├── transforms │ │ │ ├── Transformation.java │ │ │ └── predicates │ │ │ │ └── Predicate.java │ │ │ └── util │ │ │ └── ConnectorUtils.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── connect │ │ ├── connector │ │ ├── ConnectorReconfigurationTest.java │ │ └── ConnectorTest.java │ │ ├── data │ │ ├── ConnectSchemaTest.java │ │ ├── DateTest.java │ │ ├── DecimalTest.java │ │ ├── FakeSchema.java │ │ ├── FieldTest.java │ │ ├── SchemaBuilderTest.java │ │ ├── SchemaProjectorTest.java │ │ ├── StructTest.java │ │ ├── TimeTest.java │ │ ├── TimestampTest.java │ │ └── ValuesTest.java │ │ ├── header │ │ ├── ConnectHeaderTest.java │ │ └── ConnectHeadersTest.java │ │ ├── sink │ │ ├── SinkConnectorTest.java │ │ └── SinkRecordTest.java │ │ ├── source │ │ ├── SourceConnectorTest.java │ │ └── SourceRecordTest.java │ │ ├── storage │ │ ├── ConverterTypeTest.java │ │ ├── SimpleHeaderConverterTest.java │ │ └── StringConverterTest.java │ │ └── util │ │ └── ConnectorUtilsTest.java ├── basic-auth-extension │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── kafka │ │ │ │ └── connect │ │ │ │ └── rest │ │ │ │ └── basic │ │ │ │ └── auth │ │ │ │ └── extension │ │ │ │ ├── BasicAuthSecurityRestExtension.java │ │ │ │ ├── JaasBasicAuthFilter.java │ │ │ │ └── PropertyFileLoginModule.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── org.apache.kafka.connect.rest.ConnectRestExtension │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── connect │ │ └── rest │ │ └── basic │ │ └── auth │ │ └── extension │ │ ├── BasicAuthSecurityRestExtensionTest.java │ │ └── JaasBasicAuthFilterTest.java ├── file │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ └── connect │ │ │ └── file │ │ │ ├── FileStreamSinkConnector.java │ │ │ ├── FileStreamSinkTask.java │ │ │ ├── FileStreamSourceConnector.java │ │ │ └── FileStreamSourceTask.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── connect │ │ └── file │ │ ├── FileStreamSinkConnectorTest.java │ │ ├── FileStreamSinkTaskTest.java │ │ ├── FileStreamSourceConnectorTest.java │ │ └── FileStreamSourceTaskTest.java ├── json │ ├── .gitignore │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ └── connect │ │ │ └── json │ │ │ ├── DecimalFormat.java │ │ │ ├── JsonConverter.java │ │ │ ├── JsonConverterConfig.java │ │ │ ├── JsonDeserializer.java │ │ │ ├── JsonSchema.java │ │ │ └── JsonSerializer.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ └── connect │ │ │ └── json │ │ │ ├── JsonConverterConfigTest.java │ │ │ └── JsonConverterTest.java │ │ └── resources │ │ └── connect-test.properties ├── mirror-client │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ └── connect │ │ │ └── mirror │ │ │ ├── Checkpoint.java │ │ │ ├── DefaultReplicationPolicy.java │ │ │ ├── Heartbeat.java │ │ │ ├── IdentityReplicationPolicy.java │ │ │ ├── MirrorClient.java │ │ │ ├── MirrorClientConfig.java │ │ │ ├── RemoteClusterUtils.java │ │ │ ├── ReplicationPolicy.java │ │ │ └── SourceAndTarget.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── connect │ │ └── mirror │ │ └── MirrorClientTest.java ├── mirror │ ├── README.md │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ └── connect │ │ │ └── mirror │ │ │ ├── ConfigPropertyFilter.java │ │ │ ├── DefaultConfigPropertyFilter.java │ │ │ ├── DefaultGroupFilter.java │ │ │ ├── DefaultTopicFilter.java │ │ │ ├── GroupFilter.java │ │ │ ├── MirrorCheckpointConnector.java │ │ │ ├── MirrorCheckpointTask.java │ │ │ ├── MirrorConnectorConfig.java │ │ │ ├── MirrorHeartbeatConnector.java │ │ │ ├── MirrorHeartbeatTask.java │ │ │ ├── MirrorMaker.java │ │ │ ├── MirrorMakerConfig.java │ │ │ ├── MirrorMetrics.java │ │ │ ├── MirrorSourceConnector.java │ │ │ ├── MirrorSourceTask.java │ │ │ ├── MirrorTaskConfig.java │ │ │ ├── MirrorUtils.java │ │ │ ├── OffsetSync.java │ │ │ ├── OffsetSyncStore.java │ │ │ ├── Scheduler.java │ │ │ ├── TopicFilter.java │ │ │ └── formatters │ │ │ ├── CheckpointFormatter.java │ │ │ ├── HeartbeatFormatter.java │ │ │ └── OffsetSyncFormatter.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ └── connect │ │ │ └── mirror │ │ │ ├── CheckpointTest.java │ │ │ ├── HeartbeatTest.java │ │ │ ├── MirrorCheckpointConnectorTest.java │ │ │ ├── MirrorCheckpointTaskTest.java │ │ │ ├── MirrorConnectorConfigTest.java │ │ │ ├── MirrorHeartBeatConnectorTest.java │ │ │ ├── MirrorHeartbeatTaskTest.java │ │ │ ├── MirrorMakerConfigTest.java │ │ │ ├── MirrorSourceConnectorTest.java │ │ │ ├── MirrorSourceTaskTest.java │ │ │ ├── OffsetSyncStoreTest.java │ │ │ ├── OffsetSyncTest.java │ │ │ ├── TestUtils.java │ │ │ └── integration │ │ │ ├── IdentityReplicationIntegrationTest.java │ │ │ ├── MirrorConnectorsIntegrationBaseTest.java │ │ │ ├── MirrorConnectorsIntegrationSSLTest.java │ │ │ └── MirrorConnectorsIntegrationTest.java │ │ └── resources │ │ └── log4j.properties ├── runtime │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── kafka │ │ │ │ └── connect │ │ │ │ ├── cli │ │ │ │ ├── ConnectDistributed.java │ │ │ │ └── ConnectStandalone.java │ │ │ │ ├── connector │ │ │ │ └── policy │ │ │ │ │ ├── AbstractConnectorClientConfigOverridePolicy.java │ │ │ │ │ ├── AllConnectorClientConfigOverridePolicy.java │ │ │ │ │ ├── NoneConnectorClientConfigOverridePolicy.java │ │ │ │ │ └── PrincipalConnectorClientConfigOverridePolicy.java │ │ │ │ ├── converters │ │ │ │ ├── ByteArrayConverter.java │ │ │ │ ├── DoubleConverter.java │ │ │ │ ├── FloatConverter.java │ │ │ │ ├── IntegerConverter.java │ │ │ │ ├── LongConverter.java │ │ │ │ ├── NumberConverter.java │ │ │ │ ├── NumberConverterConfig.java │ │ │ │ └── ShortConverter.java │ │ │ │ ├── runtime │ │ │ │ ├── AbstractHerder.java │ │ │ │ ├── AbstractStatus.java │ │ │ │ ├── CloseableConnectorContext.java │ │ │ │ ├── Connect.java │ │ │ │ ├── ConnectMetrics.java │ │ │ │ ├── ConnectMetricsRegistry.java │ │ │ │ ├── ConnectorConfig.java │ │ │ │ ├── ConnectorStatus.java │ │ │ │ ├── Herder.java │ │ │ │ ├── HerderConnectorContext.java │ │ │ │ ├── HerderRequest.java │ │ │ │ ├── InternalSinkRecord.java │ │ │ │ ├── PredicatedTransformation.java │ │ │ │ ├── RestartPlan.java │ │ │ │ ├── RestartRequest.java │ │ │ │ ├── SessionKey.java │ │ │ │ ├── SinkConnectorConfig.java │ │ │ │ ├── SourceConnectorConfig.java │ │ │ │ ├── SourceTaskOffsetCommitter.java │ │ │ │ ├── StateTracker.java │ │ │ │ ├── SubmittedRecords.java │ │ │ │ ├── TargetState.java │ │ │ │ ├── TaskConfig.java │ │ │ │ ├── TaskStatus.java │ │ │ │ ├── TopicCreationConfig.java │ │ │ │ ├── TopicStatus.java │ │ │ │ ├── TransformationChain.java │ │ │ │ ├── Worker.java │ │ │ │ ├── WorkerConfig.java │ │ │ │ ├── WorkerConfigTransformer.java │ │ │ │ ├── WorkerConnector.java │ │ │ │ ├── WorkerInfo.java │ │ │ │ ├── WorkerMetricsGroup.java │ │ │ │ ├── WorkerSinkTask.java │ │ │ │ ├── WorkerSinkTaskContext.java │ │ │ │ ├── WorkerSourceTask.java │ │ │ │ ├── WorkerSourceTaskContext.java │ │ │ │ ├── WorkerTask.java │ │ │ │ ├── distributed │ │ │ │ │ ├── ClusterConfigState.java │ │ │ │ │ ├── ConnectAssignor.java │ │ │ │ │ ├── ConnectProtocol.java │ │ │ │ │ ├── ConnectProtocolCompatibility.java │ │ │ │ │ ├── DistributedConfig.java │ │ │ │ │ ├── DistributedHerder.java │ │ │ │ │ ├── EagerAssignor.java │ │ │ │ │ ├── ExtendedAssignment.java │ │ │ │ │ ├── ExtendedWorkerState.java │ │ │ │ │ ├── IncrementalCooperativeAssignor.java │ │ │ │ │ ├── IncrementalCooperativeConnectProtocol.java │ │ │ │ │ ├── NotAssignedException.java │ │ │ │ │ ├── NotLeaderException.java │ │ │ │ │ ├── RebalanceNeededException.java │ │ │ │ │ ├── RequestTargetException.java │ │ │ │ │ ├── WorkerCoordinator.java │ │ │ │ │ ├── WorkerGroupMember.java │ │ │ │ │ └── WorkerRebalanceListener.java │ │ │ │ ├── errors │ │ │ │ │ ├── DeadLetterQueueReporter.java │ │ │ │ │ ├── ErrorHandlingMetrics.java │ │ │ │ │ ├── ErrorReporter.java │ │ │ │ │ ├── LogReporter.java │ │ │ │ │ ├── Operation.java │ │ │ │ │ ├── ProcessingContext.java │ │ │ │ │ ├── RetryWithToleranceOperator.java │ │ │ │ │ ├── Stage.java │ │ │ │ │ ├── ToleranceType.java │ │ │ │ │ └── WorkerErrantRecordReporter.java │ │ │ │ ├── health │ │ │ │ │ ├── ConnectClusterDetailsImpl.java │ │ │ │ │ └── ConnectClusterStateImpl.java │ │ │ │ ├── isolation │ │ │ │ │ ├── DelegatingClassLoader.java │ │ │ │ │ ├── PluginClassLoader.java │ │ │ │ │ ├── PluginDesc.java │ │ │ │ │ ├── PluginScanResult.java │ │ │ │ │ ├── PluginType.java │ │ │ │ │ ├── PluginUtils.java │ │ │ │ │ └── Plugins.java │ │ │ │ ├── rest │ │ │ │ │ ├── ConnectRestConfigurable.java │ │ │ │ │ ├── ConnectRestExtensionContextImpl.java │ │ │ │ │ ├── InternalRequestSignature.java │ │ │ │ │ ├── RestClient.java │ │ │ │ │ ├── RestServer.java │ │ │ │ │ ├── entities │ │ │ │ │ │ ├── ActiveTopicsInfo.java │ │ │ │ │ │ ├── ConfigInfo.java │ │ │ │ │ │ ├── ConfigInfos.java │ │ │ │ │ │ ├── ConfigKeyInfo.java │ │ │ │ │ │ ├── ConfigValueInfo.java │ │ │ │ │ │ ├── ConnectorInfo.java │ │ │ │ │ │ ├── ConnectorPluginInfo.java │ │ │ │ │ │ ├── ConnectorStateInfo.java │ │ │ │ │ │ ├── ConnectorType.java │ │ │ │ │ │ ├── CreateConnectorRequest.java │ │ │ │ │ │ ├── ErrorMessage.java │ │ │ │ │ │ ├── ServerInfo.java │ │ │ │ │ │ └── TaskInfo.java │ │ │ │ │ ├── errors │ │ │ │ │ │ ├── BadRequestException.java │ │ │ │ │ │ ├── ConnectExceptionMapper.java │ │ │ │ │ │ └── ConnectRestException.java │ │ │ │ │ ├── resources │ │ │ │ │ │ ├── ConnectorPluginsResource.java │ │ │ │ │ │ ├── ConnectorsResource.java │ │ │ │ │ │ ├── LoggingResource.java │ │ │ │ │ │ └── RootResource.java │ │ │ │ │ └── util │ │ │ │ │ │ └── SSLUtils.java │ │ │ │ └── standalone │ │ │ │ │ ├── StandaloneConfig.java │ │ │ │ │ └── StandaloneHerder.java │ │ │ │ ├── storage │ │ │ │ ├── CloseableOffsetStorageReader.java │ │ │ │ ├── ConfigBackingStore.java │ │ │ │ ├── FileOffsetBackingStore.java │ │ │ │ ├── KafkaConfigBackingStore.java │ │ │ │ ├── KafkaOffsetBackingStore.java │ │ │ │ ├── KafkaStatusBackingStore.java │ │ │ │ ├── MemoryConfigBackingStore.java │ │ │ │ ├── MemoryOffsetBackingStore.java │ │ │ │ ├── MemoryStatusBackingStore.java │ │ │ │ ├── OffsetBackingStore.java │ │ │ │ ├── OffsetStorageReaderImpl.java │ │ │ │ ├── OffsetStorageWriter.java │ │ │ │ ├── OffsetUtils.java │ │ │ │ └── StatusBackingStore.java │ │ │ │ ├── tools │ │ │ │ ├── MockConnector.java │ │ │ │ ├── MockSinkConnector.java │ │ │ │ ├── MockSinkTask.java │ │ │ │ ├── MockSourceConnector.java │ │ │ │ ├── MockSourceTask.java │ │ │ │ ├── PredicateDoc.java │ │ │ │ ├── SchemaSourceConnector.java │ │ │ │ ├── SchemaSourceTask.java │ │ │ │ ├── TransformationDoc.java │ │ │ │ ├── VerifiableSinkConnector.java │ │ │ │ ├── VerifiableSinkTask.java │ │ │ │ ├── VerifiableSourceConnector.java │ │ │ │ └── VerifiableSourceTask.java │ │ │ │ └── util │ │ │ │ ├── Callback.java │ │ │ │ ├── ConnectUtils.java │ │ │ │ ├── ConnectorTaskId.java │ │ │ │ ├── ConvertingFutureCallback.java │ │ │ │ ├── FutureCallback.java │ │ │ │ ├── KafkaBasedLog.java │ │ │ │ ├── LoggingContext.java │ │ │ │ ├── SafeObjectInputStream.java │ │ │ │ ├── SharedTopicAdmin.java │ │ │ │ ├── ShutdownableThread.java │ │ │ │ ├── SinkUtils.java │ │ │ │ ├── Table.java │ │ │ │ ├── TopicAdmin.java │ │ │ │ ├── TopicCreation.java │ │ │ │ └── TopicCreationGroup.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── org.apache.kafka.connect.connector.policy.ConnectorClientConfigOverridePolicy │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ └── connect │ │ │ ├── connector │ │ │ └── policy │ │ │ │ ├── BaseConnectorClientConfigOverridePolicyTest.java │ │ │ │ ├── NoneConnectorClientConfigOverridePolicyTest.java │ │ │ │ └── PrincipalConnectorClientConfigOverridePolicyTest.java │ │ │ ├── converters │ │ │ ├── ByteArrayConverterTest.java │ │ │ ├── DoubleConverterTest.java │ │ │ ├── FloatConverterTest.java │ │ │ ├── IntegerConverterTest.java │ │ │ ├── LongConverterTest.java │ │ │ ├── NumberConverterTest.java │ │ │ └── ShortConverterTest.java │ │ │ ├── integration │ │ │ ├── BlockingConnectorTest.java │ │ │ ├── ConnectIntegrationTestUtils.java │ │ │ ├── ConnectWorkerIntegrationTest.java │ │ │ ├── ConnectorClientPolicyIntegrationTest.java │ │ │ ├── ConnectorHandle.java │ │ │ ├── ConnectorRestartApiIntegrationTest.java │ │ │ ├── ConnectorTopicsIntegrationTest.java │ │ │ ├── ErrantRecordSinkConnector.java │ │ │ ├── ErrorHandlingIntegrationTest.java │ │ │ ├── ExampleConnectIntegrationTest.java │ │ │ ├── InternalTopicsIntegrationTest.java │ │ │ ├── MonitorableSinkConnector.java │ │ │ ├── MonitorableSourceConnector.java │ │ │ ├── RebalanceSourceConnectorsIntegrationTest.java │ │ │ ├── RestExtensionIntegrationTest.java │ │ │ ├── RuntimeHandles.java │ │ │ ├── SessionedProtocolIntegrationTest.java │ │ │ ├── SinkConnectorsIntegrationTest.java │ │ │ ├── SourceConnectorsIntegrationTest.java │ │ │ ├── StartAndStopCounter.java │ │ │ ├── StartAndStopCounterTest.java │ │ │ ├── StartAndStopLatch.java │ │ │ ├── StartAndStopLatchTest.java │ │ │ ├── StartsAndStops.java │ │ │ ├── TaskHandle.java │ │ │ └── TransformationIntegrationTest.java │ │ │ ├── runtime │ │ │ ├── AbstractHerderTest.java │ │ │ ├── ConnectMetricsTest.java │ │ │ ├── ConnectorConfigTest.java │ │ │ ├── ErrorHandlingTaskTest.java │ │ │ ├── MockConnectMetrics.java │ │ │ ├── PredicatedTransformationTest.java │ │ │ ├── RestartPlanTest.java │ │ │ ├── RestartRequestTest.java │ │ │ ├── SourceConnectorConfigTest.java │ │ │ ├── SourceTaskOffsetCommitterTest.java │ │ │ ├── StateTrackerTest.java │ │ │ ├── SubmittedRecordsTest.java │ │ │ ├── TestConverterWithHeaders.java │ │ │ ├── TestSinkConnector.java │ │ │ ├── TestSourceConnector.java │ │ │ ├── TransformationConfigTest.java │ │ │ ├── WorkerConfigTest.java │ │ │ ├── WorkerConfigTransformerTest.java │ │ │ ├── WorkerConnectorTest.java │ │ │ ├── WorkerMetricsGroupTest.java │ │ │ ├── WorkerSinkTaskTest.java │ │ │ ├── WorkerSinkTaskThreadedTest.java │ │ │ ├── WorkerSourceTaskTest.java │ │ │ ├── WorkerTaskTest.java │ │ │ ├── WorkerTest.java │ │ │ ├── WorkerTestUtils.java │ │ │ ├── distributed │ │ │ │ ├── ConnectProtocolCompatibilityTest.java │ │ │ │ ├── DistributedConfigTest.java │ │ │ │ ├── DistributedHerderTest.java │ │ │ │ ├── IncrementalCooperativeAssignorTest.java │ │ │ │ ├── WorkerCoordinatorIncrementalTest.java │ │ │ │ ├── WorkerCoordinatorTest.java │ │ │ │ └── WorkerGroupMemberTest.java │ │ │ ├── errors │ │ │ │ ├── ErrorReporterTest.java │ │ │ │ ├── ProcessingContextTest.java │ │ │ │ ├── RetryWithToleranceOperatorTest.java │ │ │ │ └── WorkerErrantRecordReporterTest.java │ │ │ ├── health │ │ │ │ └── ConnectClusterStateImplTest.java │ │ │ ├── isolation │ │ │ │ ├── DelegatingClassLoaderTest.java │ │ │ │ ├── PluginDescTest.java │ │ │ │ ├── PluginUtilsTest.java │ │ │ │ ├── PluginsTest.java │ │ │ │ ├── SamplingTestPlugin.java │ │ │ │ ├── SynchronizationTest.java │ │ │ │ └── TestPlugins.java │ │ │ ├── rest │ │ │ │ ├── InternalRequestSignatureTest.java │ │ │ │ ├── RestServerTest.java │ │ │ │ ├── entities │ │ │ │ │ └── ConnectorTypeTest.java │ │ │ │ ├── resources │ │ │ │ │ ├── ConnectorPluginsResourceTest.java │ │ │ │ │ ├── ConnectorsResourceTest.java │ │ │ │ │ ├── LoggingResourceTest.java │ │ │ │ │ └── RootResourceTest.java │ │ │ │ └── util │ │ │ │ │ └── SSLUtilsTest.java │ │ │ └── standalone │ │ │ │ ├── StandaloneConfigTest.java │ │ │ │ └── StandaloneHerderTest.java │ │ │ ├── storage │ │ │ ├── FileOffsetBackingStoreTest.java │ │ │ ├── KafkaConfigBackingStoreTest.java │ │ │ ├── KafkaOffsetBackingStoreTest.java │ │ │ ├── KafkaStatusBackingStoreFormatTest.java │ │ │ ├── KafkaStatusBackingStoreTest.java │ │ │ ├── MemoryStatusBackingStoreTest.java │ │ │ └── OffsetStorageWriterTest.java │ │ │ └── util │ │ │ ├── ByteArrayProducerRecordEquals.java │ │ │ ├── ConnectUtilsTest.java │ │ │ ├── ConvertingFutureCallbackTest.java │ │ │ ├── KafkaBasedLogTest.java │ │ │ ├── LoggingContextTest.java │ │ │ ├── ParameterizedTest.java │ │ │ ├── SharedTopicAdminTest.java │ │ │ ├── ShutdownableThreadTest.java │ │ │ ├── TableTest.java │ │ │ ├── TestBackgroundThreadExceptionHandler.java │ │ │ ├── TestFuture.java │ │ │ ├── ThreadedTest.java │ │ │ ├── TopicAdminTest.java │ │ │ ├── TopicCreationTest.java │ │ │ └── clusters │ │ │ ├── EmbeddedConnectCluster.java │ │ │ ├── EmbeddedConnectClusterAssertions.java │ │ │ ├── EmbeddedKafkaCluster.java │ │ │ ├── UngracefulShutdownException.java │ │ │ └── WorkerHandle.java │ │ └── resources │ │ ├── META-INF │ │ └── services │ │ │ └── org.apache.kafka.connect.rest.ConnectRestExtension │ │ ├── log4j.properties │ │ └── test-plugins │ │ ├── aliased-static-field │ │ └── test │ │ │ └── plugins │ │ │ └── AliasedStaticField.java │ │ ├── always-throw-exception │ │ └── test │ │ │ └── plugins │ │ │ └── AlwaysThrowException.java │ │ ├── sampling-config-provider │ │ ├── META-INF │ │ │ └── services │ │ │ │ └── org.apache.kafka.common.config.provider.ConfigProvider │ │ └── test │ │ │ └── plugins │ │ │ └── SamplingConfigProvider.java │ │ ├── sampling-configurable │ │ └── test │ │ │ └── plugins │ │ │ └── SamplingConfigurable.java │ │ ├── sampling-converter │ │ └── test │ │ │ └── plugins │ │ │ └── SamplingConverter.java │ │ ├── sampling-header-converter │ │ └── test │ │ │ └── plugins │ │ │ └── SamplingHeaderConverter.java │ │ └── service-loader │ │ ├── META-INF │ │ └── services │ │ │ └── test.plugins.ServiceLoadedClass │ │ └── test │ │ └── plugins │ │ ├── ServiceLoadedClass.java │ │ ├── ServiceLoadedSubclass.java │ │ └── ServiceLoaderPlugin.java └── transforms │ └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── connect │ │ └── transforms │ │ ├── Cast.java │ │ ├── DropHeaders.java │ │ ├── ExtractField.java │ │ ├── Filter.java │ │ ├── Flatten.java │ │ ├── HeaderFrom.java │ │ ├── HoistField.java │ │ ├── InsertField.java │ │ ├── InsertHeader.java │ │ ├── MaskField.java │ │ ├── RegexRouter.java │ │ ├── ReplaceField.java │ │ ├── SetSchemaMetadata.java │ │ ├── TimestampConverter.java │ │ ├── TimestampRouter.java │ │ ├── ValueToKey.java │ │ ├── predicates │ │ ├── HasHeaderKey.java │ │ ├── RecordIsTombstone.java │ │ └── TopicNameMatches.java │ │ └── util │ │ ├── NonEmptyListValidator.java │ │ ├── RegexValidator.java │ │ ├── Requirements.java │ │ ├── SchemaUtil.java │ │ └── SimpleConfig.java │ └── test │ └── java │ └── org │ └── apache │ └── kafka │ └── connect │ └── transforms │ ├── CastTest.java │ ├── DropHeadersTest.java │ ├── ExtractFieldTest.java │ ├── FlattenTest.java │ ├── HeaderFromTest.java │ ├── HoistFieldTest.java │ ├── InsertFieldTest.java │ ├── InsertHeaderTest.java │ ├── MaskFieldTest.java │ ├── RegexRouterTest.java │ ├── ReplaceFieldTest.java │ ├── SetSchemaMetadataTest.java │ ├── TimestampConverterTest.java │ ├── TimestampRouterTest.java │ ├── ValueToKeyTest.java │ ├── predicates │ ├── HasHeaderKeyTest.java │ └── TopicNameMatchesTest.java │ └── util │ └── NonEmptyListValidatorTest.java ├── core ├── .gitignore └── src │ ├── main │ ├── java │ │ └── kafka │ │ │ ├── admin │ │ │ └── RackAwareReplicaAssignmentRackIdMapper.java │ │ │ └── metrics │ │ │ ├── FilteringJmxReporter.java │ │ │ └── KafkaYammerMetrics.java │ ├── resources │ │ └── common │ │ │ └── message │ │ │ ├── GroupMetadataKey.json │ │ │ ├── GroupMetadataValue.json │ │ │ ├── OffsetCommitKey.json │ │ │ ├── OffsetCommitValue.json │ │ │ ├── TransactionLogKey.json │ │ │ └── TransactionLogValue.json │ └── scala │ │ ├── kafka │ │ ├── Kafka.scala │ │ ├── admin │ │ │ ├── AclCommand.scala │ │ │ ├── AdminOperationException.scala │ │ │ ├── AdminUtils.scala │ │ │ ├── BrokerApiVersionsCommand.scala │ │ │ ├── BrokerMetadata.scala │ │ │ ├── ConfigCommand.scala │ │ │ ├── ConsumerGroupCommand.scala │ │ │ ├── DelegationTokenCommand.scala │ │ │ ├── DeleteRecordsCommand.scala │ │ │ ├── FeatureCommand.scala │ │ │ ├── LeaderElectionCommand.scala │ │ │ ├── LiClusterCommand.scala │ │ │ ├── LogDirsCommand.scala │ │ │ ├── RackAwareMode.scala │ │ │ ├── ReassignPartitionsCommand.scala │ │ │ ├── RecommendedLeaderElectionCommand.scala │ │ │ ├── SkipShutdownSafetyCheckCommand.scala │ │ │ ├── TopicCommand.scala │ │ │ └── ZkSecurityMigrator.scala │ │ ├── api │ │ │ ├── ApiUtils.scala │ │ │ ├── ApiVersion.scala │ │ │ ├── LeaderAndIsr.scala │ │ │ ├── Request.scala │ │ │ └── package.scala │ │ ├── cluster │ │ │ ├── Broker.scala │ │ │ ├── BrokerEndPoint.scala │ │ │ ├── EndPoint.scala │ │ │ ├── Partition.scala │ │ │ └── Replica.scala │ │ ├── common │ │ │ ├── AdminCommandFailedException.scala │ │ │ ├── BaseEnum.scala │ │ │ ├── BrokerEndPointNotAvailableException.scala │ │ │ ├── ClientIdAndBroker.scala │ │ │ ├── Config.scala │ │ │ ├── GenerateBrokerIdException.scala │ │ │ ├── InconsistentBrokerIdException.scala │ │ │ ├── InconsistentBrokerMetadataException.scala │ │ │ ├── InconsistentClusterIdException.scala │ │ │ ├── InconsistentNodeIdException.scala │ │ │ ├── IndexOffsetOverflowException.scala │ │ │ ├── InterBrokerSendThread.scala │ │ │ ├── KafkaException.scala │ │ │ ├── LogCleaningAbortedException.scala │ │ │ ├── LogSegmentOffsetOverflowException.scala │ │ │ ├── LongRef.scala │ │ │ ├── MessageReader.scala │ │ │ ├── OffsetAndMetadata.scala │ │ │ ├── OffsetsOutOfOrderException.scala │ │ │ ├── RecordValidationException.scala │ │ │ ├── StateChangeFailedException.scala │ │ │ ├── ThreadShutdownException.scala │ │ │ ├── TopicAlreadyMarkedForDeletionException.scala │ │ │ ├── UnexpectedAppendOffsetException.scala │ │ │ ├── UnknownCodecException.scala │ │ │ └── ZkNodeChangeNotificationListener.scala │ │ ├── consumer │ │ │ └── BaseConsumerRecord.scala │ │ ├── controller │ │ │ ├── ControllerChannelManager.scala │ │ │ ├── ControllerContext.scala │ │ │ ├── ControllerEventManager.scala │ │ │ ├── ControllerRequestMerger.scala │ │ │ ├── ControllerState.scala │ │ │ ├── DelayedElectionManager.scala │ │ │ ├── Election.scala │ │ │ ├── KafkaController.scala │ │ │ ├── PartitionStateMachine.scala │ │ │ ├── ReplicaStateMachine.scala │ │ │ ├── StateChangeLogger.scala │ │ │ └── TopicDeletionManager.scala │ │ ├── coordinator │ │ │ ├── group │ │ │ │ ├── DelayedHeartbeat.scala │ │ │ │ ├── DelayedJoin.scala │ │ │ │ ├── DelayedRebalance.scala │ │ │ │ ├── DelayedSync.scala │ │ │ │ ├── GroupCoordinator.scala │ │ │ │ ├── GroupMetadata.scala │ │ │ │ ├── GroupMetadataManager.scala │ │ │ │ ├── MemberMetadata.scala │ │ │ │ └── OffsetConfig.scala │ │ │ └── transaction │ │ │ │ ├── ProducerIdManager.scala │ │ │ │ ├── TransactionCoordinator.scala │ │ │ │ ├── TransactionLog.scala │ │ │ │ ├── TransactionMarkerChannelManager.scala │ │ │ │ ├── TransactionMarkerRequestCompletionHandler.scala │ │ │ │ ├── TransactionMetadata.scala │ │ │ │ └── TransactionStateManager.scala │ │ ├── log │ │ │ ├── AbstractIndex.scala │ │ │ ├── CleanableIndex.scala │ │ │ ├── CleanerConfig.scala │ │ │ ├── CorruptIndexException.scala │ │ │ ├── IndexEntry.scala │ │ │ ├── LazyIndex.scala │ │ │ ├── Log.scala │ │ │ ├── LogCleaner.scala │ │ │ ├── LogCleanerManager.scala │ │ │ ├── LogConfig.scala │ │ │ ├── LogLoader.scala │ │ │ ├── LogManager.scala │ │ │ ├── LogSegment.scala │ │ │ ├── LogSegments.scala │ │ │ ├── LogValidator.scala │ │ │ ├── OffsetIndex.scala │ │ │ ├── OffsetMap.scala │ │ │ ├── ProducerStateManager.scala │ │ │ ├── TimeIndex.scala │ │ │ ├── TransactionIndex.scala │ │ │ ├── package.html │ │ │ └── remote │ │ │ │ ├── ClassLoaderAwareRemoteStorageManager.scala │ │ │ │ ├── RemoteIndexCache.scala │ │ │ │ ├── RemoteLogManager.scala │ │ │ │ ├── RemoteLogReader.scala │ │ │ │ └── RemoteStorageThreadPool.scala │ │ ├── message │ │ │ └── CompressionCodec.scala │ │ ├── metrics │ │ │ ├── KafkaCSVMetricsReporter.scala │ │ │ ├── KafkaMetricsConfig.scala │ │ │ ├── KafkaMetricsGroup.scala │ │ │ ├── KafkaMetricsReporter.scala │ │ │ ├── KafkaTimer.scala │ │ │ └── LinuxIoMetricsCollector.scala │ │ ├── network │ │ │ ├── RequestChannel.scala │ │ │ ├── RequestConvertToJson.scala │ │ │ ├── SocketServer.scala │ │ │ └── package.html │ │ ├── raft │ │ │ ├── KafkaMetadataLog.scala │ │ │ ├── KafkaNetworkChannel.scala │ │ │ ├── RaftManager.scala │ │ │ ├── SegmentPosition.scala │ │ │ └── TimingWheelExpirationService.scala │ │ ├── security │ │ │ ├── CredentialProvider.scala │ │ │ └── authorizer │ │ │ │ ├── AclAuthorizer.scala │ │ │ │ ├── AclEntry.scala │ │ │ │ └── AuthorizerUtils.scala │ │ ├── serializer │ │ │ └── Decoder.scala │ │ ├── server │ │ │ ├── AbstractAsyncFetcher.scala │ │ │ ├── AbstractFetcherManager.scala │ │ │ ├── AbstractFetcherThread.scala │ │ │ ├── AclApis.scala │ │ │ ├── ActionQueue.scala │ │ │ ├── AlterIsrManager.scala │ │ │ ├── ApiVersionManager.scala │ │ │ ├── AsyncAbstractFetcherManager.scala │ │ │ ├── AsyncReplicaFetcher.scala │ │ │ ├── AsyncReplicaFetcherManager.scala │ │ │ ├── AuthHelper.scala │ │ │ ├── AutoTopicCreationManager.scala │ │ │ ├── BrokerFeatures.scala │ │ │ ├── BrokerLifecycleManager.scala │ │ │ ├── BrokerMetadataCheckpoint.scala │ │ │ ├── BrokerServer.scala │ │ │ ├── BrokerToControllerChannelManager.scala │ │ │ ├── BrokerToControllerRequestManager.scala │ │ │ ├── ClientQuotaManager.scala │ │ │ ├── ClientRequestQuotaManager.scala │ │ │ ├── ConfigHandler.scala │ │ │ ├── ConfigHelper.scala │ │ │ ├── ControllerApis.scala │ │ │ ├── ControllerMutationQuotaManager.scala │ │ │ ├── ControllerServer.scala │ │ │ ├── DelayedCreatePartitions.scala │ │ │ ├── DelayedDeleteRecords.scala │ │ │ ├── DelayedDeleteTopics.scala │ │ │ ├── DelayedElectLeader.scala │ │ │ ├── DelayedFetch.scala │ │ │ ├── DelayedFuture.scala │ │ │ ├── DelayedOperation.scala │ │ │ ├── DelayedOperationKey.scala │ │ │ ├── DelayedProduce.scala │ │ │ ├── DelayedRemoteFetch.scala │ │ │ ├── DelegationTokenManager.scala │ │ │ ├── DynamicBrokerConfig.scala │ │ │ ├── DynamicConfig.scala │ │ │ ├── DynamicConfigManager.scala │ │ │ ├── EnvelopeUtils.scala │ │ │ ├── FetchDataInfo.scala │ │ │ ├── FetchSession.scala │ │ │ ├── FetcherEventBus.scala │ │ │ ├── FetcherEventManager.scala │ │ │ ├── FetcherManagerTrait.scala │ │ │ ├── FetcherState.scala │ │ │ ├── FetcherTrait.scala │ │ │ ├── FinalizedFeatureCache.scala │ │ │ ├── FinalizedFeatureChangeListener.scala │ │ │ ├── ForwardingManager.scala │ │ │ ├── GlobalConfig.scala │ │ │ ├── KafkaActions.scala │ │ │ ├── KafkaApis.scala │ │ │ ├── KafkaBroker.scala │ │ │ ├── KafkaConfig.scala │ │ │ ├── KafkaRaftServer.scala │ │ │ ├── KafkaRequestHandler.scala │ │ │ ├── KafkaServer.scala │ │ │ ├── LiCreateTopicPolicy.scala │ │ │ ├── ListOffsetsRequestInstrumentation.scala │ │ │ ├── LogDirFailureChannel.scala │ │ │ ├── LogOffsetMetadata.scala │ │ │ ├── MetadataCache.scala │ │ │ ├── MetadataSupport.scala │ │ │ ├── NoOpObserver.scala │ │ │ ├── NoOpQuotaV2Handler.scala │ │ │ ├── Observer.scala │ │ │ ├── PartitionMetadataFile.scala │ │ │ ├── QuotaFactory.scala │ │ │ ├── QuotaV2Handler.scala │ │ │ ├── ReplicaAlterLogDirsManager.scala │ │ │ ├── ReplicaAlterLogDirsThread.scala │ │ │ ├── ReplicaFetcherBlockingSend.scala │ │ │ ├── ReplicaFetcherManager.scala │ │ │ ├── ReplicaFetcherThread.scala │ │ │ ├── ReplicaManager.scala │ │ │ ├── ReplicationQuotaManager.scala │ │ │ ├── RequestHandlerHelper.scala │ │ │ ├── RequestLocal.scala │ │ │ ├── SensorAccess.scala │ │ │ ├── Server.scala │ │ │ ├── ThrottledChannel.scala │ │ │ ├── TransferLeaderManager.scala │ │ │ ├── ZkAdminManager.scala │ │ │ ├── ZkIsrManager.scala │ │ │ ├── checkpoints │ │ │ │ ├── CheckpointFile.scala │ │ │ │ ├── LeaderEpochCheckpointFile.scala │ │ │ │ └── OffsetCheckpointFile.scala │ │ │ ├── epoch │ │ │ │ └── LeaderEpochFileCache.scala │ │ │ ├── instrumentation │ │ │ │ └── ProduceRequestInstrumentation.scala │ │ │ ├── metadata │ │ │ │ ├── BrokerMetadataListener.scala │ │ │ │ ├── BrokerMetadataPublisher.scala │ │ │ │ ├── BrokerMetadataSnapshotter.scala │ │ │ │ ├── ClientQuotaMetadataManager.scala │ │ │ │ ├── ConfigRepository.scala │ │ │ │ ├── KRaftMetadataCache.scala │ │ │ │ ├── MetadataPublisher.scala │ │ │ │ ├── MetadataSnapshotter.scala │ │ │ │ ├── ZkConfigRepository.scala │ │ │ │ └── ZkMetadataCache.scala │ │ │ └── package.html │ │ ├── tools │ │ │ ├── ClusterTool.scala │ │ │ ├── ConsoleConsumer.scala │ │ │ ├── ConsoleProducer.scala │ │ │ ├── ConsumerPerformance.scala │ │ │ ├── DumpLogSegments.scala │ │ │ ├── EndToEndLatency.scala │ │ │ ├── GetOffsetShell.scala │ │ │ ├── JmxTool.scala │ │ │ ├── MirrorMaker.scala │ │ │ ├── PerfConfig.scala │ │ │ ├── ReplicaVerificationTool.scala │ │ │ ├── StateChangeLogMerger.scala │ │ │ ├── StorageTool.scala │ │ │ ├── StreamsResetter.java │ │ │ ├── TerseFailure.scala │ │ │ ├── TestRaftRequestHandler.scala │ │ │ └── TestRaftServer.scala │ │ ├── utils │ │ │ ├── Annotations.scala │ │ │ ├── CommandDefaultOptions.scala │ │ │ ├── CommandLineUtils.scala │ │ │ ├── CoreUtils.scala │ │ │ ├── DelayedItem.scala │ │ │ ├── Exit.scala │ │ │ ├── FileLock.scala │ │ │ ├── Implicits.scala │ │ │ ├── Json.scala │ │ │ ├── KafkaScheduler.scala │ │ │ ├── LiDecomposedControlRequest.scala │ │ │ ├── LiDecomposedControlRequestUtils.scala │ │ │ ├── LiDecomposedControlResponse.scala │ │ │ ├── LiDecomposedControlResponseUtils.scala │ │ │ ├── Log4jController.scala │ │ │ ├── Logging.scala │ │ │ ├── Mx4jLoader.scala │ │ │ ├── NotNothing.scala │ │ │ ├── PasswordEncoder.scala │ │ │ ├── Pool.scala │ │ │ ├── QuotaUtils.scala │ │ │ ├── ReplicationUtils.scala │ │ │ ├── ShutdownableThread.scala │ │ │ ├── Throttler.scala │ │ │ ├── ToolsUtils.scala │ │ │ ├── TopicFilter.scala │ │ │ ├── VerifiableProperties.scala │ │ │ ├── VersionInfo.scala │ │ │ ├── json │ │ │ │ ├── DecodeJson.scala │ │ │ │ ├── JsonArray.scala │ │ │ │ ├── JsonObject.scala │ │ │ │ └── JsonValue.scala │ │ │ └── timer │ │ │ │ ├── Timer.scala │ │ │ │ ├── TimerTask.scala │ │ │ │ ├── TimerTaskList.scala │ │ │ │ └── TimingWheel.scala │ │ ├── zk │ │ │ ├── AdminZkClient.scala │ │ │ ├── KafkaZkClient.scala │ │ │ ├── ZkData.scala │ │ │ └── ZkSecurityMigratorUtils.scala │ │ └── zookeeper │ │ │ └── ZooKeeperClient.scala │ │ └── org │ │ └── apache │ │ └── zookeeper │ │ └── ZooKeeperMainWithTlsSupportForKafka.scala │ └── test │ ├── java │ └── kafka │ │ ├── admin │ │ └── IgnorePrefixRackIdMapper.java │ │ ├── test │ │ ├── ClusterConfig.java │ │ ├── ClusterGenerator.java │ │ ├── ClusterInstance.java │ │ ├── ClusterTestExtensionsTest.java │ │ ├── MockController.java │ │ ├── annotation │ │ │ ├── AutoStart.java │ │ │ ├── ClusterConfigProperty.java │ │ │ ├── ClusterTemplate.java │ │ │ ├── ClusterTest.java │ │ │ ├── ClusterTestDefaults.java │ │ │ ├── ClusterTests.java │ │ │ └── Type.java │ │ └── junit │ │ │ ├── ClusterInstanceParameterResolver.java │ │ │ ├── ClusterTestExtensions.java │ │ │ ├── GenericParameterResolver.java │ │ │ ├── README.md │ │ │ ├── RaftClusterInvocationContext.java │ │ │ └── ZkClusterInvocationContext.java │ │ └── testkit │ │ ├── BrokerNode.java │ │ ├── ControllerNode.java │ │ ├── KafkaClusterTestKit.java │ │ ├── TestKitNode.java │ │ └── TestKitNodes.java │ ├── resources │ ├── log4j.properties │ ├── minikdc-krb5.conf │ └── minikdc.ldiff │ └── scala │ ├── integration │ └── kafka │ │ ├── admin │ │ ├── BrokerApiVersionsCommandTest.scala │ │ ├── ListOffsetsIntegrationTest.scala │ │ └── ReassignPartitionsIntegrationTest.scala │ │ ├── api │ │ ├── AbstractConsumerTest.scala │ │ ├── AdminClientWithPoliciesIntegrationTest.scala │ │ ├── AuthorizerIntegrationTest.scala │ │ ├── BaseAdminIntegrationTest.scala │ │ ├── BaseConsumerTest.scala │ │ ├── BaseProducerSendTest.scala │ │ ├── BaseQuotaTest.scala │ │ ├── ClientIdQuotaTest.scala │ │ ├── ConsumerBounceTest.scala │ │ ├── ConsumerTopicCreationTest.scala │ │ ├── ConsumerWithLegacyMessageFormatIntegrationTest.scala │ │ ├── CorruptedBrokersTest.scala │ │ ├── CustomQuotaCallbackTest.scala │ │ ├── DelegationTokenEndToEndAuthorizationTest.scala │ │ ├── DescribeAuthorizedOperationsTest.scala │ │ ├── DropCorruptedFilesTest.scala │ │ ├── EndToEndAuthorizationTest.scala │ │ ├── EndToEndClusterIdTest.scala │ │ ├── FixedPortTestUtils.scala │ │ ├── GroupAuthorizerIntegrationTest.scala │ │ ├── GroupCoordinatorIntegrationTest.scala │ │ ├── GroupEndToEndAuthorizationTest.scala │ │ ├── IntegrationTestHarness.scala │ │ ├── LiCombinedControlRequestTest.scala │ │ ├── LogAppendTimeTest.scala │ │ ├── MetricsTest.scala │ │ ├── MultiBrokerMetricsTest.scala │ │ ├── MultiClusterAbstractConsumerTest.scala │ │ ├── MultiClusterIntegrationTestHarness.scala │ │ ├── ParallelControllerStartupTest.scala │ │ ├── PlaintextAdminIntegrationTest.scala │ │ ├── PlaintextConsumerTest.scala │ │ ├── PlaintextEndToEndAuthorizationTest.scala │ │ ├── PlaintextProducerSendTest.scala │ │ ├── ProducerCompressionTest.scala │ │ ├── ProducerFailureHandlingTest.scala │ │ ├── ProducerSendWhileDeletionTest.scala │ │ ├── ProxyBasedFederationTest.scala │ │ ├── QuotaMetricsTest.scala │ │ ├── RackAwareAutoTopicCreationTest.scala │ │ ├── RackAwareReplicaAssignmentRackIdMapperTest.scala │ │ ├── RecordHeaderProducerSendTest.scala │ │ ├── SaslClientsWithInvalidCredentialsTest.scala │ │ ├── SaslEndToEndAuthorizationTest.scala │ │ ├── SaslGssapiSslEndToEndAuthorizationTest.scala │ │ ├── SaslMultiMechanismConsumerTest.scala │ │ ├── SaslOAuthBearerSslEndToEndAuthorizationTest.scala │ │ ├── SaslPlainPlaintextConsumerTest.scala │ │ ├── SaslPlainSslEndToEndAuthorizationTest.scala │ │ ├── SaslPlaintextConsumerTest.scala │ │ ├── SaslScramSslEndToEndAuthorizationTest.scala │ │ ├── SaslSetup.scala │ │ ├── SaslSslAdminIntegrationTest.scala │ │ ├── SaslSslConsumerTest.scala │ │ ├── SslAdminIntegrationTest.scala │ │ ├── SslConsumerTest.scala │ │ ├── SslEndToEndAuthorizationTest.scala │ │ ├── SslProducerSendTest.scala │ │ ├── TransactionsBounceTest.scala │ │ ├── TransactionsExpirationTest.scala │ │ ├── TransactionsTest.scala │ │ ├── TransactionsWithMaxInFlightOneTest.scala │ │ ├── UserClientIdQuotaTest.scala │ │ └── UserQuotaTest.scala │ │ ├── coordinator │ │ └── transaction │ │ │ └── ProducerIdsIntegrationTest.scala │ │ ├── network │ │ └── DynamicConnectionQuotaTest.scala │ │ ├── server │ │ ├── DelayedFetchTest.scala │ │ ├── DynamicBrokerReconfigurationTest.scala │ │ ├── FetcherEventManagerTest.scala │ │ ├── GssapiAuthenticationTest.scala │ │ ├── IntegrationTestUtils.scala │ │ ├── KRaftClusterTest.scala │ │ ├── MaintenanceBrokerTest.scala │ │ ├── MultipleListenersWithAdditionalJaasContextTest.scala │ │ ├── MultipleListenersWithDefaultJaasContextTest.scala │ │ ├── MultipleListenersWithSameSecurityProtocolBaseTest.scala │ │ ├── PreferredControllerTest.scala │ │ ├── RaftClusterSnapshotTest.scala │ │ └── ScramServerStartupTest.scala │ │ └── tools │ │ ├── MaintenanceBrokerTestUtils.scala │ │ └── MirrorMakerIntegrationTest.scala │ ├── kafka │ ├── common │ │ └── InterBrokerSendThreadTest.scala │ ├── metrics │ │ └── LinuxIoMetricsCollectorTest.scala │ ├── raft │ │ └── KafkaMetadataLogTest.scala │ ├── security │ │ └── minikdc │ │ │ ├── MiniKdc.scala │ │ │ └── MiniKdcTest.scala │ ├── server │ │ ├── BrokerMetadataCheckpointTest.scala │ │ ├── BrokerToControllerRequestThreadTest.scala │ │ └── metadata │ │ │ └── MockConfigRepository.scala │ ├── tools │ │ ├── CustomDeserializerTest.scala │ │ ├── DefaultMessageFormatterTest.scala │ │ ├── GetOffsetShellParsingTest.scala │ │ ├── GetOffsetShellTest.scala │ │ ├── LogCompactionTester.scala │ │ └── ReplicaVerificationToolTest.scala │ ├── utils │ │ ├── ExitTest.scala │ │ ├── LoggingTest.scala │ │ └── ToolsUtilsTest.scala │ └── zk │ │ ├── ExtendedAclStoreTest.scala │ │ ├── FeatureZNodeTest.scala │ │ └── LiteralAclStoreTest.scala │ ├── other │ ├── kafka.log4j.properties │ └── kafka │ │ ├── ReplicationQuotasTestRig.scala │ │ ├── StressTestLog.scala │ │ ├── TestLinearWriteSpeed.scala │ │ ├── TestPurgatoryPerformance.scala │ │ └── TestTruncate.scala │ └── unit │ └── kafka │ ├── KafkaConfigTest.scala │ ├── admin │ ├── AclCommandTest.scala │ ├── AddPartitionsTest.scala │ ├── AdminRackAwareTest.scala │ ├── ConfigCommandTest.scala │ ├── ConsumerGroupCommandTest.scala │ ├── ConsumerGroupServiceTest.scala │ ├── DelegationTokenCommandTest.scala │ ├── DeleteConsumerGroupsTest.scala │ ├── DeleteOffsetsConsumerGroupCommandIntegrationTest.scala │ ├── DeleteTopicTest.scala │ ├── DescribeConsumerGroupTest.scala │ ├── FeatureCommandTest.scala │ ├── LeaderElectionCommandTest.scala │ ├── ListConsumerGroupTest.scala │ ├── LogDirsCommandTest.scala │ ├── RackAwareTest.scala │ ├── ReassignPartitionsCommandArgsTest.scala │ ├── ReassignPartitionsUnitTest.scala │ ├── ReplicationQuotaUtils.scala │ ├── ResetConsumerGroupOffsetTest.scala │ ├── TopicCommandIntegrationTest.scala │ ├── TopicCommandTest.scala │ └── UserScramCredentialsCommandTest.scala │ ├── api │ ├── ApiUtilsTest.scala │ └── ApiVersionTest.scala │ ├── cluster │ ├── AbstractPartitionTest.scala │ ├── AssignmentStateTest.scala │ ├── BrokerEndPointTest.scala │ ├── PartitionLockTest.scala │ ├── PartitionTest.scala │ ├── PartitionWithLegacyMessageFormatTest.scala │ └── ReplicaTest.scala │ ├── common │ └── ZkNodeChangeNotificationListenerTest.scala │ ├── controller │ ├── ControllerChannelManagerTest.scala │ ├── ControllerContextTest.scala │ ├── ControllerEventManagerTest.scala │ ├── ControllerFailoverTest.scala │ ├── ControllerIntegrationTest.scala │ ├── ControllerRequestMergerTest.scala │ ├── DelayedElectionManagerTest.scala │ ├── MockPartitionStateMachine.scala │ ├── MockReplicaStateMachine.scala │ ├── PartitionLeaderElectionAlgorithmsTest.scala │ ├── PartitionStateMachineTest.scala │ ├── ReplicaStateMachineTest.scala │ ├── TopicDeletionManagerTest.scala │ └── TopicsSatisfyMinRFTest.scala │ ├── coordinator │ ├── AbstractCoordinatorConcurrencyTest.scala │ ├── group │ │ ├── GroupCoordinatorConcurrencyTest.scala │ │ ├── GroupCoordinatorTest.scala │ │ ├── GroupMetadataManagerTest.scala │ │ ├── GroupMetadataTest.scala │ │ └── MemberMetadataTest.scala │ └── transaction │ │ ├── ProducerIdManagerTest.scala │ │ ├── TransactionCoordinatorConcurrencyTest.scala │ │ ├── TransactionCoordinatorTest.scala │ │ ├── TransactionLogTest.scala │ │ ├── TransactionMarkerChannelManagerTest.scala │ │ ├── TransactionMarkerRequestCompletionHandlerTest.scala │ │ ├── TransactionMetadataTest.scala │ │ └── TransactionStateManagerTest.scala │ ├── integration │ ├── AlterIsrRequestTest.scala │ ├── DegradedLeaderTest.scala │ ├── KafkaServerTestHarness.scala │ ├── MetricsDuringTopicCreationDeletionTest.scala │ ├── MinIsrConfigTest.scala │ ├── MultiClusterKafkaServerTestHarness.scala │ ├── PartitionLoggingTest.scala │ └── UncleanLeaderElectionTest.scala │ ├── log │ ├── AbstractLogCleanerIntegrationTest.scala │ ├── BrokerCompressionTest.scala │ ├── LogCleanerIntegrationTest.scala │ ├── LogCleanerLagIntegrationTest.scala │ ├── LogCleanerManagerTest.scala │ ├── LogCleanerParameterizedIntegrationTest.scala │ ├── LogCleanerTest.scala │ ├── LogConcurrencyTest.scala │ ├── LogConfigTest.scala │ ├── LogLoaderTest.scala │ ├── LogManagerTest.scala │ ├── LogSegmentTest.scala │ ├── LogSegmentsTest.scala │ ├── LogTest.scala │ ├── LogTestUtils.scala │ ├── LogValidatorTest.scala │ ├── OffsetIndexTest.scala │ ├── OffsetMapTest.scala │ ├── ProducerStateManagerTest.scala │ ├── TimeIndexTest.scala │ ├── TransactionIndexTest.scala │ └── remote │ │ ├── RemoteIndexCacheTest.scala │ │ ├── RemoteLogManagerTest.scala │ │ └── RemoteLogReaderTest.scala │ ├── metrics │ ├── KafkaTimerTest.scala │ └── MetricsTest.scala │ ├── network │ ├── ConnectionQuotasTest.scala │ ├── RequestChannelTest.scala │ ├── RequestConvertToJsonTest.scala │ └── SocketServerTest.scala │ ├── raft │ ├── KafkaNetworkChannelTest.scala │ └── RaftManagerTest.scala │ ├── security │ ├── auth │ │ └── ZkAuthorizationTest.scala │ ├── authorizer │ │ ├── AclAuthorizerTest.scala │ │ ├── AclAuthorizerWithZkSaslTest.scala │ │ ├── AclEntryTest.scala │ │ ├── AuthorizerInterfaceDefaultTest.scala │ │ └── BaseAuthorizerTest.scala │ └── token │ │ └── delegation │ │ └── DelegationTokenManagerTest.scala │ ├── server │ ├── AbstractApiVersionsRequestTest.scala │ ├── AbstractCreateTopicsRequestTest.scala │ ├── AbstractFetcherThreadTest.scala │ ├── AbstractFetcherThreadWithIbp26Test.scala │ ├── AbstractMetadataRequestTest.scala │ ├── AddPartitionsToTxnRequestServerTest.scala │ ├── AdvertiseBrokerTest.scala │ ├── AlterIsrManagerTest.scala │ ├── AlterUserScramCredentialsRequestNotAuthorizedTest.scala │ ├── AlterUserScramCredentialsRequestTest.scala │ ├── ApiVersionManagerTest.scala │ ├── ApiVersionsRequestTest.scala │ ├── AsyncAbstractFetcherManagerTest.scala │ ├── AuthHelperTest.scala │ ├── AutoTopicCreationManagerTest.scala │ ├── BaseClientQuotaManagerTest.scala │ ├── BaseFetchRequestTest.scala │ ├── BaseRequestTest.scala │ ├── BrokerEpochIntegrationTest.scala │ ├── BrokerFeaturesTest.scala │ ├── BrokerLifecycleManagerTest.scala │ ├── BrokerMetricNamesTest.scala │ ├── CacheableBrokerEpochIntegrationTest.scala │ ├── ClientQuotaManagerTest.scala │ ├── ClientQuotasRequestTest.scala │ ├── ClientRequestQuotaManagerTest.scala │ ├── ControllerApisTest.scala │ ├── ControllerMutationQuotaManagerTest.scala │ ├── ControllerMutationQuotaTest.scala │ ├── CreateTopicsRequestTest.scala │ ├── CreateTopicsRequestWithForwardingTest.scala │ ├── CreateTopicsRequestWithPolicyTest.scala │ ├── DelayedOperationTest.scala │ ├── DelayedRemoteFetchTest.scala │ ├── DelegationTokenRequestsOnPlainTextTest.scala │ ├── DelegationTokenRequestsTest.scala │ ├── DelegationTokenRequestsWithDisableTokenFeatureTest.scala │ ├── DeleteTopicsRequestTest.scala │ ├── DeleteTopicsRequestWithDeletionDisabledTest.scala │ ├── DescribeClusterRequestTest.scala │ ├── DescribeLogDirsRequestTest.scala │ ├── DescribeQuorumRequestTest.scala │ ├── DescribeUserScramCredentialsRequestNotAuthorizedTest.scala │ ├── DescribeUserScramCredentialsRequestTest.scala │ ├── DynamicBrokerConfigTest.scala │ ├── DynamicConfigChangeTest.scala │ ├── DynamicConfigTest.scala │ ├── EdgeCaseRequestTest.scala │ ├── FetchRequestDownConversionConfigTest.scala │ ├── FetchRequestMaxBytesTest.scala │ ├── FetchRequestTest.scala │ ├── FetchRequestWithLegacyMessageFormatTest.scala │ ├── FetchSessionTest.scala │ ├── FetcherEventBusTest.scala │ ├── FinalizedFeatureCacheTest.scala │ ├── FinalizedFeatureChangeListenerTest.scala │ ├── ForwardingManagerTest.scala │ ├── HighwatermarkPersistenceTest.scala │ ├── IsrExpirationTest.scala │ ├── KafkaApisTest.scala │ ├── KafkaConfigTest.scala │ ├── KafkaMetricReporterClusterIdTest.scala │ ├── KafkaMetricReporterExceptionHandlingTest.scala │ ├── KafkaMetricsReporterTest.scala │ ├── KafkaRaftServerTest.scala │ ├── KafkaServerTest.scala │ ├── LeaderElectionTest.scala │ ├── ListOffsetsRequestTest.scala │ ├── ListOffsetsRequestWithRemoteStoreTest.scala │ ├── LogDirFailureTest.scala │ ├── LogOffsetTest.scala │ ├── LogRecoveryTest.scala │ ├── MetadataCacheTest.scala │ ├── MetadataRequestTest.scala │ ├── MetadataRequestWithForwardingTest.scala │ ├── MockBrokerToControllerChannelManager.scala │ ├── MultiClusterBaseRequestTest.scala │ ├── OffsetFetchRequestTest.scala │ ├── OffsetsForLeaderEpochRequestTest.scala │ ├── ProduceRequestInstrumentationTest.scala │ ├── ProduceRequestTest.scala │ ├── QuotaV2HandlerTest.scala │ ├── RecommendedLeaderElectionTest.scala │ ├── ReplicaAlterLogDirsThreadTest.scala │ ├── ReplicaFetchTest.scala │ ├── ReplicaFetcherThreadTest.scala │ ├── ReplicaManagerQuotasTest.scala │ ├── ReplicaManagerTest.scala │ ├── ReplicationQuotaManagerTest.scala │ ├── ReplicationQuotasTest.scala │ ├── RequestQuotaTest.scala │ ├── SaslApiVersionsRequestTest.scala │ ├── ServerGenerateBrokerIdTest.scala │ ├── ServerGenerateClusterIdTest.scala │ ├── ServerMetricsTest.scala │ ├── ServerShutdownTest.scala │ ├── ServerStartupTest.scala │ ├── ServerTest.scala │ ├── StopReplicaRequestTest.scala │ ├── ThrottledChannelExpirationTest.scala │ ├── TopicIdWithOldInterBrokerProtocolTest.scala │ ├── UpdateFeaturesTest.scala │ ├── ZkAdminManagerTest.scala │ ├── checkpoints │ │ ├── LeaderEpochCheckpointFileTest.scala │ │ └── OffsetCheckpointFileTest.scala │ ├── epoch │ │ ├── EpochDrivenReplicationProtocolAcceptanceTest.scala │ │ ├── EpochDrivenReplicationProtocolAcceptanceWithIbp26Test.scala │ │ ├── LeaderEpochFileCacheTest.scala │ │ ├── LeaderEpochIntegrationTest.scala │ │ ├── OffsetsForLeaderEpochTest.scala │ │ └── util │ │ │ └── ReplicaFetcherMockBlockingSend.scala │ └── metadata │ │ ├── BrokerMetadataListenerTest.scala │ │ ├── BrokerMetadataPublisherTest.scala │ │ ├── BrokerMetadataSnapshotterTest.scala │ │ ├── MockConfigRepositoryTest.scala │ │ └── ZkConfigRepositoryTest.scala │ ├── tools │ ├── ClusterToolTest.scala │ ├── ConsoleConsumerTest.scala │ ├── ConsoleProducerTest.scala │ ├── ConsumerPerformanceTest.scala │ ├── DumpLogSegmentsTest.scala │ ├── MirrorMakerTest.scala │ └── StorageToolTest.scala │ ├── utils │ ├── CommandLineUtilsTest.scala │ ├── CoreUtilsTest.scala │ ├── JaasTestUtils.scala │ ├── JsonTest.scala │ ├── LogCaptureAppender.scala │ ├── MockScheduler.scala │ ├── MockTime.scala │ ├── PasswordEncoderTest.scala │ ├── PoolTest.scala │ ├── QuotaUtilsTest.scala │ ├── ReplicationUtilsTest.scala │ ├── SchedulerTest.scala │ ├── ShutdownableThreadTest.scala │ ├── TestUtils.scala │ ├── ThrottlerTest.scala │ ├── TopicFilterTest.scala │ ├── json │ │ └── JsonValueTest.scala │ └── timer │ │ ├── MockTimer.scala │ │ ├── TimerTaskListTest.scala │ │ └── TimerTest.scala │ ├── zk │ ├── AdminZkClientTest.scala │ ├── EmbeddedZookeeper.scala │ ├── KafkaZkClientTest.scala │ ├── MultiClusterZooKeeperTestHarness.scala │ ├── ReassignPartitionsZNodeTest.scala │ ├── ZkFourLetterWords.scala │ └── ZooKeeperTestHarness.scala │ └── zookeeper │ └── ZooKeeperClientTest.scala ├── doap_Kafka.rdf ├── docs ├── api.html ├── configuration.html ├── connect.html ├── design.html ├── documentation.html ├── documentation │ ├── index.html │ └── streams │ │ ├── architecture.html │ │ ├── core-concepts.html │ │ ├── developer-guide │ │ ├── app-reset-tool.html │ │ ├── config-streams.html │ │ ├── datatypes.html │ │ ├── dsl-api.html │ │ ├── dsl-topology-naming.html │ │ ├── index.html │ │ ├── interactive-queries.html │ │ ├── manage-topics.html │ │ ├── memory-mgmt.html │ │ ├── processor-api.html │ │ ├── running-app.html │ │ ├── security.html │ │ ├── testing.html │ │ └── write-streams.html │ │ ├── index.html │ │ ├── quickstart.html │ │ ├── tutorial.html │ │ └── upgrade-guide.html ├── ecosystem.html ├── images │ ├── consumer-groups.png │ ├── icons │ │ ├── NYT.jpg │ │ ├── architecture--white.png │ │ ├── architecture.png │ │ ├── documentation--white.png │ │ ├── documentation.png │ │ ├── line.png │ │ ├── new-york.png │ │ ├── rabobank.png │ │ ├── tutorials--white.png │ │ ├── tutorials.png │ │ └── zalando.png │ ├── kafka-apis.png │ ├── kafka_log.png │ ├── kafka_multidc.png │ ├── kafka_multidc_complex.png │ ├── log_anatomy.png │ ├── log_cleaner_anatomy.png │ ├── log_compaction.png │ ├── log_consumer.png │ ├── mirror-maker.png │ ├── producer_consumer.png │ ├── streams-architecture-overview.jpg │ ├── streams-architecture-states.jpg │ ├── streams-architecture-tasks.jpg │ ├── streams-architecture-threads.jpg │ ├── streams-architecture-topology.jpg │ ├── streams-cache-and-commit-interval.png │ ├── streams-concepts-topology.jpg │ ├── streams-elastic-scaling-1.png │ ├── streams-elastic-scaling-2.png │ ├── streams-elastic-scaling-3.png │ ├── streams-interactive-queries-01.png │ ├── streams-interactive-queries-02.png │ ├── streams-interactive-queries-03.png │ ├── streams-interactive-queries-api-01.png │ ├── streams-interactive-queries-api-02.png │ ├── streams-session-windows-01.png │ ├── streams-session-windows-02.png │ ├── streams-sliding-windows.png │ ├── streams-stateful_operations.png │ ├── streams-table-duality-01.png │ ├── streams-table-duality-02.png │ ├── streams-table-duality-03.png │ ├── streams-table-updates-01.png │ ├── streams-table-updates-02.png │ ├── streams-time-windows-hopping.png │ ├── streams-time-windows-tumbling.png │ ├── streams-welcome.png │ └── tracking_high_level.png ├── implementation.html ├── introduction.html ├── js │ └── templateData.js ├── migration.html ├── ops.html ├── protocol.html ├── quickstart.html ├── security.html ├── streams │ ├── architecture.html │ ├── core-concepts.html │ ├── developer-guide │ │ ├── app-reset-tool.html │ │ ├── config-streams.html │ │ ├── datatypes.html │ │ ├── dsl-api.html │ │ ├── dsl-topology-naming.html │ │ ├── index.html │ │ ├── interactive-queries.html │ │ ├── manage-topics.html │ │ ├── memory-mgmt.html │ │ ├── processor-api.html │ │ ├── running-app.html │ │ ├── security.html │ │ ├── testing.html │ │ └── write-streams.html │ ├── index.html │ ├── quickstart.html │ ├── tutorial.html │ └── upgrade-guide.html ├── toc.html ├── upgrade.html └── uses.html ├── examples ├── README ├── bin │ ├── exactly-once-demo.sh │ └── java-producer-consumer-demo.sh └── src │ └── main │ └── java │ └── kafka │ └── examples │ ├── Consumer.java │ ├── ExactlyOnceMessageProcessor.java │ ├── KafkaConsumerProducerDemo.java │ ├── KafkaExactlyOnceDemo.java │ ├── KafkaProperties.java │ └── Producer.java ├── generator └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── message │ │ ├── ApiMessageTypeGenerator.java │ │ ├── ClauseGenerator.java │ │ ├── CodeBuffer.java │ │ ├── EntityType.java │ │ ├── FieldSpec.java │ │ ├── FieldType.java │ │ ├── HeaderGenerator.java │ │ ├── IsNullConditional.java │ │ ├── JsonConverterGenerator.java │ │ ├── MessageClassGenerator.java │ │ ├── MessageDataGenerator.java │ │ ├── MessageGenerator.java │ │ ├── MessageSpec.java │ │ ├── MessageSpecType.java │ │ ├── MetadataJsonConvertersGenerator.java │ │ ├── MetadataRecordTypeGenerator.java │ │ ├── RequestListenerType.java │ │ ├── SchemaGenerator.java │ │ ├── StructRegistry.java │ │ ├── StructSpec.java │ │ ├── Target.java │ │ ├── TypeClassGenerator.java │ │ ├── VersionConditional.java │ │ └── Versions.java │ └── test │ └── java │ └── org │ └── apache │ └── kafka │ └── message │ ├── CodeBufferTest.java │ ├── EntityTypeTest.java │ ├── IsNullConditionalTest.java │ ├── MessageDataGeneratorTest.java │ ├── MessageGeneratorTest.java │ ├── StructRegistryTest.java │ ├── VersionConditionalTest.java │ └── VersionsTest.java ├── gradle.properties ├── gradle ├── dependencies.gradle ├── resources │ └── rat-output-to-html.xsl ├── spotbugs-exclude.xml └── wrapper │ └── gradle-wrapper.properties ├── gradlew ├── gradlewAll ├── jmh-benchmarks ├── README.md ├── jmh.sh └── src │ └── main │ └── java │ └── org │ └── apache │ └── kafka │ └── jmh │ ├── acl │ └── AclAuthorizerBenchmark.java │ ├── cache │ └── LRUCacheBenchmark.java │ ├── common │ ├── FetchRequestBenchmark.java │ ├── FetchResponseBenchmark.java │ ├── ImplicitLinkedHashCollectionBenchmark.java │ ├── ListOffsetRequestBenchmark.java │ ├── ProduceRequestBenchmark.java │ └── TopicBenchmark.java │ ├── consumer │ └── SubscriptionStateBenchmark.java │ ├── fetcher │ └── ReplicaFetcherThreadBenchmark.java │ ├── fetchsession │ └── FetchSessionBenchmark.java │ ├── metadata │ └── MetadataRequestBenchmark.java │ ├── partition │ ├── PartitionMakeFollowerBenchmark.java │ └── UpdateFollowerFetchStateBenchmark.java │ ├── producer │ ├── ProducerRecordBenchmark.java │ ├── ProducerRequestBenchmark.java │ └── ProducerResponseBenchmark.java │ ├── record │ ├── BaseRecordBatchBenchmark.java │ ├── CompressedRecordBatchValidationBenchmark.java │ ├── RecordBatchIterationBenchmark.java │ └── UncompressedRecordBatchValidationBenchmark.java │ ├── server │ ├── CheckpointBench.java │ └── PartitionCreationBench.java │ └── timeline │ └── TimelineHashMapBenchmark.java ├── kafka-merge-pr.py ├── licenses ├── CDDL+GPL-1.1 ├── DWTFYWTPL ├── argparse-MIT ├── eclipse-distribution-license-1.0 ├── eclipse-public-license-2.0 ├── jline-BSD-3-clause ├── jopt-simple-MIT ├── paranamer-BSD-3-clause ├── slf4j-MIT └── zstd-jni-BSD-2-clause ├── log4j-appender └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── log4jappender │ │ └── KafkaLog4jAppender.java │ └── test │ └── java │ └── org │ └── apache │ └── kafka │ └── log4jappender │ ├── KafkaLog4jAppenderTest.java │ └── MockKafkaLog4jAppender.java ├── metadata └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ ├── controller │ │ │ ├── BrokerControlState.java │ │ │ ├── BrokerControlStates.java │ │ │ ├── BrokerHeartbeatManager.java │ │ │ ├── BrokersToIsrs.java │ │ │ ├── ClientQuotaControlManager.java │ │ │ ├── ClusterControlManager.java │ │ │ ├── ConfigurationControlManager.java │ │ │ ├── Controller.java │ │ │ ├── ControllerMetrics.java │ │ │ ├── ControllerPurgatory.java │ │ │ ├── ControllerResult.java │ │ │ ├── ControllerResultAndOffset.java │ │ │ ├── DeferredEvent.java │ │ │ ├── FeatureControlManager.java │ │ │ ├── PartitionChangeBuilder.java │ │ │ ├── PartitionReassignmentReplicas.java │ │ │ ├── PartitionReassignmentRevert.java │ │ │ ├── ProducerIdControlManager.java │ │ │ ├── QuorumController.java │ │ │ ├── QuorumControllerMetrics.java │ │ │ ├── ReplicaPlacer.java │ │ │ ├── ReplicationControlManager.java │ │ │ ├── ResultOrError.java │ │ │ ├── SnapshotGenerator.java │ │ │ └── StripedReplicaPlacer.java │ │ │ ├── image │ │ │ ├── ClientQuotaDelta.java │ │ │ ├── ClientQuotaImage.java │ │ │ ├── ClientQuotasDelta.java │ │ │ ├── ClientQuotasImage.java │ │ │ ├── ClusterDelta.java │ │ │ ├── ClusterImage.java │ │ │ ├── ConfigurationDelta.java │ │ │ ├── ConfigurationImage.java │ │ │ ├── ConfigurationsDelta.java │ │ │ ├── ConfigurationsImage.java │ │ │ ├── FeaturesDelta.java │ │ │ ├── FeaturesImage.java │ │ │ ├── LocalReplicaChanges.java │ │ │ ├── MetadataDelta.java │ │ │ ├── MetadataImage.java │ │ │ ├── TopicDelta.java │ │ │ ├── TopicImage.java │ │ │ ├── TopicsDelta.java │ │ │ └── TopicsImage.java │ │ │ ├── metadata │ │ │ ├── BrokerHeartbeatReply.java │ │ │ ├── BrokerRegistration.java │ │ │ ├── BrokerRegistrationReply.java │ │ │ ├── BrokerState.java │ │ │ ├── FeatureMap.java │ │ │ ├── FeatureMapAndEpoch.java │ │ │ ├── LeaderConstants.java │ │ │ ├── MetadataRecordSerde.java │ │ │ ├── OptionalStringComparator.java │ │ │ ├── PartitionRegistration.java │ │ │ ├── Replicas.java │ │ │ ├── UsableBroker.java │ │ │ └── VersionRange.java │ │ │ └── timeline │ │ │ ├── BaseHashTable.java │ │ │ ├── Delta.java │ │ │ ├── Revertable.java │ │ │ ├── Snapshot.java │ │ │ ├── SnapshotRegistry.java │ │ │ ├── SnapshottableHashTable.java │ │ │ ├── TimelineHashMap.java │ │ │ ├── TimelineHashSet.java │ │ │ ├── TimelineInteger.java │ │ │ └── TimelineLong.java │ └── resources │ │ └── common │ │ └── metadata │ │ ├── AccessControlRecord.json │ │ ├── BrokerRegistrationChangeRecord.json │ │ ├── ClientQuotaRecord.json │ │ ├── ConfigRecord.json │ │ ├── DelegationTokenRecord.json │ │ ├── FeatureLevelRecord.json │ │ ├── FenceBrokerRecord.json │ │ ├── PartitionChangeRecord.json │ │ ├── PartitionRecord.json │ │ ├── ProducerIdsRecord.json │ │ ├── RegisterBrokerRecord.json │ │ ├── RemoveFeatureLevelRecord.json │ │ ├── RemoveTopicRecord.json │ │ ├── TopicRecord.json │ │ ├── UnfenceBrokerRecord.json │ │ ├── UnregisterBrokerRecord.json │ │ └── UserScramCredentialRecord.json │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── kafka │ │ ├── controller │ │ ├── BrokerHeartbeatManagerTest.java │ │ ├── BrokersToIsrsTest.java │ │ ├── ClientQuotaControlManagerTest.java │ │ ├── ClusterControlManagerTest.java │ │ ├── ConfigurationControlManagerTest.java │ │ ├── ControllerPurgatoryTest.java │ │ ├── FeatureControlManagerTest.java │ │ ├── MockControllerMetrics.java │ │ ├── MockRandom.java │ │ ├── PartitionChangeBuilderTest.java │ │ ├── PartitionReassignmentReplicasTest.java │ │ ├── PartitionReassignmentRevertTest.java │ │ ├── ProducerIdControlManagerTest.java │ │ ├── QuorumControllerMetricsTest.java │ │ ├── QuorumControllerTest.java │ │ ├── QuorumControllerTestEnv.java │ │ ├── ReplicationControlManagerTest.java │ │ ├── ResultOrErrorTest.java │ │ ├── SnapshotGeneratorTest.java │ │ └── StripedReplicaPlacerTest.java │ │ ├── image │ │ ├── ClientQuotasImageTest.java │ │ ├── ClusterImageTest.java │ │ ├── ConfigurationsImageTest.java │ │ ├── FeaturesImageTest.java │ │ ├── MetadataImageTest.java │ │ ├── MockSnapshotConsumer.java │ │ └── TopicsImageTest.java │ │ ├── metadata │ │ ├── BrokerRegistrationTest.java │ │ ├── BrokerStateTest.java │ │ ├── MetadataRecordSerdeTest.java │ │ ├── OptionalStringComparatorTest.java │ │ ├── PartitionRegistrationTest.java │ │ ├── RecordTestUtils.java │ │ ├── ReplicasTest.java │ │ └── VersionRangeTest.java │ │ ├── metalog │ │ ├── LocalLogManager.java │ │ ├── LocalLogManagerTest.java │ │ ├── LocalLogManagerTestEnv.java │ │ └── MockMetaLogManagerListener.java │ │ └── timeline │ │ ├── BaseHashTableTest.java │ │ ├── SnapshotRegistryTest.java │ │ ├── SnapshottableHashTableTest.java │ │ ├── TimelineHashMapTest.java │ │ ├── TimelineHashSetTest.java │ │ ├── TimelineIntegerTest.java │ │ └── TimelineLongTest.java │ └── resources │ └── log4j.properties ├── raft ├── README.md ├── bin │ └── test-kraft-server-start.sh ├── config │ ├── kraft-log4j.properties │ └── kraft.properties └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ ├── raft │ │ │ ├── Batch.java │ │ │ ├── BatchReader.java │ │ │ ├── CandidateState.java │ │ │ ├── ElectionState.java │ │ │ ├── EpochState.java │ │ │ ├── ExpirationService.java │ │ │ ├── FileBasedStateStore.java │ │ │ ├── FollowerState.java │ │ │ ├── Isolation.java │ │ │ ├── KafkaRaftClient.java │ │ │ ├── LeaderAndEpoch.java │ │ │ ├── LeaderState.java │ │ │ ├── LogAppendInfo.java │ │ │ ├── LogFetchInfo.java │ │ │ ├── LogOffsetMetadata.java │ │ │ ├── NetworkChannel.java │ │ │ ├── OffsetAndEpoch.java │ │ │ ├── OffsetMetadata.java │ │ │ ├── QuorumState.java │ │ │ ├── QuorumStateStore.java │ │ │ ├── RaftClient.java │ │ │ ├── RaftConfig.java │ │ │ ├── RaftMessage.java │ │ │ ├── RaftMessageQueue.java │ │ │ ├── RaftRequest.java │ │ │ ├── RaftResponse.java │ │ │ ├── RaftUtil.java │ │ │ ├── ReplicatedCounter.java │ │ │ ├── ReplicatedLog.java │ │ │ ├── RequestManager.java │ │ │ ├── ResignedState.java │ │ │ ├── UnattachedState.java │ │ │ ├── ValidOffsetAndEpoch.java │ │ │ ├── VotedState.java │ │ │ ├── errors │ │ │ │ ├── BufferAllocationException.java │ │ │ │ ├── NotLeaderException.java │ │ │ │ └── RaftException.java │ │ │ └── internals │ │ │ │ ├── BatchAccumulator.java │ │ │ │ ├── BatchBuilder.java │ │ │ │ ├── BatchMemoryPool.java │ │ │ │ ├── BlockingMessageQueue.java │ │ │ │ ├── CloseListener.java │ │ │ │ ├── FuturePurgatory.java │ │ │ │ ├── KafkaRaftMetrics.java │ │ │ │ ├── MemoryBatchReader.java │ │ │ │ ├── RecordsBatchReader.java │ │ │ │ ├── RecordsIterator.java │ │ │ │ ├── StringSerde.java │ │ │ │ └── ThresholdPurgatory.java │ │ │ └── snapshot │ │ │ ├── FileRawSnapshotReader.java │ │ │ ├── FileRawSnapshotWriter.java │ │ │ ├── RawSnapshotReader.java │ │ │ ├── RawSnapshotWriter.java │ │ │ ├── SnapshotPath.java │ │ │ ├── SnapshotReader.java │ │ │ ├── SnapshotWriter.java │ │ │ └── Snapshots.java │ └── resources │ │ └── common │ │ └── message │ │ └── QuorumState.json │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── kafka │ │ ├── raft │ │ ├── CandidateStateTest.java │ │ ├── FileBasedStateStoreTest.java │ │ ├── FollowerStateTest.java │ │ ├── KafkaRaftClientSnapshotTest.java │ │ ├── KafkaRaftClientTest.java │ │ ├── LeaderStateTest.java │ │ ├── MockExpirationService.java │ │ ├── MockExpirationServiceTest.java │ │ ├── MockLog.java │ │ ├── MockLogTest.java │ │ ├── MockMessageQueue.java │ │ ├── MockNetworkChannel.java │ │ ├── MockQuorumStateStore.java │ │ ├── QuorumStateTest.java │ │ ├── RaftClientTestContext.java │ │ ├── RaftEventSimulationTest.java │ │ ├── RequestManagerTest.java │ │ ├── ResignedStateTest.java │ │ ├── UnattachedStateTest.java │ │ ├── VotedStateTest.java │ │ └── internals │ │ │ ├── BatchAccumulatorTest.java │ │ │ ├── BatchBuilderTest.java │ │ │ ├── BatchMemoryPoolTest.java │ │ │ ├── BlockingMessageQueueTest.java │ │ │ ├── KafkaRaftMetricsTest.java │ │ │ ├── MemoryBatchReaderTest.java │ │ │ ├── RecordsBatchReaderTest.java │ │ │ ├── RecordsIteratorTest.java │ │ │ └── ThresholdPurgatoryTest.java │ │ └── snapshot │ │ ├── FileRawSnapshotTest.java │ │ ├── MockRawSnapshotReader.java │ │ ├── MockRawSnapshotWriter.java │ │ ├── SnapshotWriterReaderTest.java │ │ └── SnapshotsTest.java │ └── resources │ └── log4j.properties ├── release.py ├── release_notes.py ├── server-common └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ ├── queue │ │ ├── EventQueue.java │ │ └── KafkaEventQueue.java │ │ └── server │ │ └── common │ │ ├── ApiMessageAndVersion.java │ │ ├── ProducerIdsBlock.java │ │ └── serialization │ │ ├── AbstractApiMessageSerde.java │ │ ├── BytesApiMessageSerde.java │ │ ├── MetadataParseException.java │ │ └── RecordSerde.java │ └── test │ └── java │ └── org │ └── apache │ └── kafka │ └── queue │ └── KafkaEventQueueTest.java ├── settings.gradle ├── shell └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── shell │ │ ├── CatCommandHandler.java │ │ ├── CdCommandHandler.java │ │ ├── CommandUtils.java │ │ ├── Commands.java │ │ ├── ErroneousCommandHandler.java │ │ ├── ExitCommandHandler.java │ │ ├── FindCommandHandler.java │ │ ├── GlobComponent.java │ │ ├── GlobVisitor.java │ │ ├── HelpCommandHandler.java │ │ ├── HistoryCommandHandler.java │ │ ├── InteractiveShell.java │ │ ├── LsCommandHandler.java │ │ ├── ManCommandHandler.java │ │ ├── MetadataNode.java │ │ ├── MetadataNodeManager.java │ │ ├── MetadataShell.java │ │ ├── NoOpCommandHandler.java │ │ ├── NotDirectoryException.java │ │ ├── NotFileException.java │ │ ├── PwdCommandHandler.java │ │ └── SnapshotFileReader.java │ └── test │ └── java │ └── org │ └── apache │ └── kafka │ └── shell │ ├── CommandTest.java │ ├── CommandUtilsTest.java │ ├── GlobComponentTest.java │ ├── GlobVisitorTest.java │ ├── LsCommandHandlerTest.java │ └── MetadataNodeTest.java ├── storage ├── api │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ └── server │ │ │ └── log │ │ │ └── remote │ │ │ └── storage │ │ │ ├── LogSegmentData.java │ │ │ ├── RemoteLogMetadata.java │ │ │ ├── RemoteLogMetadataManager.java │ │ │ ├── RemoteLogSegmentId.java │ │ │ ├── RemoteLogSegmentMetadata.java │ │ │ ├── RemoteLogSegmentMetadataUpdate.java │ │ │ ├── RemoteLogSegmentState.java │ │ │ ├── RemotePartitionDeleteMetadata.java │ │ │ ├── RemotePartitionDeleteState.java │ │ │ ├── RemoteResourceNotFoundException.java │ │ │ ├── RemoteStorageException.java │ │ │ └── RemoteStorageManager.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── server │ │ └── log │ │ └── remote │ │ └── storage │ │ ├── LogSegmentDataTest.java │ │ ├── NoOpRemoteLogMetadataManager.java │ │ └── NoOpRemoteStorageManager.java └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ └── server │ │ │ └── log │ │ │ └── remote │ │ │ ├── metadata │ │ │ └── storage │ │ │ │ ├── ClassLoaderAwareRemoteLogMetadataManager.java │ │ │ │ ├── CommittedLogMetadataFile.java │ │ │ │ ├── CommittedOffsetsFile.java │ │ │ │ ├── ConsumerManager.java │ │ │ │ ├── FileBasedRemoteLogMetadataCache.java │ │ │ │ ├── PrimaryConsumerTask.java │ │ │ │ ├── ProducerManager.java │ │ │ │ ├── RemoteLogLeaderEpochState.java │ │ │ │ ├── RemoteLogMetadataCache.java │ │ │ │ ├── RemoteLogMetadataTopicPartitioner.java │ │ │ │ ├── RemotePartitionMetadataEventHandler.java │ │ │ │ ├── RemotePartitionMetadataStore.java │ │ │ │ ├── SecondaryConsumerTask.java │ │ │ │ ├── TopicBasedRemoteLogMetadataManager.java │ │ │ │ ├── TopicBasedRemoteLogMetadataManagerConfig.java │ │ │ │ └── serialization │ │ │ │ ├── RemoteLogMetadataFormatter.java │ │ │ │ ├── RemoteLogMetadataSerde.java │ │ │ │ ├── RemoteLogMetadataTransform.java │ │ │ │ ├── RemoteLogSegmentMetadataTransform.java │ │ │ │ ├── RemoteLogSegmentMetadataUpdateTransform.java │ │ │ │ └── RemotePartitionDeleteMetadataTransform.java │ │ │ └── storage │ │ │ └── RemoteLogManagerConfig.java │ └── resources │ │ └── message │ │ ├── RemoteLogSegmentMetadata.json │ │ ├── RemoteLogSegmentMetadataRecordSnapshot.json │ │ ├── RemoteLogSegmentMetadataUpdate.json │ │ ├── RemotePartitionDeleteMetadata.json │ │ └── RemotePartitionDeleteMetadataSnapshot.json │ └── test │ ├── README.md │ ├── java │ └── org │ │ └── apache │ │ └── kafka │ │ └── server │ │ └── log │ │ └── remote │ │ ├── metadata │ │ └── storage │ │ │ ├── CommittedLogMetadataFileTest.java │ │ │ ├── ConsumerManagerTest.java │ │ │ ├── RemoteLogMetadataCacheTest.java │ │ │ ├── RemoteLogMetadataSerdeTest.java │ │ │ ├── RemoteLogMetadataTransformTest.java │ │ │ ├── RemoteLogSegmentLifecycleManager.java │ │ │ ├── RemoteLogSegmentLifecycleTest.java │ │ │ ├── TopicBasedRemoteLogMetadataManagerConfigTest.java │ │ │ ├── TopicBasedRemoteLogMetadataManagerHarness.java │ │ │ ├── TopicBasedRemoteLogMetadataManagerMultipleSubscriptionsTest.java │ │ │ ├── TopicBasedRemoteLogMetadataManagerRestartTest.java │ │ │ ├── TopicBasedRemoteLogMetadataManagerTest.java │ │ │ └── TopicBasedRemoteLogMetadataManagerWrapperWithHarness.java │ │ └── storage │ │ ├── InmemoryRemoteLogMetadataManager.java │ │ ├── InmemoryRemoteStorageManager.java │ │ ├── InmemoryRemoteStorageManagerTest.java │ │ ├── LocalTieredStorage.java │ │ ├── LocalTieredStorageCondition.java │ │ ├── LocalTieredStorageEvent.java │ │ ├── LocalTieredStorageHistory.java │ │ ├── LocalTieredStorageListener.java │ │ ├── LocalTieredStorageSnapshot.java │ │ ├── LocalTieredStorageTest.java │ │ ├── LocalTieredStorageTraverser.java │ │ ├── RemoteLogManagerConfigTest.java │ │ ├── RemoteLogMetadataManagerTest.java │ │ ├── RemoteLogSegmentFileset.java │ │ ├── RemoteTopicPartitionDirectory.java │ │ └── Transferer.java │ ├── resources │ └── log4j.properties │ └── scala │ └── integration │ └── kafka │ ├── api │ └── TransactionsTestWithTieredStore.scala │ ├── tiered │ └── storage │ │ ├── CanFetchFromTieredStorageAfterRecoveryOfLocalSegmentsTest.scala │ │ ├── DeleteSegmentsByRetentionSizeTest.scala │ │ ├── DeleteSegmentsByRetentionTimeTest.scala │ │ ├── DeleteTopicWithSecondaryStorageTest.scala │ │ ├── DisableRemoteLogOnTopicTest.scala │ │ ├── EnableRemoteLogOnTopicInMiddleOfSegmentDeletionTest.scala │ │ ├── EnableRemoteLogOnTopicTest.scala │ │ ├── LocalTieredStorageOutput.scala │ │ ├── OffloadAndConsumeFromFollowerTest.scala │ │ ├── OffloadAndConsumeFromLeaderTest.scala │ │ ├── ReassignReplicaExpandTest.scala │ │ ├── ReassignReplicaShrinkTest.scala │ │ ├── TieredStorageTestContext.scala │ │ ├── TieredStorageTestHarness.scala │ │ ├── TieredStorageTestSpec.scala │ │ └── UncleanLeaderElectionAndTieredStorageTest.scala │ └── utils │ ├── BrokerLocalStorage.scala │ └── RecordsKeyValueMatcher.scala ├── streams ├── .gitignore ├── examples │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ └── streams │ │ │ └── examples │ │ │ ├── pageview │ │ │ ├── JsonTimestampExtractor.java │ │ │ ├── PageViewTypedDemo.java │ │ │ └── PageViewUntypedDemo.java │ │ │ ├── pipe │ │ │ └── PipeDemo.java │ │ │ ├── temperature │ │ │ └── TemperatureDemo.java │ │ │ └── wordcount │ │ │ ├── WordCountDemo.java │ │ │ ├── WordCountProcessorDemo.java │ │ │ └── WordCountTransformerDemo.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── streams │ │ └── examples │ │ ├── docs │ │ └── DeveloperGuideTesting.java │ │ └── wordcount │ │ ├── WordCountDemoTest.java │ │ ├── WordCountProcessorTest.java │ │ └── WordCountTransformerTest.java ├── quickstart │ ├── java │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── resources │ │ │ │ ├── META-INF │ │ │ │ └── maven │ │ │ │ │ └── archetype-metadata.xml │ │ │ │ └── archetype-resources │ │ │ │ ├── pom.xml │ │ │ │ └── src │ │ │ │ └── main │ │ │ │ ├── java │ │ │ │ ├── LineSplit.java │ │ │ │ ├── Pipe.java │ │ │ │ └── WordCount.java │ │ │ │ └── resources │ │ │ │ └── log4j.properties │ │ │ └── test │ │ │ └── resources │ │ │ └── projects │ │ │ └── basic │ │ │ ├── archetype.properties │ │ │ └── goal.txt │ └── pom.xml ├── src │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── kafka │ │ │ │ └── streams │ │ │ │ ├── KafkaClientSupplier.java │ │ │ │ ├── KafkaStreams.java │ │ │ │ ├── KeyQueryMetadata.java │ │ │ │ ├── KeyValue.java │ │ │ │ ├── LagInfo.java │ │ │ │ ├── StoreQueryParameters.java │ │ │ │ ├── StreamsBuilder.java │ │ │ │ ├── StreamsConfig.java │ │ │ │ ├── StreamsMetadata.java │ │ │ │ ├── StreamsMetrics.java │ │ │ │ ├── TaskMetadata.java │ │ │ │ ├── ThreadMetadata.java │ │ │ │ ├── Topology.java │ │ │ │ ├── TopologyDescription.java │ │ │ │ ├── errors │ │ │ │ ├── BrokerNotFoundException.java │ │ │ │ ├── DefaultProductionExceptionHandler.java │ │ │ │ ├── DeserializationExceptionHandler.java │ │ │ │ ├── InvalidStateStoreException.java │ │ │ │ ├── InvalidStateStorePartitionException.java │ │ │ │ ├── LockException.java │ │ │ │ ├── LogAndContinueExceptionHandler.java │ │ │ │ ├── LogAndFailExceptionHandler.java │ │ │ │ ├── MissingSourceTopicException.java │ │ │ │ ├── ProcessorStateException.java │ │ │ │ ├── ProductionExceptionHandler.java │ │ │ │ ├── StateStoreMigratedException.java │ │ │ │ ├── StateStoreNotAvailableException.java │ │ │ │ ├── StreamsException.java │ │ │ │ ├── StreamsNotStartedException.java │ │ │ │ ├── StreamsRebalancingException.java │ │ │ │ ├── StreamsUncaughtExceptionHandler.java │ │ │ │ ├── TaskAssignmentException.java │ │ │ │ ├── TaskCorruptedException.java │ │ │ │ ├── TaskIdFormatException.java │ │ │ │ ├── TaskMigratedException.java │ │ │ │ ├── TopologyException.java │ │ │ │ └── UnknownStateStoreException.java │ │ │ │ ├── internals │ │ │ │ ├── ApiUtils.java │ │ │ │ └── metrics │ │ │ │ │ └── ClientMetrics.java │ │ │ │ ├── kstream │ │ │ │ ├── Aggregator.java │ │ │ │ ├── Branched.java │ │ │ │ ├── BranchedKStream.java │ │ │ │ ├── CogroupedKStream.java │ │ │ │ ├── Consumed.java │ │ │ │ ├── ForeachAction.java │ │ │ │ ├── ForeachProcessor.java │ │ │ │ ├── GlobalKTable.java │ │ │ │ ├── Grouped.java │ │ │ │ ├── Initializer.java │ │ │ │ ├── JoinWindows.java │ │ │ │ ├── Joined.java │ │ │ │ ├── KGroupedStream.java │ │ │ │ ├── KGroupedTable.java │ │ │ │ ├── KStream.java │ │ │ │ ├── KTable.java │ │ │ │ ├── KeyValueMapper.java │ │ │ │ ├── Materialized.java │ │ │ │ ├── Merger.java │ │ │ │ ├── Named.java │ │ │ │ ├── NamedOperation.java │ │ │ │ ├── Predicate.java │ │ │ │ ├── Printed.java │ │ │ │ ├── Produced.java │ │ │ │ ├── Reducer.java │ │ │ │ ├── Repartitioned.java │ │ │ │ ├── SessionWindowedCogroupedKStream.java │ │ │ │ ├── SessionWindowedDeserializer.java │ │ │ │ ├── SessionWindowedKStream.java │ │ │ │ ├── SessionWindowedSerializer.java │ │ │ │ ├── SessionWindows.java │ │ │ │ ├── SlidingWindows.java │ │ │ │ ├── StreamJoined.java │ │ │ │ ├── Suppressed.java │ │ │ │ ├── TimeWindowedCogroupedKStream.java │ │ │ │ ├── TimeWindowedDeserializer.java │ │ │ │ ├── TimeWindowedKStream.java │ │ │ │ ├── TimeWindowedSerializer.java │ │ │ │ ├── TimeWindows.java │ │ │ │ ├── Transformer.java │ │ │ │ ├── TransformerSupplier.java │ │ │ │ ├── UnlimitedWindows.java │ │ │ │ ├── ValueJoiner.java │ │ │ │ ├── ValueJoinerWithKey.java │ │ │ │ ├── ValueMapper.java │ │ │ │ ├── ValueMapperWithKey.java │ │ │ │ ├── ValueTransformer.java │ │ │ │ ├── ValueTransformerSupplier.java │ │ │ │ ├── ValueTransformerWithKey.java │ │ │ │ ├── ValueTransformerWithKeySupplier.java │ │ │ │ ├── Window.java │ │ │ │ ├── Windowed.java │ │ │ │ ├── WindowedSerdes.java │ │ │ │ ├── Windows.java │ │ │ │ └── internals │ │ │ │ │ ├── AbstractStream.java │ │ │ │ │ ├── BranchedInternal.java │ │ │ │ │ ├── BranchedKStreamImpl.java │ │ │ │ │ ├── Change.java │ │ │ │ │ ├── ChangedDeserializer.java │ │ │ │ │ ├── ChangedSerializer.java │ │ │ │ │ ├── CogroupedKStreamImpl.java │ │ │ │ │ ├── CogroupedStreamAggregateBuilder.java │ │ │ │ │ ├── ConsumedInternal.java │ │ │ │ │ ├── FullChangeSerde.java │ │ │ │ │ ├── FullTimeWindowedSerde.java │ │ │ │ │ ├── GlobalKTableImpl.java │ │ │ │ │ ├── GroupedInternal.java │ │ │ │ │ ├── GroupedStreamAggregateBuilder.java │ │ │ │ │ ├── InternalNameProvider.java │ │ │ │ │ ├── InternalStreamsBuilder.java │ │ │ │ │ ├── JoinWindowsInternal.java │ │ │ │ │ ├── JoinedInternal.java │ │ │ │ │ ├── KGroupedStreamImpl.java │ │ │ │ │ ├── KGroupedTableImpl.java │ │ │ │ │ ├── KStreamAggProcessorSupplier.java │ │ │ │ │ ├── KStreamAggregate.java │ │ │ │ │ ├── KStreamBranch.java │ │ │ │ │ ├── KStreamFilter.java │ │ │ │ │ ├── KStreamFlatMap.java │ │ │ │ │ ├── KStreamFlatMapValues.java │ │ │ │ │ ├── KStreamFlatTransform.java │ │ │ │ │ ├── KStreamFlatTransformValues.java │ │ │ │ │ ├── KStreamGlobalKTableJoin.java │ │ │ │ │ ├── KStreamImpl.java │ │ │ │ │ ├── KStreamImplJoin.java │ │ │ │ │ ├── KStreamJoinWindow.java │ │ │ │ │ ├── KStreamKStreamJoin.java │ │ │ │ │ ├── KStreamKTableJoin.java │ │ │ │ │ ├── KStreamKTableJoinProcessor.java │ │ │ │ │ ├── KStreamMap.java │ │ │ │ │ ├── KStreamMapValues.java │ │ │ │ │ ├── KStreamPeek.java │ │ │ │ │ ├── KStreamPrint.java │ │ │ │ │ ├── KStreamReduce.java │ │ │ │ │ ├── KStreamSessionWindowAggregate.java │ │ │ │ │ ├── KStreamSlidingWindowAggregate.java │ │ │ │ │ ├── KStreamTransformValues.java │ │ │ │ │ ├── KStreamWindowAggregate.java │ │ │ │ │ ├── KTableAggregate.java │ │ │ │ │ ├── KTableFilter.java │ │ │ │ │ ├── KTableImpl.java │ │ │ │ │ ├── KTableKTableAbstractJoin.java │ │ │ │ │ ├── KTableKTableAbstractJoinValueGetterSupplier.java │ │ │ │ │ ├── KTableKTableInnerJoin.java │ │ │ │ │ ├── KTableKTableJoinMerger.java │ │ │ │ │ ├── KTableKTableLeftJoin.java │ │ │ │ │ ├── KTableKTableOuterJoin.java │ │ │ │ │ ├── KTableKTableRightJoin.java │ │ │ │ │ ├── KTableMapValues.java │ │ │ │ │ ├── KTableMaterializedValueGetterSupplier.java │ │ │ │ │ ├── KTableNewProcessorSupplier.java │ │ │ │ │ ├── KTablePassThrough.java │ │ │ │ │ ├── KTableProcessorSupplier.java │ │ │ │ │ ├── KTableReduce.java │ │ │ │ │ ├── KTableRepartitionMap.java │ │ │ │ │ ├── KTableSource.java │ │ │ │ │ ├── KTableSourceValueGetterSupplier.java │ │ │ │ │ ├── KTableTransformValues.java │ │ │ │ │ ├── KTableValueGetter.java │ │ │ │ │ ├── KTableValueGetterSupplier.java │ │ │ │ │ ├── MaterializedInternal.java │ │ │ │ │ ├── NamedInternal.java │ │ │ │ │ ├── PassThrough.java │ │ │ │ │ ├── PrintForeachAction.java │ │ │ │ │ ├── PrintedInternal.java │ │ │ │ │ ├── ProducedInternal.java │ │ │ │ │ ├── RepartitionedInternal.java │ │ │ │ │ ├── SessionCacheFlushListener.java │ │ │ │ │ ├── SessionTupleForwarder.java │ │ │ │ │ ├── SessionWindow.java │ │ │ │ │ ├── SessionWindowedCogroupedKStreamImpl.java │ │ │ │ │ ├── SessionWindowedKStreamImpl.java │ │ │ │ │ ├── SlidingWindowedCogroupedKStreamImpl.java │ │ │ │ │ ├── SlidingWindowedKStreamImpl.java │ │ │ │ │ ├── StreamJoinedInternal.java │ │ │ │ │ ├── TimeWindow.java │ │ │ │ │ ├── TimeWindowedCogroupedKStreamImpl.java │ │ │ │ │ ├── TimeWindowedKStreamImpl.java │ │ │ │ │ ├── TimestampedCacheFlushListener.java │ │ │ │ │ ├── TimestampedKeyValueStoreMaterializer.java │ │ │ │ │ ├── TimestampedTupleForwarder.java │ │ │ │ │ ├── TransformerSupplierAdapter.java │ │ │ │ │ ├── UnlimitedWindow.java │ │ │ │ │ ├── WindowedSerializer.java │ │ │ │ │ ├── WindowedStreamPartitioner.java │ │ │ │ │ ├── WrappingNullableDeserializer.java │ │ │ │ │ ├── WrappingNullableSerde.java │ │ │ │ │ ├── WrappingNullableSerializer.java │ │ │ │ │ ├── WrappingNullableUtils.java │ │ │ │ │ ├── foreignkeyjoin │ │ │ │ │ ├── CombinedKey.java │ │ │ │ │ ├── CombinedKeySchema.java │ │ │ │ │ ├── ForeignJoinSubscriptionProcessorSupplier.java │ │ │ │ │ ├── ForeignJoinSubscriptionSendProcessorSupplier.java │ │ │ │ │ ├── SubscriptionJoinForeignProcessorSupplier.java │ │ │ │ │ ├── SubscriptionResolverJoinProcessorSupplier.java │ │ │ │ │ ├── SubscriptionResponseWrapper.java │ │ │ │ │ ├── SubscriptionResponseWrapperSerde.java │ │ │ │ │ ├── SubscriptionStoreReceiveProcessorSupplier.java │ │ │ │ │ ├── SubscriptionWrapper.java │ │ │ │ │ └── SubscriptionWrapperSerde.java │ │ │ │ │ ├── graph │ │ │ │ │ ├── BaseJoinProcessorNode.java │ │ │ │ │ ├── BaseRepartitionNode.java │ │ │ │ │ ├── GlobalStoreNode.java │ │ │ │ │ ├── GraphGraceSearchUtil.java │ │ │ │ │ ├── GraphNode.java │ │ │ │ │ ├── GroupedTableOperationRepartitionNode.java │ │ │ │ │ ├── KTableKTableJoinNode.java │ │ │ │ │ ├── OptimizableRepartitionNode.java │ │ │ │ │ ├── ProcessorGraphNode.java │ │ │ │ │ ├── ProcessorParameters.java │ │ │ │ │ ├── SourceGraphNode.java │ │ │ │ │ ├── StateStoreNode.java │ │ │ │ │ ├── StatefulProcessorNode.java │ │ │ │ │ ├── StreamSinkNode.java │ │ │ │ │ ├── StreamSourceNode.java │ │ │ │ │ ├── StreamStreamJoinNode.java │ │ │ │ │ ├── StreamTableJoinNode.java │ │ │ │ │ ├── StreamToTableNode.java │ │ │ │ │ ├── TableProcessorNode.java │ │ │ │ │ ├── TableSourceNode.java │ │ │ │ │ └── UnoptimizableRepartitionNode.java │ │ │ │ │ └── suppress │ │ │ │ │ ├── BufferConfigInternal.java │ │ │ │ │ ├── BufferFullStrategy.java │ │ │ │ │ ├── EagerBufferConfigImpl.java │ │ │ │ │ ├── FinalResultsSuppressionBuilder.java │ │ │ │ │ ├── KTableSuppressProcessorSupplier.java │ │ │ │ │ ├── NamedSuppressed.java │ │ │ │ │ ├── StrictBufferConfigImpl.java │ │ │ │ │ ├── SuppressedInternal.java │ │ │ │ │ └── TimeDefinitions.java │ │ │ │ ├── processor │ │ │ │ ├── AbstractProcessor.java │ │ │ │ ├── BatchingStateRestoreCallback.java │ │ │ │ ├── Cancellable.java │ │ │ │ ├── ConnectedStoreProvider.java │ │ │ │ ├── ExtractRecordMetadataTimestamp.java │ │ │ │ ├── FailOnInvalidTimestamp.java │ │ │ │ ├── LogAndSkipOnInvalidTimestamp.java │ │ │ │ ├── Processor.java │ │ │ │ ├── ProcessorContext.java │ │ │ │ ├── ProcessorSupplier.java │ │ │ │ ├── PunctuationType.java │ │ │ │ ├── Punctuator.java │ │ │ │ ├── RecordContext.java │ │ │ │ ├── StateRestoreCallback.java │ │ │ │ ├── StateRestoreListener.java │ │ │ │ ├── StateStore.java │ │ │ │ ├── StateStoreContext.java │ │ │ │ ├── StreamPartitioner.java │ │ │ │ ├── TaskId.java │ │ │ │ ├── TaskMetadata.java │ │ │ │ ├── ThreadMetadata.java │ │ │ │ ├── TimestampExtractor.java │ │ │ │ ├── To.java │ │ │ │ ├── TopicNameExtractor.java │ │ │ │ ├── UsePartitionTimeOnInvalidTimestamp.java │ │ │ │ ├── WallclockTimestampExtractor.java │ │ │ │ ├── api │ │ │ │ │ ├── ContextualProcessor.java │ │ │ │ │ ├── Processor.java │ │ │ │ │ ├── ProcessorContext.java │ │ │ │ │ ├── ProcessorSupplier.java │ │ │ │ │ ├── Record.java │ │ │ │ │ └── RecordMetadata.java │ │ │ │ └── internals │ │ │ │ │ ├── AbstractProcessorContext.java │ │ │ │ │ ├── AbstractReadOnlyDecorator.java │ │ │ │ │ ├── AbstractReadWriteDecorator.java │ │ │ │ │ ├── AbstractTask.java │ │ │ │ │ ├── ActiveTaskCreator.java │ │ │ │ │ ├── ChangelogReader.java │ │ │ │ │ ├── ChangelogRegister.java │ │ │ │ │ ├── ChangelogTopics.java │ │ │ │ │ ├── ClientUtils.java │ │ │ │ │ ├── DefaultKafkaClientSupplier.java │ │ │ │ │ ├── DefaultStreamPartitioner.java │ │ │ │ │ ├── ForwardingDisabledProcessorContext.java │ │ │ │ │ ├── GlobalProcessorContextImpl.java │ │ │ │ │ ├── GlobalStateMaintainer.java │ │ │ │ │ ├── GlobalStateManager.java │ │ │ │ │ ├── GlobalStateManagerImpl.java │ │ │ │ │ ├── GlobalStateUpdateTask.java │ │ │ │ │ ├── GlobalStreamThread.java │ │ │ │ │ ├── InternalProcessorContext.java │ │ │ │ │ ├── InternalTopicConfig.java │ │ │ │ │ ├── InternalTopicManager.java │ │ │ │ │ ├── InternalTopicProperties.java │ │ │ │ │ ├── InternalTopologyBuilder.java │ │ │ │ │ ├── PartitionGroup.java │ │ │ │ │ ├── PartitionGrouper.java │ │ │ │ │ ├── ProcessorAdapter.java │ │ │ │ │ ├── ProcessorContextImpl.java │ │ │ │ │ ├── ProcessorContextUtils.java │ │ │ │ │ ├── ProcessorNode.java │ │ │ │ │ ├── ProcessorNodePunctuator.java │ │ │ │ │ ├── ProcessorRecordContext.java │ │ │ │ │ ├── ProcessorStateManager.java │ │ │ │ │ ├── ProcessorTopology.java │ │ │ │ │ ├── PunctuationQueue.java │ │ │ │ │ ├── PunctuationSchedule.java │ │ │ │ │ ├── QuickUnion.java │ │ │ │ │ ├── RecordBatchingStateRestoreCallback.java │ │ │ │ │ ├── RecordCollector.java │ │ │ │ │ ├── RecordCollectorImpl.java │ │ │ │ │ ├── RecordDeserializer.java │ │ │ │ │ ├── RecordQueue.java │ │ │ │ │ ├── RepartitionTopicConfig.java │ │ │ │ │ ├── RepartitionTopics.java │ │ │ │ │ ├── RestoringTasks.java │ │ │ │ │ ├── SerdeGetter.java │ │ │ │ │ ├── SinkNode.java │ │ │ │ │ ├── SourceNode.java │ │ │ │ │ ├── Stamped.java │ │ │ │ │ ├── StampedRecord.java │ │ │ │ │ ├── StandbyTask.java │ │ │ │ │ ├── StandbyTaskCreator.java │ │ │ │ │ ├── StateDirectory.java │ │ │ │ │ ├── StateManager.java │ │ │ │ │ ├── StateManagerUtil.java │ │ │ │ │ ├── StateRestoreCallbackAdapter.java │ │ │ │ │ ├── StaticTopicNameExtractor.java │ │ │ │ │ ├── StoreChangelogReader.java │ │ │ │ │ ├── StoreToProcessorContextAdapter.java │ │ │ │ │ ├── StreamTask.java │ │ │ │ │ ├── StreamThread.java │ │ │ │ │ ├── StreamsMetadataState.java │ │ │ │ │ ├── StreamsPartitionAssignor.java │ │ │ │ │ ├── StreamsProducer.java │ │ │ │ │ ├── StreamsRebalanceListener.java │ │ │ │ │ ├── Task.java │ │ │ │ │ ├── TaskAction.java │ │ │ │ │ ├── TaskManager.java │ │ │ │ │ ├── TaskMetadataImpl.java │ │ │ │ │ ├── Tasks.java │ │ │ │ │ ├── ThreadMetadataImpl.java │ │ │ │ │ ├── ThreadStateTransitionValidator.java │ │ │ │ │ ├── ToInternal.java │ │ │ │ │ ├── TopologyMetadata.java │ │ │ │ │ ├── UnwindowedChangelogTopicConfig.java │ │ │ │ │ ├── WindowedChangelogTopicConfig.java │ │ │ │ │ ├── assignment │ │ │ │ │ ├── AssignmentInfo.java │ │ │ │ │ ├── AssignorConfiguration.java │ │ │ │ │ ├── AssignorError.java │ │ │ │ │ ├── ClientState.java │ │ │ │ │ ├── ClientStateTask.java │ │ │ │ │ ├── ConstrainedPrioritySet.java │ │ │ │ │ ├── ConsumerProtocolUtils.java │ │ │ │ │ ├── CopartitionedTopicsEnforcer.java │ │ │ │ │ ├── FallbackPriorTaskAssignor.java │ │ │ │ │ ├── HighAvailabilityTaskAssignor.java │ │ │ │ │ ├── ReferenceContainer.java │ │ │ │ │ ├── StickyTaskAssignor.java │ │ │ │ │ ├── StreamsAssignmentProtocolVersions.java │ │ │ │ │ ├── SubscriptionInfo.java │ │ │ │ │ ├── TaskAssignor.java │ │ │ │ │ └── TaskMovement.java │ │ │ │ │ ├── metrics │ │ │ │ │ ├── ProcessorNodeMetrics.java │ │ │ │ │ ├── StreamsMetricsImpl.java │ │ │ │ │ ├── TaskMetrics.java │ │ │ │ │ └── ThreadMetrics.java │ │ │ │ │ └── namedtopology │ │ │ │ │ ├── KafkaStreamsNamedTopologyWrapper.java │ │ │ │ │ ├── NamedTopology.java │ │ │ │ │ └── NamedTopologyStreamsBuilder.java │ │ │ │ └── state │ │ │ │ ├── HostInfo.java │ │ │ │ ├── KeyValueBytesStoreSupplier.java │ │ │ │ ├── KeyValueIterator.java │ │ │ │ ├── KeyValueStore.java │ │ │ │ ├── QueryableStoreType.java │ │ │ │ ├── QueryableStoreTypes.java │ │ │ │ ├── ReadOnlyKeyValueStore.java │ │ │ │ ├── ReadOnlySessionStore.java │ │ │ │ ├── ReadOnlyWindowStore.java │ │ │ │ ├── RocksDBConfigSetter.java │ │ │ │ ├── SessionBytesStoreSupplier.java │ │ │ │ ├── SessionStore.java │ │ │ │ ├── StateSerdes.java │ │ │ │ ├── StoreBuilder.java │ │ │ │ ├── StoreSupplier.java │ │ │ │ ├── Stores.java │ │ │ │ ├── StreamsMetadata.java │ │ │ │ ├── TimestampedBytesStore.java │ │ │ │ ├── TimestampedKeyValueStore.java │ │ │ │ ├── TimestampedWindowStore.java │ │ │ │ ├── ValueAndTimestamp.java │ │ │ │ ├── WindowBytesStoreSupplier.java │ │ │ │ ├── WindowStore.java │ │ │ │ ├── WindowStoreIterator.java │ │ │ │ └── internals │ │ │ │ ├── AbstractMergedSortedCacheStoreIterator.java │ │ │ │ ├── AbstractRocksDBSegmentedBytesStore.java │ │ │ │ ├── AbstractSegments.java │ │ │ │ ├── AbstractStoreBuilder.java │ │ │ │ ├── BatchWritingStore.java │ │ │ │ ├── BlockBasedTableConfigWithAccessibleCache.java │ │ │ │ ├── BufferKey.java │ │ │ │ ├── BufferValue.java │ │ │ │ ├── CacheFlushListener.java │ │ │ │ ├── CacheFunction.java │ │ │ │ ├── CachedStateStore.java │ │ │ │ ├── CachingKeyValueStore.java │ │ │ │ ├── CachingSessionStore.java │ │ │ │ ├── CachingWindowStore.java │ │ │ │ ├── ChangeLoggingKeyValueBytesStore.java │ │ │ │ ├── ChangeLoggingSessionBytesStore.java │ │ │ │ ├── ChangeLoggingTimestampedKeyValueBytesStore.java │ │ │ │ ├── ChangeLoggingTimestampedWindowBytesStore.java │ │ │ │ ├── ChangeLoggingWindowBytesStore.java │ │ │ │ ├── CompositeKeyValueIterator.java │ │ │ │ ├── CompositeReadOnlyKeyValueStore.java │ │ │ │ ├── CompositeReadOnlySessionStore.java │ │ │ │ ├── CompositeReadOnlyWindowStore.java │ │ │ │ ├── ContextualRecord.java │ │ │ │ ├── DelegatingPeekingKeyValueIterator.java │ │ │ │ ├── ExceptionUtils.java │ │ │ │ ├── FilteredCacheIterator.java │ │ │ │ ├── GlobalStateStoreProvider.java │ │ │ │ ├── HasNextCondition.java │ │ │ │ ├── InMemoryKeyValueStore.java │ │ │ │ ├── InMemorySessionBytesStoreSupplier.java │ │ │ │ ├── InMemorySessionStore.java │ │ │ │ ├── InMemoryTimeOrderedKeyValueBuffer.java │ │ │ │ ├── InMemoryWindowBytesStoreSupplier.java │ │ │ │ ├── InMemoryWindowStore.java │ │ │ │ ├── KeyAndJoinSide.java │ │ │ │ ├── KeyAndJoinSideDeserializer.java │ │ │ │ ├── KeyAndJoinSideSerde.java │ │ │ │ ├── KeyAndJoinSideSerializer.java │ │ │ │ ├── KeyValueIteratorFacade.java │ │ │ │ ├── KeyValueIterators.java │ │ │ │ ├── KeyValueSegment.java │ │ │ │ ├── KeyValueSegments.java │ │ │ │ ├── KeyValueStoreBuilder.java │ │ │ │ ├── KeyValueToTimestampedKeyValueByteStoreAdapter.java │ │ │ │ ├── KeyValueToTimestampedKeyValueIteratorAdapter.java │ │ │ │ ├── LRUCacheEntry.java │ │ │ │ ├── LeftOrRightValue.java │ │ │ │ ├── LeftOrRightValueDeserializer.java │ │ │ │ ├── LeftOrRightValueSerde.java │ │ │ │ ├── LeftOrRightValueSerializer.java │ │ │ │ ├── Maybe.java │ │ │ │ ├── MemoryLRUCache.java │ │ │ │ ├── MemoryNavigableLRUCache.java │ │ │ │ ├── MergedSortedCacheKeyValueBytesStoreIterator.java │ │ │ │ ├── MergedSortedCacheSessionStoreIterator.java │ │ │ │ ├── MergedSortedCacheWindowStoreIterator.java │ │ │ │ ├── MergedSortedCacheWindowStoreKeyValueIterator.java │ │ │ │ ├── MeteredKeyValueStore.java │ │ │ │ ├── MeteredSessionStore.java │ │ │ │ ├── MeteredTimestampedKeyValueStore.java │ │ │ │ ├── MeteredTimestampedWindowStore.java │ │ │ │ ├── MeteredWindowStore.java │ │ │ │ ├── MeteredWindowStoreIterator.java │ │ │ │ ├── MeteredWindowedKeyValueIterator.java │ │ │ │ ├── Murmur3.java │ │ │ │ ├── NamedCache.java │ │ │ │ ├── NextIteratorFunction.java │ │ │ │ ├── OffsetCheckpoint.java │ │ │ │ ├── OrderedBytes.java │ │ │ │ ├── PeekingKeyValueIterator.java │ │ │ │ ├── QueryableStoreProvider.java │ │ │ │ ├── ReadOnlyKeyValueStoreFacade.java │ │ │ │ ├── ReadOnlyWindowStoreFacade.java │ │ │ │ ├── RecordConverter.java │ │ │ │ ├── RecordConverters.java │ │ │ │ ├── RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java │ │ │ │ ├── RocksDBRangeIterator.java │ │ │ │ ├── RocksDBSegmentedBytesStore.java │ │ │ │ ├── RocksDBSessionStore.java │ │ │ │ ├── RocksDBStore.java │ │ │ │ ├── RocksDBTimeOrderedWindowStore.java │ │ │ │ ├── RocksDBTimestampedSegmentedBytesStore.java │ │ │ │ ├── RocksDBTimestampedStore.java │ │ │ │ ├── RocksDBTimestampedWindowStore.java │ │ │ │ ├── RocksDBWindowStore.java │ │ │ │ ├── RocksDbIterator.java │ │ │ │ ├── RocksDbKeyValueBytesStoreSupplier.java │ │ │ │ ├── RocksDbSessionBytesStoreSupplier.java │ │ │ │ ├── RocksDbWindowBytesStoreSupplier.java │ │ │ │ ├── Segment.java │ │ │ │ ├── SegmentIterator.java │ │ │ │ ├── SegmentedBytesStore.java │ │ │ │ ├── SegmentedCacheFunction.java │ │ │ │ ├── Segments.java │ │ │ │ ├── SessionKeySchema.java │ │ │ │ ├── SessionStoreBuilder.java │ │ │ │ ├── StateStoreProvider.java │ │ │ │ ├── StreamThreadStateStoreProvider.java │ │ │ │ ├── StreamsMetadataImpl.java │ │ │ │ ├── ThreadCache.java │ │ │ │ ├── TimeOrderedKeySchema.java │ │ │ │ ├── TimeOrderedKeyValueBuffer.java │ │ │ │ ├── TimeOrderedKeyValueBufferChangelogDeserializationHelper.java │ │ │ │ ├── TimeOrderedWindowStoreBuilder.java │ │ │ │ ├── TimestampedKeyValueStoreBuilder.java │ │ │ │ ├── TimestampedSegment.java │ │ │ │ ├── TimestampedSegments.java │ │ │ │ ├── TimestampedWindowStoreBuilder.java │ │ │ │ ├── ValueAndTimestampDeserializer.java │ │ │ │ ├── ValueAndTimestampSerde.java │ │ │ │ ├── ValueAndTimestampSerializer.java │ │ │ │ ├── WindowKeySchema.java │ │ │ │ ├── WindowStoreBuilder.java │ │ │ │ ├── WindowStoreIteratorWrapper.java │ │ │ │ ├── WindowToTimestampedWindowByteStoreAdapter.java │ │ │ │ ├── WrappedSessionStoreIterator.java │ │ │ │ ├── WrappedStateStore.java │ │ │ │ ├── WrappingStoreProvider.java │ │ │ │ └── metrics │ │ │ │ ├── NamedCacheMetrics.java │ │ │ │ ├── RocksDBMetrics.java │ │ │ │ ├── RocksDBMetricsRecorder.java │ │ │ │ ├── RocksDBMetricsRecordingTrigger.java │ │ │ │ └── StateStoreMetrics.java │ │ └── resources │ │ │ └── common │ │ │ └── message │ │ │ └── SubscriptionInfoData.json │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ ├── common │ │ │ └── metrics │ │ │ │ └── SensorAccessor.java │ │ │ ├── streams │ │ │ ├── EqualityCheck.java │ │ │ ├── KafkaStreamsTest.java │ │ │ ├── KafkaStreamsWrapper.java │ │ │ ├── KeyValueTest.java │ │ │ ├── KeyValueTimestamp.java │ │ │ ├── StreamsBuilderTest.java │ │ │ ├── StreamsConfigTest.java │ │ │ ├── TopologyTest.java │ │ │ ├── TopologyTestDriverWrapper.java │ │ │ ├── TopologyWrapper.java │ │ │ ├── errors │ │ │ │ └── AlwaysContinueProductionExceptionHandler.java │ │ │ ├── integration │ │ │ │ ├── AbstractJoinIntegrationTest.java │ │ │ │ ├── AbstractResetIntegrationTest.java │ │ │ │ ├── AdjustStreamThreadCountTest.java │ │ │ │ ├── EOSUncleanShutdownIntegrationTest.java │ │ │ │ ├── EmitOnChangeIntegrationTest.java │ │ │ │ ├── EosIntegrationTest.java │ │ │ │ ├── EosV2UpgradeIntegrationTest.java │ │ │ │ ├── FineGrainedAutoResetIntegrationTest.java │ │ │ │ ├── ForeignKeyJoinSuite.java │ │ │ │ ├── GlobalKTableEOSIntegrationTest.java │ │ │ │ ├── GlobalKTableIntegrationTest.java │ │ │ │ ├── GlobalThreadShutDownOrderTest.java │ │ │ │ ├── HighAvailabilityTaskAssignorIntegrationTest.java │ │ │ │ ├── InternalTopicIntegrationTest.java │ │ │ │ ├── JoinStoreIntegrationTest.java │ │ │ │ ├── JoinWithIncompleteMetadataIntegrationTest.java │ │ │ │ ├── KStreamAggregationDedupIntegrationTest.java │ │ │ │ ├── KStreamAggregationIntegrationTest.java │ │ │ │ ├── KStreamRepartitionIntegrationTest.java │ │ │ │ ├── KStreamTransformIntegrationTest.java │ │ │ │ ├── KTableKTableForeignKeyInnerJoinMultiIntegrationTest.java │ │ │ │ ├── KTableKTableForeignKeyJoinDistributedTest.java │ │ │ │ ├── KTableKTableForeignKeyJoinIntegrationTest.java │ │ │ │ ├── KTableKTableForeignKeyJoinMaterializationIntegrationTest.java │ │ │ │ ├── KTableSourceTopicRestartIntegrationTest.java │ │ │ │ ├── LagFetchIntegrationTest.java │ │ │ │ ├── MetricsIntegrationTest.java │ │ │ │ ├── MetricsReporterIntegrationTest.java │ │ │ │ ├── NamedTopologyIntegrationTest.java │ │ │ │ ├── OptimizedKTableIntegrationTest.java │ │ │ │ ├── PurgeRepartitionTopicIntegrationTest.java │ │ │ │ ├── QueryableStateIntegrationTest.java │ │ │ │ ├── RegexSourceIntegrationTest.java │ │ │ │ ├── ResetIntegrationTest.java │ │ │ │ ├── ResetIntegrationWithSslTest.java │ │ │ │ ├── ResetPartitionTimeIntegrationTest.java │ │ │ │ ├── RestoreIntegrationTest.java │ │ │ │ ├── RocksDBMetricsIntegrationTest.java │ │ │ │ ├── SmokeTestDriverIntegrationTest.java │ │ │ │ ├── StandbyTaskCreationIntegrationTest.java │ │ │ │ ├── StandbyTaskEOSIntegrationTest.java │ │ │ │ ├── StateDirectoryIntegrationTest.java │ │ │ │ ├── StateRestorationIntegrationTest.java │ │ │ │ ├── StoreQueryIntegrationTest.java │ │ │ │ ├── StoreQuerySuite.java │ │ │ │ ├── StoreUpgradeIntegrationTest.java │ │ │ │ ├── StreamStreamJoinIntegrationTest.java │ │ │ │ ├── StreamTableJoinIntegrationTest.java │ │ │ │ ├── StreamTableJoinTopologyOptimizationIntegrationTest.java │ │ │ │ ├── StreamsUncaughtExceptionHandlerIntegrationTest.java │ │ │ │ ├── StreamsUpgradeTestIntegrationTest.java │ │ │ │ ├── SuppressionDurabilityIntegrationTest.java │ │ │ │ ├── SuppressionIntegrationTest.java │ │ │ │ ├── TableTableJoinIntegrationTest.java │ │ │ │ ├── TaskAssignorIntegrationTest.java │ │ │ │ ├── TaskMetadataIntegrationTest.java │ │ │ │ └── utils │ │ │ │ │ ├── CompositeStateListener.java │ │ │ │ │ ├── EmbeddedKafkaCluster.java │ │ │ │ │ ├── IntegrationTestUtils.java │ │ │ │ │ └── KafkaEmbedded.java │ │ │ ├── internals │ │ │ │ ├── ApiUtilsTest.java │ │ │ │ └── metrics │ │ │ │ │ └── ClientMetricsTest.java │ │ │ ├── kstream │ │ │ │ ├── JoinWindowsTest.java │ │ │ │ ├── MaterializedTest.java │ │ │ │ ├── NamedTest.java │ │ │ │ ├── PrintedTest.java │ │ │ │ ├── RepartitionTopicNamingTest.java │ │ │ │ ├── SessionWindowedDeserializerTest.java │ │ │ │ ├── SessionWindowedSerializerTest.java │ │ │ │ ├── SessionWindowsTest.java │ │ │ │ ├── SlidingWindowsTest.java │ │ │ │ ├── SuppressedTest.java │ │ │ │ ├── TimeWindowedDeserializerTest.java │ │ │ │ ├── TimeWindowedSerializerTest.java │ │ │ │ ├── TimeWindowsTest.java │ │ │ │ ├── UnlimitedWindowsTest.java │ │ │ │ ├── WindowTest.java │ │ │ │ ├── WindowedSerdesTest.java │ │ │ │ └── internals │ │ │ │ │ ├── AbstractStreamTest.java │ │ │ │ │ ├── CogroupedKStreamImplTest.java │ │ │ │ │ ├── FullChangeSerdeTest.java │ │ │ │ │ ├── GlobalKTableJoinsTest.java │ │ │ │ │ ├── InternalStreamsBuilderTest.java │ │ │ │ │ ├── KGroupedStreamImplTest.java │ │ │ │ │ ├── KGroupedTableImplTest.java │ │ │ │ │ ├── KStreamBranchTest.java │ │ │ │ │ ├── KStreamFilterTest.java │ │ │ │ │ ├── KStreamFlatMapTest.java │ │ │ │ │ ├── KStreamFlatMapValuesTest.java │ │ │ │ │ ├── KStreamFlatTransformTest.java │ │ │ │ │ ├── KStreamFlatTransformValuesTest.java │ │ │ │ │ ├── KStreamForeachTest.java │ │ │ │ │ ├── KStreamGlobalKTableJoinTest.java │ │ │ │ │ ├── KStreamGlobalKTableLeftJoinTest.java │ │ │ │ │ ├── KStreamImplTest.java │ │ │ │ │ ├── KStreamImplValueJoinerWithKeyTest.java │ │ │ │ │ ├── KStreamKStreamJoinTest.java │ │ │ │ │ ├── KStreamKStreamLeftJoinTest.java │ │ │ │ │ ├── KStreamKStreamOuterJoinTest.java │ │ │ │ │ ├── KStreamKTableJoinTest.java │ │ │ │ │ ├── KStreamKTableLeftJoinTest.java │ │ │ │ │ ├── KStreamMapTest.java │ │ │ │ │ ├── KStreamMapValuesTest.java │ │ │ │ │ ├── KStreamPeekTest.java │ │ │ │ │ ├── KStreamPrintTest.java │ │ │ │ │ ├── KStreamRepartitionTest.java │ │ │ │ │ ├── KStreamSelectKeyTest.java │ │ │ │ │ ├── KStreamSessionWindowAggregateProcessorTest.java │ │ │ │ │ ├── KStreamSlidingWindowAggregateTest.java │ │ │ │ │ ├── KStreamSplitTest.java │ │ │ │ │ ├── KStreamTransformTest.java │ │ │ │ │ ├── KStreamTransformValuesTest.java │ │ │ │ │ ├── KStreamWindowAggregateTest.java │ │ │ │ │ ├── KTableAggregateTest.java │ │ │ │ │ ├── KTableFilterTest.java │ │ │ │ │ ├── KTableImplTest.java │ │ │ │ │ ├── KTableKTableForeignKeyJoinScenarioTest.java │ │ │ │ │ ├── KTableKTableInnerJoinTest.java │ │ │ │ │ ├── KTableKTableLeftJoinTest.java │ │ │ │ │ ├── KTableKTableOuterJoinTest.java │ │ │ │ │ ├── KTableKTableRightJoinTest.java │ │ │ │ │ ├── KTableMapKeysTest.java │ │ │ │ │ ├── KTableMapValuesTest.java │ │ │ │ │ ├── KTableReduceTest.java │ │ │ │ │ ├── KTableSourceTest.java │ │ │ │ │ ├── KTableTransformValuesTest.java │ │ │ │ │ ├── MaterializedInternalTest.java │ │ │ │ │ ├── NamedInternalTest.java │ │ │ │ │ ├── SessionCacheFlushListenerTest.java │ │ │ │ │ ├── SessionTupleForwarderTest.java │ │ │ │ │ ├── SessionWindowTest.java │ │ │ │ │ ├── SessionWindowedCogroupedKStreamImplTest.java │ │ │ │ │ ├── SessionWindowedKStreamImplTest.java │ │ │ │ │ ├── SlidingWindowedCogroupedKStreamImplTest.java │ │ │ │ │ ├── SlidingWindowedKStreamImplTest.java │ │ │ │ │ ├── SuppressScenarioTest.java │ │ │ │ │ ├── SuppressTopologyTest.java │ │ │ │ │ ├── TimeWindowTest.java │ │ │ │ │ ├── TimeWindowedCogroupedKStreamImplTest.java │ │ │ │ │ ├── TimeWindowedKStreamImplTest.java │ │ │ │ │ ├── TimestampedCacheFlushListenerTest.java │ │ │ │ │ ├── TimestampedTupleForwarderTest.java │ │ │ │ │ ├── TransformerSupplierAdapterTest.java │ │ │ │ │ ├── UnlimitedWindowTest.java │ │ │ │ │ ├── WindowedStreamPartitionerTest.java │ │ │ │ │ ├── foreignkeyjoin │ │ │ │ │ ├── CombinedKeySchemaTest.java │ │ │ │ │ ├── SubscriptionResolverJoinProcessorSupplierTest.java │ │ │ │ │ ├── SubscriptionResponseWrapperSerdeTest.java │ │ │ │ │ └── SubscriptionWrapperSerdeTest.java │ │ │ │ │ ├── graph │ │ │ │ │ ├── GraphGraceSearchUtilTest.java │ │ │ │ │ ├── StreamsGraphTest.java │ │ │ │ │ ├── TableProcessorNodeTest.java │ │ │ │ │ └── TableSourceNodeTest.java │ │ │ │ │ └── suppress │ │ │ │ │ ├── KTableSuppressProcessorMetricsTest.java │ │ │ │ │ ├── KTableSuppressProcessorTest.java │ │ │ │ │ └── SuppressSuite.java │ │ │ ├── processor │ │ │ │ ├── FailOnInvalidTimestampTest.java │ │ │ │ ├── LogAndSkipOnInvalidTimestampTest.java │ │ │ │ ├── TimestampExtractorTest.java │ │ │ │ ├── UsePartitionTimeOnInvalidTimestampTest.java │ │ │ │ ├── WallclockTimestampExtractorTest.java │ │ │ │ └── internals │ │ │ │ │ ├── AbstractProcessorContextTest.java │ │ │ │ │ ├── ActiveTaskCreatorTest.java │ │ │ │ │ ├── ChangelogTopicsTest.java │ │ │ │ │ ├── ClientUtilsTest.java │ │ │ │ │ ├── CopartitionedTopicsEnforcerTest.java │ │ │ │ │ ├── ForwardingDisabledProcessorContextTest.java │ │ │ │ │ ├── GlobalProcessorContextImplTest.java │ │ │ │ │ ├── GlobalStateManagerImplTest.java │ │ │ │ │ ├── GlobalStateTaskTest.java │ │ │ │ │ ├── GlobalStreamThreadTest.java │ │ │ │ │ ├── HandlingSourceTopicDeletionIntegrationTest.java │ │ │ │ │ ├── HighAvailabilityStreamsPartitionAssignorTest.java │ │ │ │ │ ├── InternalTopicConfigTest.java │ │ │ │ │ ├── InternalTopicManagerTest.java │ │ │ │ │ ├── InternalTopologyBuilderTest.java │ │ │ │ │ ├── MockChangelogReader.java │ │ │ │ │ ├── MockStreamsMetrics.java │ │ │ │ │ ├── PartitionGroupTest.java │ │ │ │ │ ├── PartitionGrouperTest.java │ │ │ │ │ ├── ProcessorContextImplTest.java │ │ │ │ │ ├── ProcessorContextTest.java │ │ │ │ │ ├── ProcessorNodeTest.java │ │ │ │ │ ├── ProcessorRecordContextTest.java │ │ │ │ │ ├── ProcessorStateManagerTest.java │ │ │ │ │ ├── ProcessorTopologyFactories.java │ │ │ │ │ ├── ProcessorTopologyTest.java │ │ │ │ │ ├── PunctuationQueueTest.java │ │ │ │ │ ├── QuickUnionTest.java │ │ │ │ │ ├── RecordCollectorTest.java │ │ │ │ │ ├── RecordDeserializerTest.java │ │ │ │ │ ├── RecordQueueTest.java │ │ │ │ │ ├── RepartitionOptimizingTest.java │ │ │ │ │ ├── RepartitionTopicConfigTest.java │ │ │ │ │ ├── RepartitionTopicsTest.java │ │ │ │ │ ├── RepartitionWithMergeOptimizingTest.java │ │ │ │ │ ├── SinkNodeTest.java │ │ │ │ │ ├── SourceNodeTest.java │ │ │ │ │ ├── StandbyTaskTest.java │ │ │ │ │ ├── StateConsumerTest.java │ │ │ │ │ ├── StateDirectoryTest.java │ │ │ │ │ ├── StateManagerStub.java │ │ │ │ │ ├── StateManagerUtilTest.java │ │ │ │ │ ├── StateRestoreCallbackAdapterTest.java │ │ │ │ │ ├── StoreChangelogReaderTest.java │ │ │ │ │ ├── StoreToProcessorContextAdapterTest.java │ │ │ │ │ ├── StreamTaskTest.java │ │ │ │ │ ├── StreamThreadTest.java │ │ │ │ │ ├── StreamsAssignmentScaleTest.java │ │ │ │ │ ├── StreamsMetadataStateTest.java │ │ │ │ │ ├── StreamsPartitionAssignorTest.java │ │ │ │ │ ├── StreamsProducerTest.java │ │ │ │ │ ├── StreamsRebalanceListenerTest.java │ │ │ │ │ ├── TaskManagerTest.java │ │ │ │ │ ├── TaskMetadataImplTest.java │ │ │ │ │ ├── TaskSuite.java │ │ │ │ │ ├── ThreadMetadataImplTest.java │ │ │ │ │ ├── TimestampedKeyValueStoreMaterializerTest.java │ │ │ │ │ ├── assignment │ │ │ │ │ ├── AssignmentInfoTest.java │ │ │ │ │ ├── AssignmentTestUtils.java │ │ │ │ │ ├── AssignorConfigurationTest.java │ │ │ │ │ ├── ClientStateTest.java │ │ │ │ │ ├── ConstrainedPrioritySetTest.java │ │ │ │ │ ├── FallbackPriorTaskAssignorTest.java │ │ │ │ │ ├── HighAvailabilityTaskAssignorTest.java │ │ │ │ │ ├── LegacySubscriptionInfoSerde.java │ │ │ │ │ ├── StickyTaskAssignorTest.java │ │ │ │ │ ├── SubscriptionInfoTest.java │ │ │ │ │ ├── TaskAssignorConvergenceTest.java │ │ │ │ │ └── TaskMovementTest.java │ │ │ │ │ ├── metrics │ │ │ │ │ ├── ProcessorNodeMetricsTest.java │ │ │ │ │ ├── StreamsMetricsImplTest.java │ │ │ │ │ ├── TaskMetricsTest.java │ │ │ │ │ └── ThreadMetricsTest.java │ │ │ │ │ └── testutil │ │ │ │ │ ├── ConsumerRecordUtil.java │ │ │ │ │ └── LogCaptureAppender.java │ │ │ ├── state │ │ │ │ ├── HostInfoTest.java │ │ │ │ ├── KeyValueStoreTestDriver.java │ │ │ │ ├── NoOpWindowStore.java │ │ │ │ ├── StateSerdesTest.java │ │ │ │ ├── StoresTest.java │ │ │ │ ├── StreamsMetadataTest.java │ │ │ │ └── internals │ │ │ │ │ ├── AbstractKeyValueStoreTest.java │ │ │ │ │ ├── AbstractRocksDBSegmentedBytesStoreTest.java │ │ │ │ │ ├── AbstractSessionBytesStoreTest.java │ │ │ │ │ ├── AbstractWindowBytesStoreTest.java │ │ │ │ │ ├── BlockBasedTableConfigWithAccessibleCacheTest.java │ │ │ │ │ ├── BufferValueTest.java │ │ │ │ │ ├── CacheFlushListenerStub.java │ │ │ │ │ ├── CachingInMemoryKeyValueStoreTest.java │ │ │ │ │ ├── CachingInMemorySessionStoreTest.java │ │ │ │ │ ├── CachingPersistentSessionStoreTest.java │ │ │ │ │ ├── CachingPersistentWindowStoreTest.java │ │ │ │ │ ├── ChangeLoggingKeyValueBytesStoreTest.java │ │ │ │ │ ├── ChangeLoggingSessionBytesStoreTest.java │ │ │ │ │ ├── ChangeLoggingTimestampedKeyValueBytesStoreTest.java │ │ │ │ │ ├── ChangeLoggingTimestampedWindowBytesStoreTest.java │ │ │ │ │ ├── ChangeLoggingWindowBytesStoreTest.java │ │ │ │ │ ├── CompositeReadOnlyKeyValueStoreTest.java │ │ │ │ │ ├── CompositeReadOnlySessionStoreTest.java │ │ │ │ │ ├── CompositeReadOnlyWindowStoreTest.java │ │ │ │ │ ├── DelegatingPeekingKeyValueIteratorTest.java │ │ │ │ │ ├── FilteredCacheIteratorTest.java │ │ │ │ │ ├── GlobalStateStoreProviderTest.java │ │ │ │ │ ├── InMemoryKeyValueLoggedStoreTest.java │ │ │ │ │ ├── InMemoryKeyValueStoreTest.java │ │ │ │ │ ├── InMemoryLRUCacheStoreTest.java │ │ │ │ │ ├── InMemorySessionStoreTest.java │ │ │ │ │ ├── InMemoryTimeOrderedKeyValueBufferTest.java │ │ │ │ │ ├── InMemoryWindowStoreTest.java │ │ │ │ │ ├── KeyAndJoinSideSerializerTest.java │ │ │ │ │ ├── KeyValueIteratorFacadeTest.java │ │ │ │ │ ├── KeyValueSegmentTest.java │ │ │ │ │ ├── KeyValueSegmentsTest.java │ │ │ │ │ ├── KeyValueStoreBuilderTest.java │ │ │ │ │ ├── LeftOrRightValueSerializerTest.java │ │ │ │ │ ├── MaybeTest.java │ │ │ │ │ ├── MergedSortedCacheKeyValueBytesStoreIteratorTest.java │ │ │ │ │ ├── MergedSortedCacheWrappedSessionStoreIteratorTest.java │ │ │ │ │ ├── MergedSortedCacheWrappedWindowStoreIteratorTest.java │ │ │ │ │ ├── MergedSortedCacheWrappedWindowStoreKeyValueIteratorTest.java │ │ │ │ │ ├── MeteredKeyValueStoreTest.java │ │ │ │ │ ├── MeteredSessionStoreTest.java │ │ │ │ │ ├── MeteredTimestampedKeyValueStoreTest.java │ │ │ │ │ ├── MeteredTimestampedWindowStoreTest.java │ │ │ │ │ ├── MeteredWindowStoreTest.java │ │ │ │ │ ├── Murmur3Test.java │ │ │ │ │ ├── NamedCacheTest.java │ │ │ │ │ ├── OffsetCheckpointTest.java │ │ │ │ │ ├── QueryableStoreProviderTest.java │ │ │ │ │ ├── ReadOnlyKeyValueStoreFacadeTest.java │ │ │ │ │ ├── ReadOnlyWindowStoreFacadeTest.java │ │ │ │ │ ├── ReadOnlyWindowStoreStub.java │ │ │ │ │ ├── RecordConvertersTest.java │ │ │ │ │ ├── RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapterTest.java │ │ │ │ │ ├── RocksDBKeyValueStoreTest.java │ │ │ │ │ ├── RocksDBRangeIteratorTest.java │ │ │ │ │ ├── RocksDBSegmentedBytesStoreTest.java │ │ │ │ │ ├── RocksDBSessionStoreTest.java │ │ │ │ │ ├── RocksDBStoreTest.java │ │ │ │ │ ├── RocksDBTimeOrderedWindowStoreTest.java │ │ │ │ │ ├── RocksDBTimestampedSegmentedBytesStoreTest.java │ │ │ │ │ ├── RocksDBTimestampedStoreTest.java │ │ │ │ │ ├── RocksDBWindowStoreTest.java │ │ │ │ │ ├── SegmentIteratorTest.java │ │ │ │ │ ├── SegmentedCacheFunctionTest.java │ │ │ │ │ ├── SerdeThatDoesntHandleNull.java │ │ │ │ │ ├── SessionKeySchemaTest.java │ │ │ │ │ ├── SessionStoreBuilderTest.java │ │ │ │ │ ├── SessionStoreFetchTest.java │ │ │ │ │ ├── StreamThreadStateStoreProviderTest.java │ │ │ │ │ ├── ThreadCacheTest.java │ │ │ │ │ ├── TimeOrderedKeySchemaTest.java │ │ │ │ │ ├── TimeOrderedKeyValueBufferTest.java │ │ │ │ │ ├── TimestampedKeyValueStoreBuilderTest.java │ │ │ │ │ ├── TimestampedSegmentTest.java │ │ │ │ │ ├── TimestampedSegmentsTest.java │ │ │ │ │ ├── TimestampedWindowStoreBuilderTest.java │ │ │ │ │ ├── ValueAndTimestampSerializerTest.java │ │ │ │ │ ├── WindowKeySchemaTest.java │ │ │ │ │ ├── WindowStoreBuilderTest.java │ │ │ │ │ ├── WrappingStoreProviderTest.java │ │ │ │ │ └── metrics │ │ │ │ │ ├── NamedCacheMetricsTest.java │ │ │ │ │ ├── RocksDBMetricsRecorderGaugesTest.java │ │ │ │ │ ├── RocksDBMetricsRecorderTest.java │ │ │ │ │ ├── RocksDBMetricsRecordingTriggerTest.java │ │ │ │ │ ├── RocksDBMetricsTest.java │ │ │ │ │ └── StateStoreMetricsTest.java │ │ │ ├── tests │ │ │ │ ├── BrokerCompatibilityTest.java │ │ │ │ ├── EosTestClient.java │ │ │ │ ├── EosTestDriver.java │ │ │ │ ├── RelationalSmokeTest.java │ │ │ │ ├── RelationalSmokeTestTest.java │ │ │ │ ├── ShutdownDeadlockTest.java │ │ │ │ ├── SmokeTestClient.java │ │ │ │ ├── SmokeTestDriver.java │ │ │ │ ├── SmokeTestUtil.java │ │ │ │ ├── StaticMemberTestClient.java │ │ │ │ ├── StreamsBrokerDownResilienceTest.java │ │ │ │ ├── StreamsEosTest.java │ │ │ │ ├── StreamsNamedRepartitionTest.java │ │ │ │ ├── StreamsOptimizedTest.java │ │ │ │ ├── StreamsSmokeTest.java │ │ │ │ ├── StreamsStandByReplicaTest.java │ │ │ │ ├── StreamsUpgradeTest.java │ │ │ │ ├── StreamsUpgradeToCooperativeRebalanceTest.java │ │ │ │ ├── SystemTestUtil.java │ │ │ │ └── SystemTestUtilTest.java │ │ │ ├── tools │ │ │ │ └── StreamsResetterTest.java │ │ │ └── utils │ │ │ │ └── UniqueTopicSerdeScope.java │ │ │ └── test │ │ │ ├── GenericInMemoryKeyValueStore.java │ │ │ ├── GenericInMemoryTimestampedKeyValueStore.java │ │ │ ├── GlobalStateManagerStub.java │ │ │ ├── InternalMockProcessorContext.java │ │ │ ├── KeyValueIteratorStub.java │ │ │ ├── MockAggregator.java │ │ │ ├── MockApiProcessor.java │ │ │ ├── MockApiProcessorSupplier.java │ │ │ ├── MockClientSupplier.java │ │ │ ├── MockInitializer.java │ │ │ ├── MockInternalProcessorContext.java │ │ │ ├── MockInternalTopicManager.java │ │ │ ├── MockKeyValueStore.java │ │ │ ├── MockKeyValueStoreBuilder.java │ │ │ ├── MockMapper.java │ │ │ ├── MockPredicate.java │ │ │ ├── MockProcessor.java │ │ │ ├── MockProcessorNode.java │ │ │ ├── MockProcessorSupplier.java │ │ │ ├── MockRecordCollector.java │ │ │ ├── MockReducer.java │ │ │ ├── MockRestoreCallback.java │ │ │ ├── MockRestoreConsumer.java │ │ │ ├── MockRocksDbConfigSetter.java │ │ │ ├── MockSourceNode.java │ │ │ ├── MockStateRestoreListener.java │ │ │ ├── MockTimestampExtractor.java │ │ │ ├── MockValueJoiner.java │ │ │ ├── NoOpProcessorContext.java │ │ │ ├── NoOpReadOnlyStore.java │ │ │ ├── NoOpValueTransformerWithKeySupplier.java │ │ │ ├── NoopValueTransformer.java │ │ │ ├── NoopValueTransformerWithKey.java │ │ │ ├── ReadOnlySessionStoreStub.java │ │ │ ├── StateStoreProviderStub.java │ │ │ └── StreamsTestUtils.java │ │ └── resources │ │ ├── kafka │ │ └── kafka-streams-version.properties │ │ └── log4j.properties ├── streams-scala │ ├── .gitignore │ └── src │ │ ├── main │ │ └── scala │ │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ └── streams │ │ │ └── scala │ │ │ ├── FunctionsCompatConversions.scala │ │ │ ├── ImplicitConversions.scala │ │ │ ├── Serdes.scala │ │ │ ├── StreamsBuilder.scala │ │ │ ├── kstream │ │ │ ├── Branched.scala │ │ │ ├── BranchedKStream.scala │ │ │ ├── CogroupedKStream.scala │ │ │ ├── Consumed.scala │ │ │ ├── Grouped.scala │ │ │ ├── Joined.scala │ │ │ ├── KGroupedStream.scala │ │ │ ├── KGroupedTable.scala │ │ │ ├── KStream.scala │ │ │ ├── KTable.scala │ │ │ ├── Materialized.scala │ │ │ ├── Produced.scala │ │ │ ├── Repartitioned.scala │ │ │ ├── SessionWindowedCogroupedKStream.scala │ │ │ ├── SessionWindowedKStream.scala │ │ │ ├── StreamJoined.scala │ │ │ ├── TimeWindowedCogroupedKStream.scala │ │ │ ├── TimeWindowedKStream.scala │ │ │ └── package.scala │ │ │ ├── package.scala │ │ │ └── serialization │ │ │ └── Serdes.scala │ │ └── test │ │ ├── resources │ │ └── log4j.properties │ │ └── scala │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── streams │ │ └── scala │ │ ├── StreamToTableJoinScalaIntegrationTestImplicitSerdes.scala │ │ ├── TopologyTest.scala │ │ ├── WordCountTest.scala │ │ ├── kstream │ │ ├── ConsumedTest.scala │ │ ├── GroupedTest.scala │ │ ├── JoinedTest.scala │ │ ├── KStreamSplitTest.scala │ │ ├── KStreamTest.scala │ │ ├── KTableTest.scala │ │ ├── MaterializedTest.scala │ │ ├── ProducedTest.scala │ │ ├── RepartitionedTest.scala │ │ └── StreamJoinedTest.scala │ │ └── utils │ │ ├── StreamToTableJoinScalaIntegrationTestBase.scala │ │ ├── StreamToTableJoinTestData.scala │ │ └── TestDriver.scala ├── test-utils │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ └── streams │ │ │ ├── TestInputTopic.java │ │ │ ├── TestOutputTopic.java │ │ │ ├── TopologyTestDriver.java │ │ │ ├── processor │ │ │ ├── MockProcessorContext.java │ │ │ └── api │ │ │ │ └── MockProcessorContext.java │ │ │ └── test │ │ │ └── TestRecord.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── kafka │ │ │ └── streams │ │ │ ├── KeyValueStoreFacadeTest.java │ │ │ ├── MockProcessorContextTest.java │ │ │ ├── MockTimeTest.java │ │ │ ├── TestTopicsTest.java │ │ │ ├── TopologyTestDriverAtLeastOnceTest.java │ │ │ ├── TopologyTestDriverEosTest.java │ │ │ ├── TopologyTestDriverTest.java │ │ │ ├── WindowStoreFacadeTest.java │ │ │ └── test │ │ │ ├── MockProcessorContextAPITest.java │ │ │ ├── MockProcessorContextStateStoreTest.java │ │ │ ├── TestRecordTest.java │ │ │ └── wordcount │ │ │ ├── WindowedWordCountProcessorSupplier.java │ │ │ └── WindowedWordCountProcessorTest.java │ │ └── resources │ │ └── log4j.properties ├── upgrade-system-tests-0100 │ └── src │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── streams │ │ └── tests │ │ ├── StreamsUpgradeTest.java │ │ └── StreamsUpgradeToCooperativeRebalanceTest.java ├── upgrade-system-tests-0101 │ └── src │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── streams │ │ └── tests │ │ ├── StreamsUpgradeTest.java │ │ └── StreamsUpgradeToCooperativeRebalanceTest.java ├── upgrade-system-tests-0102 │ └── src │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── streams │ │ └── tests │ │ ├── StreamsUpgradeTest.java │ │ └── StreamsUpgradeToCooperativeRebalanceTest.java ├── upgrade-system-tests-0110 │ └── src │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── streams │ │ └── tests │ │ ├── StreamsUpgradeTest.java │ │ └── StreamsUpgradeToCooperativeRebalanceTest.java ├── upgrade-system-tests-10 │ └── src │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── streams │ │ └── tests │ │ ├── StreamsUpgradeTest.java │ │ └── StreamsUpgradeToCooperativeRebalanceTest.java ├── upgrade-system-tests-11 │ └── src │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── streams │ │ └── tests │ │ ├── StreamsUpgradeTest.java │ │ └── StreamsUpgradeToCooperativeRebalanceTest.java ├── upgrade-system-tests-20 │ └── src │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── streams │ │ └── tests │ │ ├── StreamsUpgradeTest.java │ │ └── StreamsUpgradeToCooperativeRebalanceTest.java ├── upgrade-system-tests-21 │ └── src │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── streams │ │ └── tests │ │ ├── StreamsUpgradeTest.java │ │ └── StreamsUpgradeToCooperativeRebalanceTest.java ├── upgrade-system-tests-22 │ └── src │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── streams │ │ └── tests │ │ ├── SmokeTestClient.java │ │ ├── SmokeTestDriver.java │ │ ├── SmokeTestUtil.java │ │ ├── StreamsSmokeTest.java │ │ ├── StreamsUpgradeTest.java │ │ └── StreamsUpgradeToCooperativeRebalanceTest.java ├── upgrade-system-tests-23 │ └── src │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── streams │ │ └── tests │ │ ├── SmokeTestClient.java │ │ ├── SmokeTestDriver.java │ │ ├── SmokeTestUtil.java │ │ ├── StreamsSmokeTest.java │ │ ├── StreamsUpgradeTest.java │ │ └── StreamsUpgradeToCooperativeRebalanceTest.java ├── upgrade-system-tests-24 │ └── src │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── streams │ │ └── tests │ │ ├── SmokeTestClient.java │ │ ├── SmokeTestDriver.java │ │ ├── SmokeTestUtil.java │ │ ├── StreamsSmokeTest.java │ │ └── StreamsUpgradeTest.java ├── upgrade-system-tests-25 │ └── src │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── streams │ │ └── tests │ │ ├── SmokeTestClient.java │ │ ├── SmokeTestDriver.java │ │ ├── SmokeTestUtil.java │ │ ├── StreamsSmokeTest.java │ │ └── StreamsUpgradeTest.java ├── upgrade-system-tests-26 │ └── src │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── streams │ │ └── tests │ │ ├── SmokeTestClient.java │ │ ├── SmokeTestDriver.java │ │ ├── SmokeTestUtil.java │ │ ├── StreamsSmokeTest.java │ │ └── StreamsUpgradeTest.java ├── upgrade-system-tests-27 │ └── src │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── streams │ │ └── tests │ │ ├── SmokeTestClient.java │ │ ├── SmokeTestDriver.java │ │ ├── SmokeTestUtil.java │ │ ├── StreamsSmokeTest.java │ │ └── StreamsUpgradeTest.java └── upgrade-system-tests-28 │ └── src │ └── test │ └── java │ └── org │ └── apache │ └── kafka │ └── streams │ └── tests │ ├── SmokeTestClient.java │ ├── SmokeTestDriver.java │ ├── SmokeTestUtil.java │ ├── StreamsSmokeTest.java │ └── StreamsUpgradeTest.java ├── tests ├── .gitignore ├── MANIFEST.in ├── README.md ├── bin │ ├── external_trogdor_command_example.py │ └── flatten_html.sh ├── bootstrap-test-env.sh ├── docker │ ├── Dockerfile │ ├── ducker-ak │ ├── run_tests.sh │ ├── ssh-config │ └── ssh │ │ ├── authorized_keys │ │ ├── config │ │ ├── id_rsa │ │ └── id_rsa.pub ├── kafkatest │ ├── __init__.py │ ├── benchmarks │ │ ├── __init__.py │ │ └── core │ │ │ ├── __init__.py │ │ │ └── benchmark_test.py │ ├── directory_layout │ │ ├── __init__.py │ │ └── kafka_path.py │ ├── sanity_checks │ │ ├── __init__.py │ │ ├── test_bounce.py │ │ ├── test_console_consumer.py │ │ ├── test_kafka_version.py │ │ ├── test_performance_services.py │ │ └── test_verifiable_producer.py │ ├── services │ │ ├── __init__.py │ │ ├── connect.py │ │ ├── console_consumer.py │ │ ├── consumer_property.py │ │ ├── delegation_tokens.py │ │ ├── kafka │ │ │ ├── __init__.py │ │ │ ├── config.py │ │ │ ├── config_property.py │ │ │ ├── kafka.py │ │ │ ├── quorum.py │ │ │ ├── templates │ │ │ │ ├── kafka.properties │ │ │ │ └── log4j.properties │ │ │ └── util.py │ │ ├── kafka_log4j_appender.py │ │ ├── log_compaction_tester.py │ │ ├── mirror_maker.py │ │ ├── monitor │ │ │ ├── __init__.py │ │ │ ├── http.py │ │ │ └── jmx.py │ │ ├── performance │ │ │ ├── __init__.py │ │ │ ├── consumer_performance.py │ │ │ ├── end_to_end_latency.py │ │ │ ├── performance.py │ │ │ ├── producer_performance.py │ │ │ └── templates │ │ │ │ └── tools_log4j.properties │ │ ├── replica_verification_tool.py │ │ ├── security │ │ │ ├── __init__.py │ │ │ ├── kafka_acls.py │ │ │ ├── listener_security_config.py │ │ │ ├── minikdc.py │ │ │ ├── security_config.py │ │ │ └── templates │ │ │ │ ├── admin_client_as_broker_jaas.conf │ │ │ │ ├── jaas.conf │ │ │ │ └── minikdc.properties │ │ ├── streams.py │ │ ├── streams_property.py │ │ ├── templates │ │ │ ├── connect_log4j.properties │ │ │ ├── console_consumer.properties │ │ │ ├── mirror_maker_consumer.properties │ │ │ ├── mirror_maker_producer.properties │ │ │ ├── producer.properties │ │ │ ├── tools_log4j.properties │ │ │ └── zookeeper.properties │ │ ├── transactional_message_copier.py │ │ ├── trogdor │ │ │ ├── __init__.py │ │ │ ├── consume_bench_workload.py │ │ │ ├── degraded_network_fault_spec.py │ │ │ ├── files_unreadable_fault_spec.py │ │ │ ├── kibosh.py │ │ │ ├── network_partition_fault_spec.py │ │ │ ├── no_op_task_spec.py │ │ │ ├── process_stop_fault_spec.py │ │ │ ├── produce_bench_workload.py │ │ │ ├── round_trip_workload.py │ │ │ ├── task_spec.py │ │ │ ├── templates │ │ │ │ └── log4j.properties │ │ │ └── trogdor.py │ │ ├── verifiable_client.py │ │ ├── verifiable_consumer.py │ │ ├── verifiable_producer.py │ │ └── zookeeper.py │ ├── tests │ │ ├── __init__.py │ │ ├── client │ │ │ ├── __init__.py │ │ │ ├── client_compatibility_features_test.py │ │ │ ├── client_compatibility_produce_consume_test.py │ │ │ ├── compression_test.py │ │ │ ├── consumer_rolling_upgrade_test.py │ │ │ ├── consumer_test.py │ │ │ ├── message_format_change_test.py │ │ │ ├── pluggable_test.py │ │ │ ├── quota_test.py │ │ │ └── truncation_test.py │ │ ├── connect │ │ │ ├── __init__.py │ │ │ ├── connect_distributed_test.py │ │ │ ├── connect_rest_test.py │ │ │ ├── connect_test.py │ │ │ └── templates │ │ │ │ ├── connect-distributed.properties │ │ │ │ ├── connect-file-external.properties │ │ │ │ ├── connect-file-sink.properties │ │ │ │ ├── connect-file-source.properties │ │ │ │ └── connect-standalone.properties │ │ ├── core │ │ │ ├── __init__.py │ │ │ ├── compatibility_test_new_broker_test.py │ │ │ ├── consume_bench_test.py │ │ │ ├── consumer_group_command_test.py │ │ │ ├── delegation_token_test.py │ │ │ ├── downgrade_test.py │ │ │ ├── fetch_from_follower_test.py │ │ │ ├── get_offset_shell_test.py │ │ │ ├── group_mode_transactions_test.py │ │ │ ├── log_dir_failure_test.py │ │ │ ├── mirror_maker_test.py │ │ │ ├── network_degrade_test.py │ │ │ ├── produce_bench_test.py │ │ │ ├── reassign_partitions_test.py │ │ │ ├── replica_scale_test.py │ │ │ ├── replication_test.py │ │ │ ├── round_trip_fault_test.py │ │ │ ├── security_rolling_upgrade_test.py │ │ │ ├── security_test.py │ │ │ ├── snapshot_test.py │ │ │ ├── throttling_test.py │ │ │ ├── transactions_test.py │ │ │ ├── upgrade_test.py │ │ │ ├── zookeeper_authorizer_test.py │ │ │ ├── zookeeper_security_upgrade_test.py │ │ │ ├── zookeeper_tls_encrypt_only_test.py │ │ │ └── zookeeper_tls_test.py │ │ ├── end_to_end.py │ │ ├── kafka_test.py │ │ ├── produce_consume_validate.py │ │ ├── streams │ │ │ ├── __init__.py │ │ │ ├── base_streams_test.py │ │ │ ├── streams_application_upgrade_test.py │ │ │ ├── streams_broker_bounce_test.py │ │ │ ├── streams_broker_compatibility_test.py │ │ │ ├── streams_broker_down_resilience_test.py │ │ │ ├── streams_cooperative_rebalance_upgrade_test.py │ │ │ ├── streams_eos_test.py │ │ │ ├── streams_named_repartition_topic_test.py │ │ │ ├── streams_optimized_test.py │ │ │ ├── streams_relational_smoke_test.py │ │ │ ├── streams_shutdown_deadlock_test.py │ │ │ ├── streams_smoke_test.py │ │ │ ├── streams_standby_replica_test.py │ │ │ ├── streams_static_membership_test.py │ │ │ ├── streams_upgrade_test.py │ │ │ ├── templates │ │ │ │ └── log4j_template.properties │ │ │ └── utils │ │ │ │ ├── __init__.py │ │ │ │ └── util.py │ │ ├── tools │ │ │ ├── __init__.py │ │ │ ├── kibosh_test.py │ │ │ ├── log4j_appender_test.py │ │ │ ├── log_compaction_test.py │ │ │ ├── replica_verification_test.py │ │ │ └── trogdor_test.py │ │ └── verifiable_consumer_test.py │ ├── utils │ │ ├── __init__.py │ │ ├── remote_account.py │ │ └── util.py │ └── version.py ├── setup.cfg ├── setup.py ├── spec │ ├── connection_stress_test.json │ ├── external_command.json │ ├── round_trip.json │ ├── simple_consume_bench_spec.json │ ├── simple_produce_bench.json │ └── transactional-produce-bench.json └── unit │ ├── __init__.py │ ├── directory_layout │ ├── __init__.py │ └── check_project_paths.py │ ├── setup.cfg │ └── version │ ├── __init__.py │ └── check_version.py ├── tools └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── tools │ │ ├── ClientCompatibilityTest.java │ │ ├── PrintVersionAndExitAction.java │ │ ├── ProducerPerformance.java │ │ ├── PushHttpMetricsReporter.java │ │ ├── ThroughputThrottler.java │ │ ├── ToolsUtils.java │ │ ├── TransactionalMessageCopier.java │ │ ├── TransactionsCommand.java │ │ ├── VerifiableConsumer.java │ │ ├── VerifiableLog4jAppender.java │ │ └── VerifiableProducer.java │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── kafka │ │ └── tools │ │ ├── ProducerPerformanceTest.java │ │ ├── PushHttpMetricsReporterTest.java │ │ └── TransactionsCommandTest.java │ └── resources │ └── log4j.properties ├── trogdor └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── kafka │ │ └── trogdor │ │ ├── agent │ │ ├── Agent.java │ │ ├── AgentClient.java │ │ ├── AgentRestResource.java │ │ └── WorkerManager.java │ │ ├── basic │ │ ├── BasicNode.java │ │ ├── BasicPlatform.java │ │ └── BasicTopology.java │ │ ├── common │ │ ├── JsonUtil.java │ │ ├── Node.java │ │ ├── Platform.java │ │ ├── StringExpander.java │ │ ├── StringFormatter.java │ │ ├── Topology.java │ │ └── WorkerUtils.java │ │ ├── coordinator │ │ ├── Coordinator.java │ │ ├── CoordinatorClient.java │ │ ├── CoordinatorRestResource.java │ │ ├── NodeManager.java │ │ └── TaskManager.java │ │ ├── fault │ │ ├── DegradedNetworkFaultSpec.java │ │ ├── DegradedNetworkFaultWorker.java │ │ ├── FilesUnreadableFaultSpec.java │ │ ├── Kibosh.java │ │ ├── KiboshFaultController.java │ │ ├── KiboshFaultWorker.java │ │ ├── NetworkPartitionFaultController.java │ │ ├── NetworkPartitionFaultSpec.java │ │ ├── NetworkPartitionFaultWorker.java │ │ ├── ProcessStopFaultController.java │ │ ├── ProcessStopFaultSpec.java │ │ └── ProcessStopFaultWorker.java │ │ ├── rest │ │ ├── AgentStatusResponse.java │ │ ├── CoordinatorShutdownRequest.java │ │ ├── CoordinatorStatusResponse.java │ │ ├── CreateTaskRequest.java │ │ ├── CreateWorkerRequest.java │ │ ├── DestroyTaskRequest.java │ │ ├── DestroyWorkerRequest.java │ │ ├── Empty.java │ │ ├── ErrorResponse.java │ │ ├── JsonRestServer.java │ │ ├── Message.java │ │ ├── RequestConflictException.java │ │ ├── RestExceptionMapper.java │ │ ├── StopTaskRequest.java │ │ ├── StopWorkerRequest.java │ │ ├── TaskDone.java │ │ ├── TaskPending.java │ │ ├── TaskRequest.java │ │ ├── TaskRunning.java │ │ ├── TaskState.java │ │ ├── TaskStateType.java │ │ ├── TaskStopping.java │ │ ├── TasksRequest.java │ │ ├── TasksResponse.java │ │ ├── UptimeResponse.java │ │ ├── WorkerDone.java │ │ ├── WorkerReceiving.java │ │ ├── WorkerRunning.java │ │ ├── WorkerStarting.java │ │ ├── WorkerState.java │ │ └── WorkerStopping.java │ │ ├── task │ │ ├── AgentWorkerStatusTracker.java │ │ ├── NoOpTaskController.java │ │ ├── NoOpTaskSpec.java │ │ ├── NoOpTaskWorker.java │ │ ├── TaskController.java │ │ ├── TaskSpec.java │ │ ├── TaskWorker.java │ │ └── WorkerStatusTracker.java │ │ └── workload │ │ ├── ConfigurableProducerSpec.java │ │ ├── ConfigurableProducerWorker.java │ │ ├── ConnectionStressSpec.java │ │ ├── ConnectionStressWorker.java │ │ ├── ConstantFlushGenerator.java │ │ ├── ConstantPayloadGenerator.java │ │ ├── ConstantThroughputGenerator.java │ │ ├── ConsumeBenchSpec.java │ │ ├── ConsumeBenchWorker.java │ │ ├── ExternalCommandSpec.java │ │ ├── ExternalCommandWorker.java │ │ ├── FlushGenerator.java │ │ ├── GaussianFlushGenerator.java │ │ ├── GaussianThroughputGenerator.java │ │ ├── GaussianTimestampConstantPayloadGenerator.java │ │ ├── GaussianTimestampRandomPayloadGenerator.java │ │ ├── Histogram.java │ │ ├── NullPayloadGenerator.java │ │ ├── PartitionsSpec.java │ │ ├── PayloadGenerator.java │ │ ├── PayloadIterator.java │ │ ├── PayloadKeyType.java │ │ ├── ProduceBenchSpec.java │ │ ├── ProduceBenchWorker.java │ │ ├── RandomComponent.java │ │ ├── RandomComponentPayloadGenerator.java │ │ ├── RecordProcessor.java │ │ ├── RoundTripWorker.java │ │ ├── RoundTripWorkloadSpec.java │ │ ├── SequentialPayloadGenerator.java │ │ ├── SustainedConnectionSpec.java │ │ ├── SustainedConnectionWorker.java │ │ ├── Throttle.java │ │ ├── ThroughputGenerator.java │ │ ├── TimeIntervalTransactionsGenerator.java │ │ ├── TimestampConstantPayloadGenerator.java │ │ ├── TimestampRandomPayloadGenerator.java │ │ ├── TimestampRecordProcessor.java │ │ ├── TopicsSpec.java │ │ ├── TransactionGenerator.java │ │ ├── UniformRandomPayloadGenerator.java │ │ └── UniformTransactionsGenerator.java │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── kafka │ │ └── trogdor │ │ ├── agent │ │ └── AgentTest.java │ │ ├── basic │ │ └── BasicPlatformTest.java │ │ ├── common │ │ ├── CapturingCommandRunner.java │ │ ├── ExpectedTasks.java │ │ ├── JsonSerializationTest.java │ │ ├── JsonUtilTest.java │ │ ├── MiniTrogdorCluster.java │ │ ├── StringExpanderTest.java │ │ ├── StringFormatterTest.java │ │ ├── TopologyTest.java │ │ └── WorkerUtilsTest.java │ │ ├── coordinator │ │ ├── CoordinatorClientTest.java │ │ └── CoordinatorTest.java │ │ ├── rest │ │ └── RestExceptionMapperTest.java │ │ ├── task │ │ ├── SampleTaskController.java │ │ ├── SampleTaskSpec.java │ │ ├── SampleTaskWorker.java │ │ └── TaskSpecTest.java │ │ └── workload │ │ ├── ConsumeBenchSpecTest.java │ │ ├── ExternalCommandWorkerTest.java │ │ ├── HistogramTest.java │ │ ├── PayloadGeneratorTest.java │ │ ├── ThrottleTest.java │ │ ├── TimeIntervalTransactionsGeneratorTest.java │ │ └── TopicsSpecTest.java │ └── resources │ └── log4j.properties ├── vagrant ├── README.md ├── aws │ ├── aws-access-keys-commands │ ├── aws-example-Vagrantfile.local │ └── aws-init.sh ├── base.sh ├── broker.sh ├── package-base-box.sh ├── system-test-Vagrantfile.local ├── vagrant-up.sh └── zk.sh └── wrapper.gradle /.asf.yaml: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | notifications: 19 | commits: commits@kafka.apache.org 20 | issues: jira@kafka.apache.org 21 | pullrequests: jira@kafka.apache.org 22 | jira_options: link label 23 | 24 | jenkins: 25 | github_whitelist: 26 | - ConcurrencyPractitioner 27 | - ableegoldman 28 | - cadonna 29 | -------------------------------------------------------------------------------- /.githooks/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | cp $(dirname $0)/prepare-commit-msg $(dirname $0)/../.git/hooks/ 18 | -------------------------------------------------------------------------------- /.githooks/uninstall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | rm $(dirname $0)/../.git/hooks/prepare-commit-msg 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | *classes 3 | *.class 4 | target/ 5 | build/ 6 | build_eclipse/ 7 | out/ 8 | .gradle/ 9 | lib_managed/ 10 | src_managed/ 11 | project/boot/ 12 | project/plugins/project/ 13 | patch-process/* 14 | .idea 15 | .svn 16 | .classpath 17 | /.metadata 18 | /.recommenders 19 | *~ 20 | *# 21 | .#* 22 | rat.out 23 | TAGS 24 | *.iml 25 | .project 26 | .settings 27 | *.ipr 28 | *.iws 29 | .vagrant 30 | Vagrantfile.local 31 | /logs 32 | .DS_Store 33 | 34 | config/server-* 35 | config/zookeeper-* 36 | core/data/* 37 | gradle/wrapper/*.jar 38 | gradlew.bat 39 | 40 | results 41 | tests/results 42 | .ducktape 43 | tests/.ducktape 44 | tests/venv 45 | .cache 46 | 47 | docs/generated/ 48 | 49 | .release-settings.json 50 | 51 | kafkatest.egg-info/ 52 | systest/ 53 | *.swp 54 | jmh-benchmarks/generated 55 | jmh-benchmarks/src/main/generated 56 | raft/.jqwik-database 57 | **/src/generated 58 | **/src/generated-test 59 | storage/kafka-tiered-storage/ 60 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Contributing to Kafka 2 | 3 | *Before opening a pull request*, review the [Contributing](https://kafka.apache.org/contributing.html) and [Contributing Code Changes](https://cwiki.apache.org/confluence/display/KAFKA/Contributing+Code+Changes) pages. 4 | 5 | It lists steps that are required before creating a PR. 6 | 7 | When you contribute code, you affirm that the contribution is your original work and that you 8 | license the work to the project under the project's open source license. Whether or not you 9 | state this explicitly, by submitting any copyrighted material via pull request, email, or 10 | other means you agree to license the material under the project's open source license and 11 | warrant that you have the legal authority to do so. 12 | -------------------------------------------------------------------------------- /HEADER: -------------------------------------------------------------------------------- 1 | Licensed to the Apache Software Foundation (ASF) under one or more 2 | contributor license agreements. See the NOTICE file distributed with 3 | this work for additional information regarding copyright ownership. 4 | The ASF licenses this file to You under the Apache License, Version 2.0 5 | (the "License"); you may not use this file except in compliance with 6 | the License. You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | -------------------------------------------------------------------------------- /PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | *More detailed description of your change, 2 | if necessary. The PR title and PR message become 3 | the squashed commit message, so use a separate 4 | comment to ping reviewers.* 5 | 6 | *Summary of testing strategy (including rationale) 7 | for the feature or bug fix. Unit and/or integration 8 | tests are expected for any behaviour change and 9 | system tests should be considered for larger changes.* 10 | 11 | ### Committer Checklist (excluded from commit message) 12 | - [ ] Verify design and implementation 13 | - [ ] Verify test coverage and CI build status 14 | - [ ] Verify documentation (including upgrade notes) 15 | -------------------------------------------------------------------------------- /bin/kafka-acls.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.admin.AclCommand "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-broker-api-versions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.admin.BrokerApiVersionsCommand "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-cluster.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.tools.ClusterTool "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-configs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.admin.ConfigCommand "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-console-consumer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then 18 | export KAFKA_HEAP_OPTS="-Xmx512M" 19 | fi 20 | 21 | exec $(dirname $0)/kafka-run-class.sh kafka.tools.ConsoleConsumer "$@" 22 | -------------------------------------------------------------------------------- /bin/kafka-console-producer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then 18 | export KAFKA_HEAP_OPTS="-Xmx512M" 19 | fi 20 | exec $(dirname $0)/kafka-run-class.sh kafka.tools.ConsoleProducer "$@" 21 | -------------------------------------------------------------------------------- /bin/kafka-consumer-groups.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.admin.ConsumerGroupCommand "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-consumer-perf-test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then 18 | export KAFKA_HEAP_OPTS="-Xmx512M" 19 | fi 20 | exec $(dirname $0)/kafka-run-class.sh kafka.tools.ConsumerPerformance "$@" 21 | -------------------------------------------------------------------------------- /bin/kafka-delegation-tokens.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.admin.DelegationTokenCommand "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-delete-records.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.admin.DeleteRecordsCommand "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-dump-log.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.tools.DumpLogSegments "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-features.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.admin.FeatureCommand "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-get-offsets.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.tools.GetOffsetShell "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-leader-election.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.admin.LeaderElectionCommand "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-li-cluster.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.admin.LiClusterCommand "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-log-dirs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.admin.LogDirsCommand "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-metadata-shell.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.shell.MetadataShell "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-mirror-maker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.tools.MirrorMaker "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-producer-perf-test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then 18 | export KAFKA_HEAP_OPTS="-Xmx512M" 19 | fi 20 | exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.ProducerPerformance "$@" 21 | -------------------------------------------------------------------------------- /bin/kafka-reassign-partitions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.admin.ReassignPartitionsCommand "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-recommended-leader-election.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.admin.RecommendedLeaderElectionCommand "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-replica-verification.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.tools.ReplicaVerificationTool "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-storage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.tools.StorageTool "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-streams-application-reset.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then 18 | export KAFKA_HEAP_OPTS="-Xmx512M" 19 | fi 20 | 21 | exec $(dirname $0)/kafka-run-class.sh kafka.tools.StreamsResetter "$@" 22 | -------------------------------------------------------------------------------- /bin/kafka-topics.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.admin.TopicCommand "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-transactions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.TransactionsCommand "$@" 18 | -------------------------------------------------------------------------------- /bin/kafka-verifiable-consumer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then 18 | export KAFKA_HEAP_OPTS="-Xmx512M" 19 | fi 20 | exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.VerifiableConsumer "$@" 21 | -------------------------------------------------------------------------------- /bin/kafka-verifiable-producer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then 18 | export KAFKA_HEAP_OPTS="-Xmx512M" 19 | fi 20 | exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.VerifiableProducer "$@" 21 | -------------------------------------------------------------------------------- /bin/windows/kafka-acls.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | "%~dp0kafka-run-class.bat" kafka.admin.AclCommand %* 18 | -------------------------------------------------------------------------------- /bin/windows/kafka-broker-api-versions.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | %~dp0kafka-run-class.bat kafka.admin.BrokerApiVersionsCommand %* 18 | -------------------------------------------------------------------------------- /bin/windows/kafka-configs.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | "%~dp0kafka-run-class.bat" kafka.admin.ConfigCommand %* 18 | -------------------------------------------------------------------------------- /bin/windows/kafka-console-consumer.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | SetLocal 18 | set KAFKA_HEAP_OPTS=-Xmx512M 19 | "%~dp0kafka-run-class.bat" kafka.tools.ConsoleConsumer %* 20 | EndLocal 21 | -------------------------------------------------------------------------------- /bin/windows/kafka-console-producer.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | SetLocal 18 | set KAFKA_HEAP_OPTS=-Xmx512M 19 | "%~dp0kafka-run-class.bat" kafka.tools.ConsoleProducer %* 20 | EndLocal 21 | -------------------------------------------------------------------------------- /bin/windows/kafka-consumer-groups.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | "%~dp0kafka-run-class.bat" kafka.admin.ConsumerGroupCommand %* 18 | -------------------------------------------------------------------------------- /bin/windows/kafka-consumer-perf-test.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | SetLocal 18 | set KAFKA_HEAP_OPTS=-Xmx512M -Xms512M 19 | "%~dp0kafka-run-class.bat" kafka.tools.ConsumerPerformance %* 20 | EndLocal 21 | -------------------------------------------------------------------------------- /bin/windows/kafka-delegation-tokens.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | "%~dp0kafka-run-class.bat" kafka.admin.DelegationTokenCommand %* 18 | -------------------------------------------------------------------------------- /bin/windows/kafka-delete-records.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | "%~dp0kafka-run-class.bat" kafka.admin.DeleteRecordsCommand %* 18 | -------------------------------------------------------------------------------- /bin/windows/kafka-dump-log.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | "%~dp0kafka-run-class.bat" kafka.tools.DumpLogSegments %* 18 | -------------------------------------------------------------------------------- /bin/windows/kafka-get-offsets.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | "%~dp0kafka-run-class.bat" kafka.tools.GetOffsetShell %* 18 | -------------------------------------------------------------------------------- /bin/windows/kafka-leader-election.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | "%~dp0kafka-run-class.bat" kafka.admin.LeaderElectionCommand %* 18 | -------------------------------------------------------------------------------- /bin/windows/kafka-log-dirs.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | "%~dp0kafka-run-class.bat" kafka.admin.LogDirsCommand %* 18 | -------------------------------------------------------------------------------- /bin/windows/kafka-mirror-maker.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | "%~dp0kafka-run-class.bat" kafka.tools.MirrorMaker %* 18 | -------------------------------------------------------------------------------- /bin/windows/kafka-producer-perf-test.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | SetLocal 18 | set KAFKA_HEAP_OPTS=-Xmx512M 19 | "%~dp0kafka-run-class.bat" org.apache.kafka.tools.ProducerPerformance %* 20 | EndLocal 21 | -------------------------------------------------------------------------------- /bin/windows/kafka-reassign-partitions.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | "%~dp0kafka-run-class.bat" kafka.admin.ReassignPartitionsCommand %* 18 | -------------------------------------------------------------------------------- /bin/windows/kafka-replica-verification.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | "%~dp0kafka-run-class.bat" kafka.tools.ReplicaVerificationTool %* 18 | -------------------------------------------------------------------------------- /bin/windows/kafka-server-stop.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | wmic process where (commandline like "%%kafka.Kafka%%" and not name="wmic.exe") delete 18 | rem ps ax | grep -i 'kafka.Kafka' | grep -v grep | awk '{print $1}' | xargs kill -SIGTERM 19 | -------------------------------------------------------------------------------- /bin/windows/kafka-streams-application-reset.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | SetLocal 18 | IF ["%KAFKA_HEAP_OPTS%"] EQU [""] ( 19 | set KAFKA_HEAP_OPTS=-Xmx512M 20 | ) 21 | 22 | "%~dp0kafka-run-class.bat" kafka.tools.StreamsResetter %* 23 | EndLocal 24 | -------------------------------------------------------------------------------- /bin/windows/kafka-topics.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | "%~dp0kafka-run-class.bat" kafka.admin.TopicCommand %* 18 | -------------------------------------------------------------------------------- /bin/windows/kafka-transactions.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | "%~dp0kafka-run-class.bat" org.apache.kafka.tools.TransactionsCommand %* 18 | -------------------------------------------------------------------------------- /bin/windows/zookeeper-server-stop.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | wmic process where (commandline like "%%zookeeper%%" and not name="wmic.exe") delete 18 | -------------------------------------------------------------------------------- /bin/windows/zookeeper-shell.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Licensed to the Apache Software Foundation (ASF) under one or more 3 | rem contributor license agreements. See the NOTICE file distributed with 4 | rem this work for additional information regarding copyright ownership. 5 | rem The ASF licenses this file to You under the Apache License, Version 2.0 6 | rem (the "License"); you may not use this file except in compliance with 7 | rem the License. You may obtain a copy of the License at 8 | rem 9 | rem http://www.apache.org/licenses/LICENSE-2.0 10 | rem 11 | rem Unless required by applicable law or agreed to in writing, software 12 | rem distributed under the License is distributed on an "AS IS" BASIS, 13 | rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | rem See the License for the specific language governing permissions and 15 | rem limitations under the License. 16 | 17 | IF [%1] EQU [] ( 18 | echo USAGE: %0 zookeeper_host:port[/path] [-zk-tls-config-file file] [args...] 19 | EXIT /B 1 20 | ) 21 | 22 | "%~dp0kafka-run-class.bat" org.apache.zookeeper.ZooKeeperMainWithTlsSupportForKafka -server %* 23 | -------------------------------------------------------------------------------- /bin/zookeeper-security-migration.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | exec $(dirname $0)/kafka-run-class.sh kafka.admin.ZkSecurityMigrator "$@" 18 | -------------------------------------------------------------------------------- /bin/zookeeper-shell.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | if [ $# -lt 1 ]; 18 | then 19 | echo "USAGE: $0 zookeeper_host:port[/path] [-zk-tls-config-file file] [args...]" 20 | exit 1 21 | fi 22 | 23 | exec $(dirname $0)/kafka-run-class.sh org.apache.zookeeper.ZooKeeperMainWithTlsSupportForKafka -server "$@" 24 | -------------------------------------------------------------------------------- /checkstyle/.scalafmt.conf: -------------------------------------------------------------------------------- 1 | // Licensed to the Apache Software Foundation (ASF) under one or more 2 | // contributor license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright ownership. 4 | // The ASF licenses this file to You under the Apache License, Version 2.0 5 | // (the "License"); you may not use this file except in compliance with 6 | // the License. You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | docstrings = JavaDoc 16 | maxColumn = 120 17 | continuationIndent.defnSite = 2 18 | assumeStandardLibraryStripMargin = true 19 | danglingParentheses = true 20 | rewrite.rules = [SortImports, RedundantBraces, RedundantParens, SortModifiers] -------------------------------------------------------------------------------- /checkstyle/java.header: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | -------------------------------------------------------------------------------- /clients/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | -------------------------------------------------------------------------------- /clients/src/main/java/org/apache/kafka/clients/HostResolver.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package org.apache.kafka.clients; 19 | 20 | import java.net.InetAddress; 21 | import java.net.UnknownHostException; 22 | 23 | public interface HostResolver { 24 | 25 | InetAddress[] resolve(String host) throws UnknownHostException; 26 | } 27 | -------------------------------------------------------------------------------- /clients/src/main/java/org/apache/kafka/clients/consumer/OffsetResetStrategy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.clients.consumer; 18 | 19 | public enum OffsetResetStrategy { 20 | LATEST, EARLIEST, NONE, LICLOSEST 21 | } 22 | -------------------------------------------------------------------------------- /clients/src/main/java/org/apache/kafka/common/errors/DuplicateSequenceException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.common.errors; 18 | 19 | public class DuplicateSequenceException extends ApiException { 20 | 21 | public DuplicateSequenceException(String message) { 22 | super(message); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /clients/src/main/java/org/apache/kafka/common/errors/GroupIdNotFoundException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.common.errors; 18 | 19 | public class GroupIdNotFoundException extends ApiException { 20 | public GroupIdNotFoundException(String message) { 21 | super(message); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /clients/src/main/java/org/apache/kafka/common/errors/GroupNotEmptyException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.common.errors; 18 | 19 | public class GroupNotEmptyException extends ApiException { 20 | public GroupNotEmptyException(String message) { 21 | super(message); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /clients/src/main/java/org/apache/kafka/common/errors/GroupSubscribedToTopicException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.common.errors; 18 | 19 | public class GroupSubscribedToTopicException extends ApiException { 20 | public GroupSubscribedToTopicException(String message) { 21 | super(message); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /clients/src/main/java/org/apache/kafka/common/errors/InvalidPidMappingException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.common.errors; 18 | 19 | public class InvalidPidMappingException extends ApiException { 20 | public InvalidPidMappingException(String message) { 21 | super(message); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /clients/src/main/java/org/apache/kafka/common/errors/InvalidTxnStateException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.common.errors; 18 | 19 | public class InvalidTxnStateException extends ApiException { 20 | public InvalidTxnStateException(String message) { 21 | super(message); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /clients/src/main/java/org/apache/kafka/common/errors/TransactionalIdNotFoundException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.common.errors; 18 | 19 | public class TransactionalIdNotFoundException extends ApiException { 20 | 21 | public TransactionalIdNotFoundException(String message) { 22 | super(message); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /clients/src/main/java/org/apache/kafka/common/header/Header.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.common.header; 18 | 19 | public interface Header { 20 | 21 | String key(); 22 | 23 | byte[] value(); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /clients/src/main/java/org/apache/kafka/common/network/Mode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.common.network; 18 | 19 | /** 20 | * Connection mode for SSL and SASL connections. 21 | */ 22 | public enum Mode { CLIENT, SERVER } 23 | -------------------------------------------------------------------------------- /clients/src/main/java/org/apache/kafka/common/requests/AbstractRequestResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.common.requests; 18 | 19 | import org.apache.kafka.common.protocol.ApiMessage; 20 | 21 | public interface AbstractRequestResponse { 22 | 23 | ApiMessage data(); 24 | } 25 | -------------------------------------------------------------------------------- /clients/src/main/java/org/apache/kafka/common/security/kerberos/NoMatchingRule.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.common.security.kerberos; 18 | 19 | import java.io.IOException; 20 | 21 | public class NoMatchingRule extends IOException { 22 | NoMatchingRule(String msg) { 23 | super(msg); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /clients/src/main/java/org/apache/kafka/common/serialization/ByteArraySerializer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.common.serialization; 18 | 19 | public class ByteArraySerializer implements Serializer { 20 | @Override 21 | public byte[] serialize(String topic, byte[] data) { 22 | return data; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /clients/src/main/java/org/apache/kafka/common/serialization/VoidSerializer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.common.serialization; 18 | 19 | public class VoidSerializer implements Serializer { 20 | @Override 21 | public byte[] serialize(String topic, Void data) { 22 | return null; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /clients/src/main/java/org/apache/kafka/server/authorizer/AuthorizationResult.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package org.apache.kafka.server.authorizer; 19 | 20 | import org.apache.kafka.common.annotation.InterfaceStability; 21 | 22 | @InterfaceStability.Evolving 23 | public enum AuthorizationResult { 24 | ALLOWED, 25 | DENIED 26 | } 27 | -------------------------------------------------------------------------------- /clients/src/main/resources/META-INF/services/org.apache.kafka.common.config.provider.ConfigProvider: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | org.apache.kafka.common.config.provider.FileConfigProvider 17 | -------------------------------------------------------------------------------- /clients/src/main/resources/common/message/LiMoveControllerRequest.json: -------------------------------------------------------------------------------- 1 | // Licensed to the Apache Software Foundation (ASF) under one or more 2 | // contributor license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright ownership. 4 | // The ASF licenses this file to You under the Apache License, Version 2.0 5 | // (the "License"); you may not use this file except in compliance with 6 | // the License. You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | 16 | { 17 | "apiKey": 1002, 18 | "type": "request", 19 | "listeners": ["zkBroker"], 20 | "name": "LiMoveControllerRequest", 21 | "validVersions": "0-1", 22 | "flexibleVersions": "0+", 23 | "fields": [ 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /clients/src/test/java/org/apache/kafka/common/security/ssl/Tls12SslFactoryTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.common.security.ssl; 18 | 19 | public class Tls12SslFactoryTest extends SslFactoryTest { 20 | public Tls12SslFactoryTest() { 21 | super("TLSv1.2"); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /clients/src/test/java/org/apache/kafka/common/utils/SystemTimeTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.common.utils; 18 | 19 | public class SystemTimeTest extends TimeTest { 20 | 21 | @Override 22 | protected Time createTime() { 23 | return Time.SYSTEM; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /clients/src/test/java/org/apache/kafka/test/IntegrationTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.test; 18 | 19 | public interface IntegrationTest { 20 | } 21 | -------------------------------------------------------------------------------- /clients/src/test/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | log4j.rootLogger=OFF, stdout 16 | 17 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender 18 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 19 | log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c:%L)%n 20 | 21 | log4j.logger.org.apache.kafka=ERROR 22 | -------------------------------------------------------------------------------- /clients/src/test/resources/serializedData/offsetAndMetadataBeforeLeaderEpoch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/clients/src/test/resources/serializedData/offsetAndMetadataBeforeLeaderEpoch -------------------------------------------------------------------------------- /clients/src/test/resources/serializedData/offsetAndMetadataWithLeaderEpoch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/clients/src/test/resources/serializedData/offsetAndMetadataWithLeaderEpoch -------------------------------------------------------------------------------- /clients/src/test/resources/serializedData/topicPartitionSerializedfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/clients/src/test/resources/serializedData/topicPartitionSerializedfile -------------------------------------------------------------------------------- /config/connect-console-sink.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | name=local-console-sink 17 | connector.class=org.apache.kafka.connect.file.FileStreamSinkConnector 18 | tasks.max=1 19 | topics=connect-test -------------------------------------------------------------------------------- /config/connect-console-source.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | name=local-console-source 17 | connector.class=org.apache.kafka.connect.file.FileStreamSourceConnector 18 | tasks.max=1 19 | topic=connect-test -------------------------------------------------------------------------------- /config/connect-file-sink.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | name=local-file-sink 17 | connector.class=FileStreamSink 18 | tasks.max=1 19 | file=test.sink.txt 20 | topics=connect-test -------------------------------------------------------------------------------- /config/connect-file-source.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | name=local-file-source 17 | connector.class=FileStreamSource 18 | tasks.max=1 19 | file=test.txt 20 | topic=connect-test -------------------------------------------------------------------------------- /config/tools-log4j.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | log4j.rootLogger=WARN, stderr 17 | 18 | log4j.appender.stderr=org.apache.log4j.ConsoleAppender 19 | log4j.appender.stderr.layout=org.apache.log4j.PatternLayout 20 | log4j.appender.stderr.layout.ConversionPattern=[%d] %p %m (%c)%n 21 | log4j.appender.stderr.Target=System.err 22 | -------------------------------------------------------------------------------- /connect/api/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | -------------------------------------------------------------------------------- /connect/basic-auth-extension/src/main/resources/META-INF/services/org.apache.kafka.connect.rest.ConnectRestExtension: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | org.apache.kafka.connect.rest.basic.auth.extension.BasicAuthSecurityRestExtension -------------------------------------------------------------------------------- /connect/json/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | -------------------------------------------------------------------------------- /connect/json/src/test/resources/connect-test.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | schemas.cache.size=1 17 | 18 | -------------------------------------------------------------------------------- /connect/runtime/src/main/java/org/apache/kafka/connect/runtime/HerderRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.connect.runtime; 18 | 19 | public interface HerderRequest { 20 | void cancel(); 21 | } 22 | -------------------------------------------------------------------------------- /connect/runtime/src/test/resources/META-INF/services/org.apache.kafka.connect.rest.ConnectRestExtension: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | org.apache.kafka.connect.runtime.isolation.PluginsTest$TestConnectRestExtension -------------------------------------------------------------------------------- /connect/runtime/src/test/resources/test-plugins/sampling-config-provider/META-INF/services/org.apache.kafka.common.config.provider.ConfigProvider: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | test.plugins.SamplingConfigProvider 17 | -------------------------------------------------------------------------------- /connect/runtime/src/test/resources/test-plugins/service-loader/META-INF/services/test.plugins.ServiceLoadedClass: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | test.plugins.ServiceLoadedSubclass -------------------------------------------------------------------------------- /core/.gitignore: -------------------------------------------------------------------------------- 1 | .cache-main 2 | .cache-tests 3 | /bin/ 4 | -------------------------------------------------------------------------------- /core/src/main/resources/common/message/GroupMetadataKey.json: -------------------------------------------------------------------------------- 1 | // Licensed to the Apache Software Foundation (ASF) under one or more 2 | // contributor license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright ownership. 4 | // The ASF licenses this file to You under the Apache License, Version 2.0 5 | // (the "License"); you may not use this file except in compliance with 6 | // the License. You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | 16 | { 17 | "type": "data", 18 | "name": "GroupMetadataKey", 19 | "validVersions": "2", 20 | "flexibleVersions": "none", 21 | "fields": [ 22 | { "name": "group", "type": "string", "versions": "2" } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /core/src/main/resources/common/message/TransactionLogKey.json: -------------------------------------------------------------------------------- 1 | // Licensed to the Apache Software Foundation (ASF) under one or more 2 | // contributor license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright ownership. 4 | // The ASF licenses this file to You under the Apache License, Version 2.0 5 | // (the "License"); you may not use this file except in compliance with 6 | // the License. You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | 16 | { 17 | "type": "data", 18 | "name": "TransactionLogKey", 19 | "validVersions": "0", 20 | "flexibleVersions": "none", 21 | "fields": [ 22 | { "name": "TransactionalId", "type": "string", "versions": "0"} 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /core/src/main/scala/kafka/admin/AdminOperationException.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package kafka.admin 19 | 20 | class AdminOperationException(val error: String, cause: Throwable) extends RuntimeException(error, cause) { 21 | def this(error: Throwable) = this(error.getMessage, error) 22 | def this(msg: String) = this(msg, null) 23 | } -------------------------------------------------------------------------------- /core/src/main/scala/kafka/common/AdminCommandFailedException.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package kafka.common 19 | 20 | class AdminCommandFailedException(message: String, cause: Throwable) extends RuntimeException(message, cause) { 21 | def this(message: String) = this(message, null) 22 | def this() = this(null, null) 23 | } 24 | -------------------------------------------------------------------------------- /core/src/main/scala/kafka/common/BrokerEndPointNotAvailableException.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package kafka.common 19 | 20 | class BrokerEndPointNotAvailableException(message: String) extends RuntimeException(message) { 21 | def this() = this(null) 22 | } 23 | -------------------------------------------------------------------------------- /core/src/main/scala/kafka/common/InconsistentNodeIdException.scala: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package kafka.common 19 | 20 | class InconsistentNodeIdException(message: String, cause: Throwable) extends RuntimeException(message, cause) { 21 | def this(message: String) = this(message, null) 22 | } 23 | -------------------------------------------------------------------------------- /core/src/main/scala/kafka/common/LogCleaningAbortedException.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package kafka.common 19 | 20 | /** 21 | * Thrown when a log cleaning task is requested to be aborted. 22 | */ 23 | class LogCleaningAbortedException() extends RuntimeException() { 24 | } 25 | -------------------------------------------------------------------------------- /core/src/main/scala/kafka/common/OffsetsOutOfOrderException.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package kafka.common 19 | 20 | /** 21 | * Indicates the follower received records with non-monotonically increasing offsets 22 | */ 23 | class OffsetsOutOfOrderException(message: String) extends RuntimeException(message) { 24 | } 25 | 26 | -------------------------------------------------------------------------------- /core/src/main/scala/kafka/common/StateChangeFailedException.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package kafka.common 19 | 20 | class StateChangeFailedException(message: String, cause: Throwable) extends RuntimeException(message, cause) { 21 | def this(message: String) = this(message, null) 22 | def this() = this(null, null) 23 | } -------------------------------------------------------------------------------- /core/src/main/scala/kafka/common/ThreadShutdownException.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package kafka.common 19 | 20 | /** 21 | * An exception that indicates a thread is being shut down normally. 22 | */ 23 | class ThreadShutdownException() extends RuntimeException { 24 | } 25 | -------------------------------------------------------------------------------- /core/src/main/scala/kafka/common/TopicAlreadyMarkedForDeletionException.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package kafka.common 19 | 20 | class TopicAlreadyMarkedForDeletionException(message: String) extends RuntimeException(message) { 21 | } -------------------------------------------------------------------------------- /core/src/main/scala/kafka/log/CorruptIndexException.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package kafka.log 19 | 20 | class CorruptIndexException(message: String) extends RuntimeException(message) 21 | -------------------------------------------------------------------------------- /core/src/main/scala/kafka/server/FetcherTrait.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package kafka.server 19 | 20 | import kafka.cluster.BrokerEndPoint 21 | 22 | trait FetcherTrait { 23 | def sourceBroker: BrokerEndPoint 24 | } 25 | -------------------------------------------------------------------------------- /core/src/main/scala/kafka/server/package.html: -------------------------------------------------------------------------------- 1 | 19 | The kafka server. -------------------------------------------------------------------------------- /core/src/test/java/kafka/test/ClusterGenerator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package kafka.test; 19 | 20 | import java.util.function.Consumer; 21 | 22 | @FunctionalInterface 23 | public interface ClusterGenerator extends Consumer { 24 | 25 | } 26 | -------------------------------------------------------------------------------- /core/src/test/java/kafka/test/annotation/AutoStart.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package kafka.test.annotation; 19 | 20 | public enum AutoStart { 21 | YES, 22 | NO, 23 | DEFAULT 24 | } 25 | -------------------------------------------------------------------------------- /core/src/test/java/kafka/testkit/TestKitNode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package kafka.testkit; 19 | 20 | public interface TestKitNode { 21 | int id(); 22 | String metadataDirectory(); 23 | } 24 | -------------------------------------------------------------------------------- /core/src/test/resources/minikdc-krb5.conf: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | [libdefaults] 19 | default_realm = {0} 20 | udp_preference_limit = 1 21 | default_tkt_enctypes=aes128-cts-hmac-sha1-96 22 | default_tgs_enctypes=aes128-cts-hmac-sha1-96 23 | 24 | [realms] 25 | {0} = '{' 26 | kdc = {1}:{2} 27 | '}' 28 | -------------------------------------------------------------------------------- /core/src/test/scala/other/kafka.log4j.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | log4j.rootLogger=INFO, KAFKA 16 | 17 | log4j.appender.KAFKA=kafka.log4j.KafkaAppender 18 | 19 | log4j.appender.KAFKA.Port=9092 20 | log4j.appender.KAFKA.Host=localhost 21 | log4j.appender.KAFKA.Topic=test-logger 22 | log4j.appender.KAFKA.Serializer=kafka.AppenderStringSerializer 23 | -------------------------------------------------------------------------------- /core/src/test/scala/unit/kafka/server/AbstractFetcherThreadWithIbp26Test.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package kafka.server 19 | 20 | class AbstractFetcherThreadWithIbp26Test extends AbstractFetcherThreadTest { 21 | 22 | override val truncateOnFetch = false 23 | } 24 | -------------------------------------------------------------------------------- /docs/documentation/index.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | -------------------------------------------------------------------------------- /docs/documentation/streams/architecture.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/core-concepts.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/developer-guide/app-reset-tool.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/developer-guide/config-streams.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/developer-guide/datatypes.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/developer-guide/dsl-api.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/developer-guide/dsl-topology-naming.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/developer-guide/index.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/developer-guide/interactive-queries.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/developer-guide/manage-topics.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/developer-guide/memory-mgmt.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/developer-guide/processor-api.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/developer-guide/running-app.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/developer-guide/security.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/developer-guide/testing.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/developer-guide/write-streams.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/index.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/quickstart.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/tutorial.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/documentation/streams/upgrade-guide.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/ecosystem.html: -------------------------------------------------------------------------------- 1 | 17 | 18 | There are a plethora of tools that integrate with Kafka outside the main distribution. The ecosystem page lists many of these, including stream processing systems, Hadoop integration, monitoring, and deployment tools. 19 | -------------------------------------------------------------------------------- /docs/images/consumer-groups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/consumer-groups.png -------------------------------------------------------------------------------- /docs/images/icons/NYT.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/icons/NYT.jpg -------------------------------------------------------------------------------- /docs/images/icons/architecture--white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/icons/architecture--white.png -------------------------------------------------------------------------------- /docs/images/icons/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/icons/architecture.png -------------------------------------------------------------------------------- /docs/images/icons/documentation--white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/icons/documentation--white.png -------------------------------------------------------------------------------- /docs/images/icons/documentation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/icons/documentation.png -------------------------------------------------------------------------------- /docs/images/icons/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/icons/line.png -------------------------------------------------------------------------------- /docs/images/icons/new-york.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/icons/new-york.png -------------------------------------------------------------------------------- /docs/images/icons/rabobank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/icons/rabobank.png -------------------------------------------------------------------------------- /docs/images/icons/tutorials--white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/icons/tutorials--white.png -------------------------------------------------------------------------------- /docs/images/icons/tutorials.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/icons/tutorials.png -------------------------------------------------------------------------------- /docs/images/icons/zalando.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/icons/zalando.png -------------------------------------------------------------------------------- /docs/images/kafka-apis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/kafka-apis.png -------------------------------------------------------------------------------- /docs/images/kafka_log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/kafka_log.png -------------------------------------------------------------------------------- /docs/images/kafka_multidc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/kafka_multidc.png -------------------------------------------------------------------------------- /docs/images/kafka_multidc_complex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/kafka_multidc_complex.png -------------------------------------------------------------------------------- /docs/images/log_anatomy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/log_anatomy.png -------------------------------------------------------------------------------- /docs/images/log_cleaner_anatomy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/log_cleaner_anatomy.png -------------------------------------------------------------------------------- /docs/images/log_compaction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/log_compaction.png -------------------------------------------------------------------------------- /docs/images/log_consumer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/log_consumer.png -------------------------------------------------------------------------------- /docs/images/mirror-maker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/mirror-maker.png -------------------------------------------------------------------------------- /docs/images/producer_consumer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/producer_consumer.png -------------------------------------------------------------------------------- /docs/images/streams-architecture-overview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-architecture-overview.jpg -------------------------------------------------------------------------------- /docs/images/streams-architecture-states.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-architecture-states.jpg -------------------------------------------------------------------------------- /docs/images/streams-architecture-tasks.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-architecture-tasks.jpg -------------------------------------------------------------------------------- /docs/images/streams-architecture-threads.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-architecture-threads.jpg -------------------------------------------------------------------------------- /docs/images/streams-architecture-topology.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-architecture-topology.jpg -------------------------------------------------------------------------------- /docs/images/streams-cache-and-commit-interval.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-cache-and-commit-interval.png -------------------------------------------------------------------------------- /docs/images/streams-concepts-topology.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-concepts-topology.jpg -------------------------------------------------------------------------------- /docs/images/streams-elastic-scaling-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-elastic-scaling-1.png -------------------------------------------------------------------------------- /docs/images/streams-elastic-scaling-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-elastic-scaling-2.png -------------------------------------------------------------------------------- /docs/images/streams-elastic-scaling-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-elastic-scaling-3.png -------------------------------------------------------------------------------- /docs/images/streams-interactive-queries-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-interactive-queries-01.png -------------------------------------------------------------------------------- /docs/images/streams-interactive-queries-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-interactive-queries-02.png -------------------------------------------------------------------------------- /docs/images/streams-interactive-queries-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-interactive-queries-03.png -------------------------------------------------------------------------------- /docs/images/streams-interactive-queries-api-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-interactive-queries-api-01.png -------------------------------------------------------------------------------- /docs/images/streams-interactive-queries-api-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-interactive-queries-api-02.png -------------------------------------------------------------------------------- /docs/images/streams-session-windows-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-session-windows-01.png -------------------------------------------------------------------------------- /docs/images/streams-session-windows-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-session-windows-02.png -------------------------------------------------------------------------------- /docs/images/streams-sliding-windows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-sliding-windows.png -------------------------------------------------------------------------------- /docs/images/streams-stateful_operations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-stateful_operations.png -------------------------------------------------------------------------------- /docs/images/streams-table-duality-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-table-duality-01.png -------------------------------------------------------------------------------- /docs/images/streams-table-duality-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-table-duality-02.png -------------------------------------------------------------------------------- /docs/images/streams-table-duality-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-table-duality-03.png -------------------------------------------------------------------------------- /docs/images/streams-table-updates-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-table-updates-01.png -------------------------------------------------------------------------------- /docs/images/streams-table-updates-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-table-updates-02.png -------------------------------------------------------------------------------- /docs/images/streams-time-windows-hopping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-time-windows-hopping.png -------------------------------------------------------------------------------- /docs/images/streams-time-windows-tumbling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-time-windows-tumbling.png -------------------------------------------------------------------------------- /docs/images/streams-welcome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/streams-welcome.png -------------------------------------------------------------------------------- /docs/images/tracking_high_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linkedin/kafka/HEAD/docs/images/tracking_high_level.png -------------------------------------------------------------------------------- /docs/js/templateData.js: -------------------------------------------------------------------------------- 1 | /* 2 | Licensed to the Apache Software Foundation (ASF) under one or more 3 | contributor license agreements. See the NOTICE file distributed with 4 | this work for additional information regarding copyright ownership. 5 | The ASF licenses this file to You under the Apache License, Version 2.0 6 | (the "License"); you may not use this file except in compliance with 7 | the License. You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | */ 17 | 18 | // Define variables for doc templates 19 | var context={ 20 | "version": "30", 21 | "dotVersion": "3.0", 22 | "fullDotVersion": "3.0.1-SNAPSHOT", 23 | "scalaVersion": "2.13" 24 | }; 25 | -------------------------------------------------------------------------------- /examples/README: -------------------------------------------------------------------------------- 1 | This directory contains examples of client code that uses kafka. 2 | 3 | To run the demo: 4 | 5 | 1. Start Zookeeper and the Kafka server 6 | 2. For unlimited sync-producer-consumer run, `run bin/java-producer-consumer-demo.sh sync` 7 | 3. For unlimited async-producer-consumer run, `run bin/java-producer-consumer-demo.sh` 8 | 4. For exactly once demo run, `run bin/exactly-once-demo.sh 6 3 50000`, 9 | this means we are starting 3 EOS instances with 6 topic partitions and 50000 pre-populated records. 10 | 5. Some notes for exactly once demo: 11 | 5.1. The Kafka server has to be on broker version 2.5 or higher. 12 | 5.2. You could also use Intellij to run the example directly by configuring parameters as "Program arguments" 13 | -------------------------------------------------------------------------------- /examples/bin/exactly-once-demo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | base_dir=$(dirname $0)/../.. 18 | 19 | if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then 20 | export KAFKA_HEAP_OPTS="-Xmx512M" 21 | fi 22 | 23 | exec $base_dir/bin/kafka-run-class.sh kafka.examples.KafkaExactlyOnceDemo $@ 24 | -------------------------------------------------------------------------------- /examples/bin/java-producer-consumer-demo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | base_dir=$(dirname $0)/../.. 18 | 19 | if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then 20 | export KAFKA_HEAP_OPTS="-Xmx512M" 21 | fi 22 | exec $base_dir/bin/kafka-run-class.sh kafka.examples.KafkaConsumerProducerDemo $@ 23 | -------------------------------------------------------------------------------- /generator/src/main/java/org/apache/kafka/message/ClauseGenerator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package org.apache.kafka.message; 19 | 20 | /** 21 | * Generates a clause. 22 | */ 23 | public interface ClauseGenerator { 24 | void generate(Versions versions); 25 | } 26 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionSha256Sum=9bb8bc05f562f2d42bdf1ba8db62f6b6fa1c3bf6c392228802cc7cb0578fe7e0 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.1.1-all.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /gradlewAll: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # Convenient way to invoke a gradle command with all Scala versions supported 17 | # by default 18 | ./gradlew "$@" -PscalaVersion=2.12 && ./gradlew "$@" -PscalaVersion=2.13 19 | 20 | -------------------------------------------------------------------------------- /licenses/DWTFYWTPL: -------------------------------------------------------------------------------- 1 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 2 | Version 2, December 2004 3 | 4 | Copyright (C) 2004 Sam Hocevar 5 | 6 | Everyone is permitted to copy and distribute verbatim or modified 7 | copies of this license document, and changing it is allowed as long 8 | as the name is changed. 9 | 10 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 11 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 12 | 13 | 0. You just DO WHAT THE FUCK YOU WANT TO. 14 | 15 | -------------------------------------------------------------------------------- /raft/config/kraft.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | node.id=0 17 | listeners=PLAINTEXT://localhost:9092 18 | controller.listener.names=PLAINTEXT 19 | controller.quorum.voters=0@localhost:9092 20 | log.dirs=/tmp/kraft-logs 21 | -------------------------------------------------------------------------------- /raft/src/main/java/org/apache/kafka/raft/Isolation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.raft; 18 | 19 | public enum Isolation { 20 | COMMITTED, 21 | UNCOMMITTED 22 | } 23 | -------------------------------------------------------------------------------- /raft/src/main/java/org/apache/kafka/raft/OffsetMetadata.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.raft; 18 | 19 | // Opaque metadata type which should be instantiated by the log implementation 20 | public interface OffsetMetadata { 21 | } 22 | -------------------------------------------------------------------------------- /raft/src/main/java/org/apache/kafka/raft/RaftMessage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.raft; 18 | 19 | import org.apache.kafka.common.protocol.ApiMessage; 20 | 21 | public interface RaftMessage { 22 | int correlationId(); 23 | 24 | ApiMessage data(); 25 | 26 | } 27 | -------------------------------------------------------------------------------- /raft/src/main/java/org/apache/kafka/raft/internals/CloseListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.raft.internals; 18 | 19 | public interface CloseListener { 20 | 21 | void onClose(T closeable); 22 | 23 | } 24 | -------------------------------------------------------------------------------- /streams/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | -------------------------------------------------------------------------------- /streams/quickstart/java/src/main/resources/archetype-resources/src/main/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | log4j.rootLogger=INFO, console 16 | 17 | log4j.appender.console=org.apache.log4j.ConsoleAppender 18 | log4j.appender.console.layout=org.apache.log4j.PatternLayout 19 | log4j.appender.console.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p %-60c %x - %m%n -------------------------------------------------------------------------------- /streams/quickstart/java/src/test/resources/projects/basic/archetype.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | groupId=org.apache.kafka.archtypetest 16 | version=0.1 17 | artifactId=basic 18 | package=org.apache.kafka.archetypetest 19 | -------------------------------------------------------------------------------- /streams/quickstart/java/src/test/resources/projects/basic/goal.txt: -------------------------------------------------------------------------------- 1 | compile -------------------------------------------------------------------------------- /streams/src/main/java/org/apache/kafka/streams/kstream/internals/InternalNameProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.streams.kstream.internals; 18 | 19 | public interface InternalNameProvider { 20 | String newProcessorName(final String prefix); 21 | 22 | String newStoreName(final String prefix); 23 | } 24 | -------------------------------------------------------------------------------- /streams/src/main/java/org/apache/kafka/streams/kstream/internals/KTableValueGetterSupplier.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.streams.kstream.internals; 18 | 19 | public interface KTableValueGetterSupplier { 20 | 21 | KTableValueGetter get(); 22 | 23 | String[] storeNames(); 24 | } 25 | -------------------------------------------------------------------------------- /streams/src/main/java/org/apache/kafka/streams/kstream/internals/suppress/BufferFullStrategy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.streams.kstream.internals.suppress; 18 | 19 | public enum BufferFullStrategy { 20 | EMIT, 21 | SHUT_DOWN 22 | } 23 | -------------------------------------------------------------------------------- /streams/src/main/java/org/apache/kafka/streams/processor/internals/TaskAction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | package org.apache.kafka.streams.processor.internals; 18 | 19 | interface TaskAction { 20 | String name(); 21 | void apply(final T task); 22 | } 23 | -------------------------------------------------------------------------------- /streams/src/main/java/org/apache/kafka/streams/state/internals/CacheFunction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | */ 17 | 18 | package org.apache.kafka.streams.state.internals; 19 | 20 | import org.apache.kafka.common.utils.Bytes; 21 | 22 | interface CacheFunction { 23 | Bytes key(Bytes cacheKey); 24 | Bytes cacheKey(Bytes cacheKey); 25 | } 26 | -------------------------------------------------------------------------------- /streams/src/test/resources/kafka/kafka-streams-version.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | commitId=test-commit-ID 16 | version=test-version -------------------------------------------------------------------------------- /streams/streams-scala/.gitignore: -------------------------------------------------------------------------------- 1 | /logs/ -------------------------------------------------------------------------------- /streams/test-utils/src/test/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | log4j.rootLogger=INFO, stdout 16 | 17 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender 18 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 19 | log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c:%L)%n 20 | 21 | log4j.logger.org.apache.kafka=INFO 22 | -------------------------------------------------------------------------------- /tests/.gitignore: -------------------------------------------------------------------------------- 1 | Vagrantfile.local 2 | .idea/ 3 | *.pyc 4 | *.ipynb 5 | .DS_Store 6 | .ducktape 7 | results/ 8 | -------------------------------------------------------------------------------- /tests/MANIFEST.in: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | recursive-include kafkatest */templates/* 17 | -------------------------------------------------------------------------------- /tests/docker/ssh-config: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | Host * 17 | ControlMaster auto 18 | ControlPath ~/.ssh/master-%r@%h:%p 19 | StrictHostKeyChecking no 20 | ConnectTimeout=10 21 | IdentityFile ~/.ssh/id_rsa 22 | -------------------------------------------------------------------------------- /tests/docker/ssh/config: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | Host * 17 | ControlMaster auto 18 | ControlPath ~/.ssh/master-%r@%h:%p 19 | StrictHostKeyChecking no 20 | ConnectTimeout=10 21 | IdentityFile ~/.ssh/id_rsa 22 | -------------------------------------------------------------------------------- /tests/docker/ssh/id_rsa.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0qDT9kEPWc8JQ53b4KnT/ZJOLwb+3c//jpLW/2ofjDyIsPW4FohLpicfouch/zsRpN4G38lua+2BsGls9sMIZc6PXY2L+NIGCkqEMdCoU1Ym8SMtyJklfzp3m/0PeK9s2dLlR3PFRYvyFA4btQK5hkbYDNZPzf4airvzdRzLkrFf81+RemaMI2EtONwJRcbLViPaTXVKJdbFwJTJ1u7yu9wDYWHKBMA92mHTQeP6bhVYCqxJn3to/RfZYd+sHw6mfxVg5OrAlUOYpSV4pDNCAsIHdtZ56V8NQlJL6NJ2vzzSSYUwLMqe88fhrC8yYHoxC07QPy1EdkSTHdohAicyT root@knode01.knw 2 | -------------------------------------------------------------------------------- /tests/kafkatest/benchmarks/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | -------------------------------------------------------------------------------- /tests/kafkatest/benchmarks/core/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | -------------------------------------------------------------------------------- /tests/kafkatest/directory_layout/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | -------------------------------------------------------------------------------- /tests/kafkatest/sanity_checks/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. -------------------------------------------------------------------------------- /tests/kafkatest/services/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | -------------------------------------------------------------------------------- /tests/kafkatest/services/consumer_property.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | """ 17 | Define Consumer configuration property names here. 18 | """ 19 | 20 | GROUP_INSTANCE_ID = "group.instance.id" 21 | SESSION_TIMEOUT_MS = "session.timeout.ms" 22 | -------------------------------------------------------------------------------- /tests/kafkatest/services/kafka/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | from .kafka import KafkaService 17 | from .util import TopicPartition 18 | from .config import KafkaConfig 19 | -------------------------------------------------------------------------------- /tests/kafkatest/services/monitor/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | -------------------------------------------------------------------------------- /tests/kafkatest/services/performance/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | from .performance import PerformanceService, throughput, latency, compute_aggregate_throughput 17 | from .end_to_end_latency import EndToEndLatencyService 18 | from .producer_performance import ProducerPerformanceService 19 | from .consumer_performance import ConsumerPerformanceService 20 | -------------------------------------------------------------------------------- /tests/kafkatest/services/security/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | -------------------------------------------------------------------------------- /tests/kafkatest/services/security/templates/minikdc.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | kdc.bind.address=0.0.0.0 17 | 18 | -------------------------------------------------------------------------------- /tests/kafkatest/services/streams_property.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | """ 17 | Define Streams configuration property names here. 18 | """ 19 | 20 | STATE_DIR = "state.dir" 21 | KAFKA_SERVERS = "bootstrap.servers" 22 | NUM_THREADS = "num.stream.threads" 23 | PROCESSING_GUARANTEE = "processing.guarantee" 24 | -------------------------------------------------------------------------------- /tests/kafkatest/services/templates/mirror_maker_producer.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | bootstrap.servers = {{ target.bootstrap_servers(security_config.security_protocol) }} 17 | 18 | {% if producer_interceptor_classes is defined and producer_interceptor_classes is not none %} 19 | interceptor.classes={{ producer_interceptor_classes }} 20 | {% endif %} 21 | -------------------------------------------------------------------------------- /tests/kafkatest/services/templates/producer.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # see kafka.producer.ProducerConfig for more details 16 | 17 | request.timeout.ms={{ request_timeout_ms }} 18 | -------------------------------------------------------------------------------- /tests/kafkatest/services/trogdor/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | -------------------------------------------------------------------------------- /tests/kafkatest/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | -------------------------------------------------------------------------------- /tests/kafkatest/tests/client/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | -------------------------------------------------------------------------------- /tests/kafkatest/tests/connect/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | -------------------------------------------------------------------------------- /tests/kafkatest/tests/connect/templates/connect-file-external.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | topic.external={{ TOPIC_TEST }} 17 | -------------------------------------------------------------------------------- /tests/kafkatest/tests/core/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | -------------------------------------------------------------------------------- /tests/kafkatest/tests/streams/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | -------------------------------------------------------------------------------- /tests/kafkatest/tests/streams/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | from .util import verify_running, verify_stopped, stop_processors, extract_generation_from_logs, extract_generation_id 17 | -------------------------------------------------------------------------------- /tests/kafkatest/tests/tools/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | -------------------------------------------------------------------------------- /tests/kafkatest/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | from .util import kafkatest_version, is_version, is_int, is_int_with_prefix, node_is_reachable, validate_delivery 17 | -------------------------------------------------------------------------------- /tests/unit/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | -------------------------------------------------------------------------------- /tests/unit/directory_layout/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | -------------------------------------------------------------------------------- /tests/unit/version/__init__.py: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | --------------------------------------------------------------------------------