You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by da...@apache.org on 2025/02/05 19:31:05 UTC

(kafka-merge-queue-sandbox) 01/01: copy over kafka sources

This is an automated email from the ASF dual-hosted git repository.

davidarthur pushed a commit to branch kafka-sources
in repository https://gitbox.apache.org/repos/asf/kafka-merge-queue-sandbox.git

commit f930a762d7779f29fd993c6ef57774f00fd17be5
Author: David Arthur <mu...@gmail.com>
AuthorDate: Wed Feb 5 13:50:07 2025 -0500

    copy over kafka sources
---
 .github/workflows/merge-queue.yml                  |    26 -
 .github/workflows/pull-request.yml                 |    22 -
 .gitignore                                         |    64 +
 CONTRIBUTING.md                                    |    11 +
 HEADER                                             |    14 +
 LICENSE                                            |   202 +
 LICENSE-binary                                     |   337 +
 NOTICE                                             |    19 +
 NOTICE-binary                                      |   820 +
 PULL_REQUEST_TEMPLATE.md                           |    14 +
 README.md                                          |     2 +-
 Vagrantfile                                        |   217 +
 bin/connect-distributed.sh                         |    45 +
 bin/connect-mirror-maker.sh                        |    45 +
 bin/connect-plugin-path.sh                         |    21 +
 bin/connect-standalone.sh                          |    45 +
 bin/kafka-acls.sh                                  |    17 +
 bin/kafka-broker-api-versions.sh                   |    17 +
 bin/kafka-client-metrics.sh                        |    17 +
 bin/kafka-cluster.sh                               |    17 +
 bin/kafka-configs.sh                               |    17 +
 bin/kafka-console-consumer.sh                      |    21 +
 bin/kafka-console-producer.sh                      |    20 +
 bin/kafka-console-share-consumer.sh                |    21 +
 bin/kafka-consumer-groups.sh                       |    17 +
 bin/kafka-consumer-perf-test.sh                    |    20 +
 bin/kafka-delegation-tokens.sh                     |    17 +
 bin/kafka-delete-records.sh                        |    17 +
 bin/kafka-dump-log.sh                              |    17 +
 bin/kafka-e2e-latency.sh                           |    17 +
 bin/kafka-features.sh                              |    17 +
 bin/kafka-get-offsets.sh                           |    17 +
 bin/kafka-groups.sh                                |    17 +
 bin/kafka-jmx.sh                                   |    17 +
 bin/kafka-leader-election.sh                       |    17 +
 bin/kafka-log-dirs.sh                              |    17 +
 bin/kafka-metadata-quorum.sh                       |    17 +
 bin/kafka-metadata-shell.sh                        |    17 +
 bin/kafka-producer-perf-test.sh                    |    20 +
 bin/kafka-reassign-partitions.sh                   |    17 +
 bin/kafka-replica-verification.sh                  |    17 +
 bin/kafka-run-class.sh                             |   354 +
 bin/kafka-server-start.sh                          |    44 +
 bin/kafka-server-stop.sh                           |    64 +
 bin/kafka-share-consumer-perf-test.sh              |    20 +
 bin/kafka-share-groups.sh                          |    17 +
 bin/kafka-storage.sh                               |    17 +
 bin/kafka-streams-application-reset.sh             |    21 +
 bin/kafka-topics.sh                                |    17 +
 bin/kafka-transactions.sh                          |    17 +
 bin/kafka-verifiable-consumer.sh                   |    20 +
 bin/kafka-verifiable-producer.sh                   |    20 +
 bin/kafka-verifiable-share-consumer.sh             |    20 +
 bin/trogdor.sh                                     |    50 +
 bin/windows/connect-distributed.bat                |    34 +
 bin/windows/connect-plugin-path.bat                |    21 +
 bin/windows/connect-standalone.bat                 |    34 +
 bin/windows/kafka-acls.bat                         |    17 +
 bin/windows/kafka-broker-api-versions.bat          |    17 +
 bin/windows/kafka-client-metrics.bat               |    17 +
 bin/windows/kafka-cluster.bat                      |    17 +
 bin/windows/kafka-configs.bat                      |    17 +
 bin/windows/kafka-console-consumer.bat             |    20 +
 bin/windows/kafka-console-producer.bat             |    20 +
 bin/windows/kafka-console-share-consumer.bat       |    20 +
 bin/windows/kafka-consumer-groups.bat              |    17 +
 bin/windows/kafka-consumer-perf-test.bat           |    20 +
 bin/windows/kafka-delegation-tokens.bat            |    17 +
 bin/windows/kafka-delete-records.bat               |    17 +
 bin/windows/kafka-dump-log.bat                     |    17 +
 bin/windows/kafka-e2e-latency.bat                  |    17 +
 bin/windows/kafka-features.bat                     |    17 +
 bin/windows/kafka-get-offsets.bat                  |    17 +
 bin/windows/kafka-groups.bat                       |    17 +
 bin/windows/kafka-jmx.bat                          |    17 +
 bin/windows/kafka-leader-election.bat              |    17 +
 bin/windows/kafka-log-dirs.bat                     |    17 +
 bin/windows/kafka-metadata-quorum.bat              |    17 +
 bin/windows/kafka-producer-perf-test.bat           |    20 +
 bin/windows/kafka-reassign-partitions.bat          |    17 +
 bin/windows/kafka-replica-verification.bat         |    17 +
 bin/windows/kafka-run-class.bat                    |   200 +
 bin/windows/kafka-server-start.bat                 |    38 +
 bin/windows/kafka-server-stop.bat                  |    18 +
 bin/windows/kafka-share-consumer-perf-test.bat     |    20 +
 bin/windows/kafka-share-groups.bat                 |    17 +
 bin/windows/kafka-storage.bat                      |    17 +
 bin/windows/kafka-streams-application-reset.bat    |    23 +
 bin/windows/kafka-topics.bat                       |    17 +
 bin/windows/kafka-transactions.bat                 |    17 +
 build.gradle                                       |  3847 +++
 checkstyle/.scalafmt.conf                          |    22 +
 checkstyle/checkstyle.xml                          |   166 +
 checkstyle/import-control-coordinator-common.xml   |    71 +
 checkstyle/import-control-core.xml                 |   170 +
 checkstyle/import-control-group-coordinator.xml    |    88 +
 checkstyle/import-control-jmh-benchmarks.xml       |    69 +
 checkstyle/import-control-metadata.xml             |   209 +
 checkstyle/import-control-server-common.xml        |   139 +
 checkstyle/import-control-server.xml               |   110 +
 checkstyle/import-control-share-coordinator.xml    |    80 +
 checkstyle/import-control-storage.xml              |   147 +
 .../import-control-test-common-internal-api.xml    |    43 +
 checkstyle/import-control-test-common-runtime.xml  |    32 +
 checkstyle/import-control-test-common-util.xml     |    26 +
 .../import-control-transaction-coordinator.xml     |    51 +
 checkstyle/import-control.xml                      |   685 +
 checkstyle/java.header                             |    16 +
 checkstyle/suppressions.xml                        |   367 +
 clients/.gitignore                                 |     1 +
 .../java/org/apache/kafka/clients/ApiVersions.java |    69 +
 .../org/apache/kafka/clients/ClientDnsLookup.java  |    39 +
 .../org/apache/kafka/clients/ClientRequest.java    |   119 +
 .../org/apache/kafka/clients/ClientResponse.java   |   173 +
 .../java/org/apache/kafka/clients/ClientUtils.java |   278 +
 .../kafka/clients/ClusterConnectionStates.java     |   567 +
 .../apache/kafka/clients/CommonClientConfigs.java  |   323 +
 .../org/apache/kafka/clients/ConnectionState.java  |    38 +
 .../apache/kafka/clients/DefaultHostResolver.java  |    29 +
 .../apache/kafka/clients/FetchSessionHandler.java  |   628 +
 .../apache/kafka/clients/GroupRebalanceConfig.java |   105 +
 .../org/apache/kafka/clients/HostResolver.java     |    26 +
 .../org/apache/kafka/clients/InFlightRequests.java |   186 +
 .../java/org/apache/kafka/clients/KafkaClient.java |   216 +
 .../org/apache/kafka/clients/LeastLoadedNode.java  |    43 +
 .../kafka/clients/ManualMetadataUpdater.java       |    87 +
 .../java/org/apache/kafka/clients/Metadata.java    |   844 +
 .../kafka/clients/MetadataRecoveryStrategy.java    |    44 +
 .../org/apache/kafka/clients/MetadataSnapshot.java |   261 +
 .../org/apache/kafka/clients/MetadataUpdater.java  |   110 +
 .../org/apache/kafka/clients/NetworkClient.java    |  1607 ++
 .../apache/kafka/clients/NetworkClientUtils.java   |   154 +
 .../org/apache/kafka/clients/NodeApiVersions.java  |   268 +
 .../kafka/clients/RequestCompletionHandler.java    |    26 +
 .../kafka/clients/StaleMetadataException.java      |    35 +
 .../clients/admin/AbortTransactionOptions.java     |    31 +
 .../clients/admin/AbortTransactionResult.java      |    49 +
 .../kafka/clients/admin/AbortTransactionSpec.java  |    85 +
 .../kafka/clients/admin/AbstractOptions.java       |    47 +
 .../kafka/clients/admin/AddRaftVoterOptions.java   |    38 +
 .../kafka/clients/admin/AddRaftVoterResult.java    |    42 +
 .../java/org/apache/kafka/clients/admin/Admin.java |  1879 ++
 .../apache/kafka/clients/admin/AdminClient.java    |    51 +
 .../kafka/clients/admin/AdminClientConfig.java     |   313 +
 .../clients/admin/AlterClientQuotasOptions.java    |    48 +
 .../clients/admin/AlterClientQuotasResult.java     |    59 +
 .../apache/kafka/clients/admin/AlterConfigOp.java  |   116 +
 .../kafka/clients/admin/AlterConfigsOptions.java   |    59 +
 .../kafka/clients/admin/AlterConfigsResult.java    |    54 +
 .../admin/AlterConsumerGroupOffsetsOptions.java    |    30 +
 .../admin/AlterConsumerGroupOffsetsResult.java     |    87 +
 .../admin/AlterPartitionReassignmentsOptions.java  |    31 +
 .../admin/AlterPartitionReassignmentsResult.java   |    59 +
 .../clients/admin/AlterReplicaLogDirsOptions.java  |    30 +
 .../clients/admin/AlterReplicaLogDirsResult.java   |    80 +
 .../admin/AlterUserScramCredentialsOptions.java    |    31 +
 .../admin/AlterUserScramCredentialsResult.java     |    60 +
 .../clients/admin/ClassicGroupDescription.java     |   155 +
 .../admin/ClientMetricsResourceListing.java        |    54 +
 .../org/apache/kafka/clients/admin/Config.java     |    81 +
 .../apache/kafka/clients/admin/ConfigEntry.java    |   298 +
 .../clients/admin/ConsumerGroupDescription.java    |   243 +
 .../kafka/clients/admin/ConsumerGroupListing.java  |   177 +
 .../kafka/clients/admin/CreateAclsOptions.java     |    43 +
 .../kafka/clients/admin/CreateAclsResult.java      |    54 +
 .../admin/CreateDelegationTokenOptions.java        |    81 +
 .../clients/admin/CreateDelegationTokenResult.java |    43 +
 .../clients/admin/CreatePartitionsOptions.java     |    67 +
 .../clients/admin/CreatePartitionsResult.java      |    53 +
 .../kafka/clients/admin/CreateTopicsOptions.java   |    76 +
 .../kafka/clients/admin/CreateTopicsResult.java    |   160 +
 .../kafka/clients/admin/DeleteAclsOptions.java     |    43 +
 .../kafka/clients/admin/DeleteAclsResult.java      |   126 +
 .../admin/DeleteConsumerGroupOffsetsOptions.java   |    31 +
 .../admin/DeleteConsumerGroupOffsetsResult.java    |    97 +
 .../clients/admin/DeleteConsumerGroupsOptions.java |    31 +
 .../clients/admin/DeleteConsumerGroupsResult.java  |    55 +
 .../kafka/clients/admin/DeleteRecordsOptions.java  |    32 +
 .../kafka/clients/admin/DeleteRecordsResult.java   |    54 +
 .../kafka/clients/admin/DeleteTopicsOptions.java   |    59 +
 .../kafka/clients/admin/DeleteTopicsResult.java    |    80 +
 .../apache/kafka/clients/admin/DeletedRecords.java |    47 +
 .../kafka/clients/admin/DescribeAclsOptions.java   |    42 +
 .../kafka/clients/admin/DescribeAclsResult.java    |    46 +
 .../admin/DescribeClassicGroupsOptions.java        |    41 +
 .../clients/admin/DescribeClassicGroupsResult.java |    69 +
 .../clients/admin/DescribeClientQuotasOptions.java |    30 +
 .../clients/admin/DescribeClientQuotasResult.java  |    53 +
 .../clients/admin/DescribeClusterOptions.java      |    70 +
 .../kafka/clients/admin/DescribeClusterResult.java |    80 +
 .../clients/admin/DescribeConfigsOptions.java      |    75 +
 .../kafka/clients/admin/DescribeConfigsResult.java |    70 +
 .../admin/DescribeConsumerGroupsOptions.java       |    41 +
 .../admin/DescribeConsumerGroupsResult.java        |    69 +
 .../admin/DescribeDelegationTokenOptions.java      |    48 +
 .../admin/DescribeDelegationTokenResult.java       |    45 +
 .../clients/admin/DescribeFeaturesOptions.java     |    28 +
 .../clients/admin/DescribeFeaturesResult.java      |    37 +
 .../clients/admin/DescribeLogDirsOptions.java      |    33 +
 .../kafka/clients/admin/DescribeLogDirsResult.java |    70 +
 .../admin/DescribeMetadataQuorumOptions.java       |    24 +
 .../admin/DescribeMetadataQuorumResult.java        |    38 +
 .../clients/admin/DescribeProducersOptions.java    |    64 +
 .../clients/admin/DescribeProducersResult.java     |    82 +
 .../admin/DescribeReplicaLogDirsOptions.java       |    32 +
 .../admin/DescribeReplicaLogDirsResult.java        |   138 +
 .../clients/admin/DescribeShareGroupsOptions.java  |    41 +
 .../clients/admin/DescribeShareGroupsResult.java   |    68 +
 .../kafka/clients/admin/DescribeTopicsOptions.java |    65 +
 .../kafka/clients/admin/DescribeTopicsResult.java  |   119 +
 .../clients/admin/DescribeTransactionsOptions.java |    38 +
 .../clients/admin/DescribeTransactionsResult.java  |    80 +
 .../admin/DescribeUserScramCredentialsOptions.java |    31 +
 .../admin/DescribeUserScramCredentialsResult.java  |   150 +
 .../kafka/clients/admin/ElectLeadersOptions.java   |    32 +
 .../kafka/clients/admin/ElectLeadersResult.java    |    76 +
 .../apache/kafka/clients/admin/EndpointType.java   |    47 +
 .../admin/ExpireDelegationTokenOptions.java        |    46 +
 .../clients/admin/ExpireDelegationTokenResult.java |    42 +
 .../kafka/clients/admin/FeatureMetadata.java       |   111 +
 .../apache/kafka/clients/admin/FeatureUpdate.java  |   111 +
 .../kafka/clients/admin/FenceProducersOptions.java |    38 +
 .../kafka/clients/admin/FenceProducersResult.java  |    84 +
 .../kafka/clients/admin/FinalizedVersionRange.java |    84 +
 .../kafka/clients/admin/ForwardingAdmin.java       |   330 +
 .../apache/kafka/clients/admin/GroupListing.java   |   129 +
 .../kafka/clients/admin/KafkaAdminClient.java      |  5039 ++++
 .../admin/ListClientMetricsResourcesOptions.java   |    29 +
 .../admin/ListClientMetricsResourcesResult.java    |    57 +
 .../admin/ListConsumerGroupOffsetsOptions.java     |    44 +
 .../admin/ListConsumerGroupOffsetsResult.java      |    91 +
 .../admin/ListConsumerGroupOffsetsSpec.java        |    79 +
 .../clients/admin/ListConsumerGroupsOptions.java   |    96 +
 .../clients/admin/ListConsumerGroupsResult.java    |    99 +
 .../kafka/clients/admin/ListGroupsOptions.java     |    70 +
 .../kafka/clients/admin/ListGroupsResult.java      |   102 +
 .../kafka/clients/admin/ListOffsetsOptions.java    |    45 +
 .../kafka/clients/admin/ListOffsetsResult.java     |   104 +
 .../admin/ListPartitionReassignmentsOptions.java   |    29 +
 .../admin/ListPartitionReassignmentsResult.java    |    43 +
 .../admin/ListShareGroupOffsetsOptions.java        |    31 +
 .../clients/admin/ListShareGroupOffsetsResult.java |    79 +
 .../clients/admin/ListShareGroupOffsetsSpec.java   |    76 +
 .../kafka/clients/admin/ListTopicsOptions.java     |    83 +
 .../kafka/clients/admin/ListTopicsResult.java      |    60 +
 .../clients/admin/ListTransactionsOptions.java     |   131 +
 .../clients/admin/ListTransactionsResult.java      |   125 +
 .../kafka/clients/admin/LogDirDescription.java     |    92 +
 .../kafka/clients/admin/MemberAssignment.java      |    67 +
 .../kafka/clients/admin/MemberDescription.java     |   208 +
 .../apache/kafka/clients/admin/MemberToRemove.java |    58 +
 .../clients/admin/NewPartitionReassignment.java    |    41 +
 .../apache/kafka/clients/admin/NewPartitions.java  |    99 +
 .../org/apache/kafka/clients/admin/NewTopic.java   |   175 +
 .../org/apache/kafka/clients/admin/OffsetSpec.java |    94 +
 .../kafka/clients/admin/PartitionReassignment.java |    69 +
 .../apache/kafka/clients/admin/ProducerState.java  |   101 +
 .../org/apache/kafka/clients/admin/QuorumInfo.java |   243 +
 .../kafka/clients/admin/RaftVoterEndpoint.java     |    98 +
 .../kafka/clients/admin/RecordsToDelete.java       |    73 +
 .../RemoveMembersFromConsumerGroupOptions.java     |    67 +
 .../RemoveMembersFromConsumerGroupResult.java      |   116 +
 .../clients/admin/RemoveRaftVoterOptions.java      |    38 +
 .../kafka/clients/admin/RemoveRaftVoterResult.java |    42 +
 .../clients/admin/RenewDelegationTokenOptions.java |    39 +
 .../clients/admin/RenewDelegationTokenResult.java  |    42 +
 .../apache/kafka/clients/admin/ReplicaInfo.java    |    70 +
 .../kafka/clients/admin/ScramCredentialInfo.java   |    78 +
 .../apache/kafka/clients/admin/ScramMechanism.java |    92 +
 .../kafka/clients/admin/ShareGroupDescription.java |   149 +
 .../kafka/clients/admin/ShareMemberAssignment.java |    69 +
 .../clients/admin/ShareMemberDescription.java      |   111 +
 .../kafka/clients/admin/SupportedVersionRange.java |    81 +
 .../kafka/clients/admin/TopicDescription.java      |   140 +
 .../apache/kafka/clients/admin/TopicListing.java   |    69 +
 .../clients/admin/TransactionDescription.java      |   113 +
 .../kafka/clients/admin/TransactionListing.java    |    74 +
 .../kafka/clients/admin/TransactionState.java      |    55 +
 .../clients/admin/UnregisterBrokerOptions.java     |    29 +
 .../clients/admin/UnregisterBrokerResult.java      |    40 +
 .../kafka/clients/admin/UpdateFeaturesOptions.java |    40 +
 .../kafka/clients/admin/UpdateFeaturesResult.java  |    49 +
 .../admin/UserScramCredentialAlteration.java       |    45 +
 .../clients/admin/UserScramCredentialDeletion.java |    46 +
 .../admin/UserScramCredentialUpsertion.java        |   100 +
 .../admin/UserScramCredentialsDescription.java     |    80 +
 .../admin/internals/AbortTransactionHandler.java   |   190 +
 .../clients/admin/internals/AdminApiDriver.java    |   529 +
 .../clients/admin/internals/AdminApiFuture.java    |   151 +
 .../clients/admin/internals/AdminApiHandler.java   |   197 +
 .../admin/internals/AdminApiLookupStrategy.java    |   147 +
 .../admin/internals/AdminBootstrapAddresses.java   |   108 +
 .../admin/internals/AdminFetchMetricsManager.java  |    37 +
 .../admin/internals/AdminMetadataManager.java      |   333 +
 .../kafka/clients/admin/internals/AdminUtils.java  |    42 +
 .../admin/internals/AllBrokersStrategy.java        |   213 +
 .../AlterConsumerGroupOffsetsHandler.java          |   208 +
 .../clients/admin/internals/ApiRequestScope.java   |    46 +
 .../clients/admin/internals/CoordinatorKey.java    |    62 +
 .../admin/internals/CoordinatorStrategy.java       |   196 +
 .../DeleteConsumerGroupOffsetsHandler.java         |   174 +
 .../internals/DeleteConsumerGroupsHandler.java     |   146 +
 .../admin/internals/DeleteRecordsHandler.java      |   180 +
 .../internals/DescribeClassicGroupsHandler.java    |   192 +
 .../internals/DescribeConsumerGroupsHandler.java   |   388 +
 .../admin/internals/DescribeProducersHandler.java  |   208 +
 .../internals/DescribeShareGroupsHandler.java      |   192 +
 .../internals/DescribeTransactionsHandler.java     |   195 +
 .../admin/internals/FenceProducersHandler.java     |   160 +
 .../internals/ListConsumerGroupOffsetsHandler.java |   194 +
 .../admin/internals/ListOffsetsHandler.java        |   225 +
 .../internals/ListShareGroupOffsetsHandler.java    |   133 +
 .../admin/internals/ListTransactionsHandler.java   |   134 +
 .../admin/internals/PartitionLeaderStrategy.java   |   290 +
 .../RemoveMembersFromConsumerGroupHandler.java     |   149 +
 .../admin/internals/StaticBrokerStrategy.java      |    65 +
 .../apache/kafka/clients/admin/package-info.java   |    20 +
 .../kafka/clients/consumer/AcknowledgeType.java    |    58 +
 .../consumer/AcknowledgementCommitCallback.java    |    53 +
 .../clients/consumer/CommitFailedException.java    |    43 +
 .../apache/kafka/clients/consumer/Consumer.java    |   289 +
 .../kafka/clients/consumer/ConsumerConfig.java     |   788 +
 .../clients/consumer/ConsumerGroupMetadata.java    |    92 +
 .../clients/consumer/ConsumerInterceptor.java      |    85 +
 .../consumer/ConsumerPartitionAssignor.java        |   330 +
 .../consumer/ConsumerRebalanceListener.java        |   200 +
 .../kafka/clients/consumer/ConsumerRecord.java     |   250 +
 .../kafka/clients/consumer/ConsumerRecords.java    |   147 +
 .../consumer/CooperativeStickyAssignor.java        |   157 +
 .../kafka/clients/consumer/GroupProtocol.java      |    43 +
 .../clients/consumer/InvalidOffsetException.java   |    38 +
 .../kafka/clients/consumer/KafkaConsumer.java      |  1831 ++
 .../kafka/clients/consumer/KafkaShareConsumer.java |   741 +
 .../clients/consumer/LogTruncationException.java   |    60 +
 .../kafka/clients/consumer/MockConsumer.java       |   687 +
 .../kafka/clients/consumer/MockShareConsumer.java  |   180 +
 .../consumer/NoOffsetForPartitionException.java    |    53 +
 .../kafka/clients/consumer/OffsetAndMetadata.java  |   126 +
 .../kafka/clients/consumer/OffsetAndTimestamp.java |    85 +
 .../clients/consumer/OffsetCommitCallback.java     |    54 +
 .../consumer/OffsetOutOfRangeException.java        |    54 +
 .../clients/consumer/OffsetResetStrategy.java      |    32 +
 .../kafka/clients/consumer/RangeAssignor.java      |   297 +
 .../consumer/RetriableCommitFailedException.java   |    37 +
 .../kafka/clients/consumer/RoundRobinAssignor.java |   145 +
 .../kafka/clients/consumer/ShareConsumer.java      |   126 +
 .../kafka/clients/consumer/StickyAssignor.java     |   275 +
 .../clients/consumer/SubscriptionPattern.java      |    59 +
 .../consumer/internals/AbstractCoordinator.java    |  1680 ++
 .../clients/consumer/internals/AbstractFetch.java  |   499 +
 .../internals/AbstractHeartbeatRequestManager.java |   588 +
 .../internals/AbstractMembershipManager.java       |  1479 ++
 .../internals/AbstractPartitionAssignor.java       |   185 +
 .../consumer/internals/AbstractStickyAssignor.java |  1503 ++
 .../consumer/internals/AcknowledgementBatch.java   |   108 +
 .../AcknowledgementCommitCallbackHandler.java      |    68 +
 .../consumer/internals/Acknowledgements.java       |   311 +
 .../clients/consumer/internals/AsyncClient.java    |    72 +
 .../consumer/internals/AsyncKafkaConsumer.java     |  2149 ++
 .../internals/AutoOffsetResetStrategy.java         |   182 +
 .../clients/consumer/internals/CachedSupplier.java |    43 +
 .../consumer/internals/ClassicKafkaConsumer.java   |  1290 ++
 .../consumer/internals/CommitRequestManager.java   |  1326 ++
 .../clients/consumer/internals/CompletedFetch.java |   391 +
 .../consumer/internals/ConsumerCoordinator.java    |  1639 ++
 .../consumer/internals/ConsumerDelegate.java       |    43 +
 .../internals/ConsumerDelegateCreator.java         |   114 +
 .../internals/ConsumerHeartbeatRequestManager.java |   329 +
 .../consumer/internals/ConsumerInterceptors.java   |   112 +
 .../internals/ConsumerMembershipManager.java       |   473 +
 .../consumer/internals/ConsumerMetadata.java       |    99 +
 .../consumer/internals/ConsumerMetrics.java        |    49 +
 .../consumer/internals/ConsumerNetworkClient.java  |   735 +
 .../consumer/internals/ConsumerNetworkThread.java  |   369 +
 .../consumer/internals/ConsumerProtocol.java       |   232 +
 .../ConsumerRebalanceListenerInvoker.java          |   130 +
 .../ConsumerRebalanceListenerMethodName.java       |    46 +
 .../clients/consumer/internals/ConsumerUtils.java  |   261 +
 .../internals/CoordinatorRequestManager.java       |   265 +
 .../clients/consumer/internals/Deserializers.java  |    98 +
 .../kafka/clients/consumer/internals/Fetch.java    |   137 +
 .../clients/consumer/internals/FetchBuffer.java    |   278 +
 .../clients/consumer/internals/FetchCollector.java |   395 +
 .../clients/consumer/internals/FetchConfig.java    |   105 +
 .../consumer/internals/FetchMetricsAggregator.java |    95 +
 .../consumer/internals/FetchMetricsManager.java    |   307 +
 .../consumer/internals/FetchMetricsRegistry.java   |   185 +
 .../consumer/internals/FetchRequestManager.java    |   183 +
 .../clients/consumer/internals/FetchUtils.java     |    53 +
 .../kafka/clients/consumer/internals/Fetcher.java  |   212 +
 .../clients/consumer/internals/Heartbeat.java      |   144 +
 .../clients/consumer/internals/MemberState.java    |   162 +
 .../consumer/internals/MemberStateListener.java    |    50 +
 .../consumer/internals/NetworkClientDelegate.java  |   474 +
 .../internals/NoAvailableBrokersException.java     |    27 +
 .../internals/OffsetAndTimestampInternal.java      |    81 +
 .../internals/OffsetCommitCallbackInvoker.java     |    81 +
 .../clients/consumer/internals/OffsetFetcher.java  |   441 +
 .../consumer/internals/OffsetFetcherUtils.java     |   443 +
 .../internals/OffsetsForLeaderEpochClient.java     |    55 +
 .../internals/OffsetsForLeaderEpochUtils.java      |   143 +
 .../consumer/internals/OffsetsRequestManager.java  |   924 +
 .../clients/consumer/internals/RequestFuture.java  |   255 +
 .../consumer/internals/RequestFutureAdapter.java   |    32 +
 .../consumer/internals/RequestFutureListener.java  |    27 +
 .../clients/consumer/internals/RequestManager.java |    87 +
 .../consumer/internals/RequestManagers.java        |   346 +
 .../clients/consumer/internals/RequestState.java   |   163 +
 .../clients/consumer/internals/SensorBuilder.java  |   115 +
 .../consumer/internals/ShareCompletedFetch.java    |   415 +
 .../internals/ShareConsumeRequestManager.java      |  1296 ++
 .../consumer/internals/ShareConsumerDelegate.java  |    40 +
 .../internals/ShareConsumerDelegateCreator.java    |    88 +
 .../consumer/internals/ShareConsumerImpl.java      |  1186 +
 .../consumer/internals/ShareConsumerMetrics.java   |    32 +
 .../clients/consumer/internals/ShareFetch.java     |   152 +
 .../consumer/internals/ShareFetchBuffer.java       |   233 +
 .../consumer/internals/ShareFetchCollector.java    |   189 +
 .../internals/ShareFetchMetricsAggregator.java     |    61 +
 .../internals/ShareFetchMetricsManager.java        |    95 +
 .../internals/ShareFetchMetricsRegistry.java       |   101 +
 .../internals/ShareHeartbeatRequestManager.java    |   251 +
 .../consumer/internals/ShareInFlightBatch.java     |   128 +
 .../consumer/internals/ShareMembershipManager.java |   178 +
 .../consumer/internals/ShareSessionHandler.java    |   288 +
 .../internals/StreamsGroupRebalanceCallbacks.java  |    49 +
 .../internals/StreamsMembershipManager.java        |  1282 +
 .../consumer/internals/StreamsRebalanceData.java   |   266 +
 .../internals/StreamsRebalanceEventsProcessor.java |   205 +
 .../consumer/internals/SubscriptionState.java      |  1388 ++
 .../consumer/internals/TimedRequestState.java      |    71 +
 .../consumer/internals/TopicMetadataFetcher.java   |   167 +
 .../internals/TopicMetadataRequestManager.java     |   273 +
 .../kafka/clients/consumer/internals/Utils.java    |    83 +
 .../clients/consumer/internals/WakeupTrigger.java  |   210 +
 .../events/AbstractTopicMetadataEvent.java         |    34 +
 .../internals/events/AllTopicsMetadataEvent.java   |    24 +
 .../internals/events/ApplicationEvent.java         |   105 +
 .../internals/events/ApplicationEventHandler.java  |   145 +
 .../events/ApplicationEventProcessor.java          |   715 +
 .../internals/events/AssignmentChangeEvent.java    |    47 +
 .../internals/events/AsyncCommitEvent.java         |    34 +
 .../consumer/internals/events/BackgroundEvent.java |    94 +
 .../internals/events/BackgroundEventHandler.java   |    71 +
 .../events/CheckAndUpdatePositionsEvent.java       |    49 +
 .../consumer/internals/events/CommitEvent.java     |    64 +
 .../internals/events/CommitOnCloseEvent.java       |    24 +
 .../events/CompletableApplicationEvent.java        |    59 +
 .../events/CompletableBackgroundEvent.java         |    55 +
 .../internals/events/CompletableEvent.java         |   127 +
 .../internals/events/CompletableEventReaper.java   |   174 +
 ...merRebalanceListenerCallbackCompletedEvent.java |    65 +
 ...nsumerRebalanceListenerCallbackNeededEvent.java |    61 +
 .../internals/events/CreateFetchRequestsEvent.java |    33 +
 .../consumer/internals/events/CurrentLagEvent.java |    50 +
 .../consumer/internals/events/ErrorEvent.java      |    38 +
 .../consumer/internals/events/EventProcessor.java  |    41 +
 .../events/FetchCommittedOffsetsEvent.java         |    46 +
 .../internals/events/LeaveGroupOnCloseEvent.java   |    37 +
 .../internals/events/ListOffsetsEvent.java         |    78 +
 .../internals/events/PausePartitionsEvent.java     |    42 +
 .../consumer/internals/events/PollEvent.java       |    36 +
 .../internals/events/ResetOffsetEvent.java         |    60 +
 .../internals/events/ResumePartitionsEvent.java    |    42 +
 .../internals/events/SeekUnvalidatedEvent.java     |    59 +
 .../events/ShareAcknowledgeAsyncEvent.java         |    36 +
 .../events/ShareAcknowledgeOnCloseEvent.java       |    41 +
 .../events/ShareAcknowledgeSyncEvent.java          |    41 +
 .../ShareAcknowledgementCommitCallbackEvent.java   |    42 +
 ...owledgementCommitCallbackRegistrationEvent.java |    31 +
 .../consumer/internals/events/ShareFetchEvent.java |    41 +
 .../events/ShareSubscriptionChangeEvent.java       |    45 +
 .../internals/events/ShareUnsubscribeEvent.java    |    31 +
 .../events/StopFindCoordinatorOnCloseEvent.java    |    29 +
 ...treamsOnAllTasksLostCallbackCompletedEvent.java |    51 +
 .../StreamsOnAllTasksLostCallbackNeededEvent.java  |    29 +
 ...reamsOnTasksAssignedCallbackCompletedEvent.java |    51 +
 .../StreamsOnTasksAssignedCallbackNeededEvent.java |    41 +
 ...treamsOnTasksRevokedCallbackCompletedEvent.java |    51 +
 .../StreamsOnTasksRevokedCallbackNeededEvent.java  |    42 +
 .../internals/events/SubscriptionChangeEvent.java  |    46 +
 .../consumer/internals/events/SyncCommitEvent.java |    34 +
 .../internals/events/TopicMetadataEvent.java       |    38 +
 .../TopicPatternSubscriptionChangeEvent.java       |    45 +
 .../TopicRe2JPatternSubscriptionChangeEvent.java   |    48 +
 .../events/TopicSubscriptionChangeEvent.java       |    44 +
 .../internals/events/UnsubscribeEvent.java         |    32 +
 .../events/UpdatePatternSubscriptionEvent.java     |    28 +
 .../internals/metrics/AsyncConsumerMetrics.java    |   262 +
 .../metrics/ConsumerRebalanceMetricsManager.java   |   109 +
 .../internals/metrics/HeartbeatMetricsManager.java |    81 +
 .../internals/metrics/KafkaConsumerMetrics.java    |   122 +
 .../metrics/KafkaShareConsumerMetrics.java         |    89 +
 .../metrics/OffsetCommitMetricsManager.java        |    62 +
 .../metrics/RebalanceCallbackMetricsManager.java   |    87 +
 .../internals/metrics/RebalanceMetricsManager.java |    41 +
 .../metrics/ShareRebalanceMetricsManager.java      |    63 +
 .../kafka/clients/consumer/package-info.java       |    20 +
 .../clients/producer/BufferExhaustedException.java |    37 +
 .../apache/kafka/clients/producer/Callback.java    |    61 +
 .../kafka/clients/producer/KafkaProducer.java      |  1600 ++
 .../kafka/clients/producer/MockProducer.java       |   596 +
 .../apache/kafka/clients/producer/Partitioner.java |    48 +
 .../apache/kafka/clients/producer/Producer.java    |   117 +
 .../kafka/clients/producer/ProducerConfig.java     |   662 +
 .../clients/producer/ProducerInterceptor.java      |    97 +
 .../kafka/clients/producer/ProducerRecord.java     |   225 +
 .../kafka/clients/producer/RecordMetadata.java     |   124 +
 .../clients/producer/RoundRobinPartitioner.java    |    72 +
 .../clients/producer/internals/BufferPool.java     |   356 +
 .../producer/internals/BuiltInPartitioner.java     |   349 +
 .../producer/internals/ErrorLoggingCallback.java   |    56 +
 .../producer/internals/FutureRecordMetadata.java   |   120 +
 .../producer/internals/IncompleteBatches.java      |    66 +
 .../producer/internals/KafkaProducerMetrics.java   |   134 +
 .../producer/internals/ProduceRequestResult.java   |   134 +
 .../clients/producer/internals/ProducerBatch.java  |   569 +
 .../producer/internals/ProducerInterceptors.java   |   146 +
 .../producer/internals/ProducerMetadata.java       |   171 +
 .../producer/internals/ProducerMetrics.java        |    49 +
 .../producer/internals/RecordAccumulator.java      |  1271 +
 .../kafka/clients/producer/internals/Sender.java   |  1084 +
 .../producer/internals/SenderMetricsRegistry.java  |   222 +
 .../producer/internals/TransactionManager.java     |  1887 ++
 .../internals/TransactionalRequestResult.java      |    87 +
 .../producer/internals/TxnPartitionEntry.java      |   174 +
 .../producer/internals/TxnPartitionMap.java        |   131 +
 .../kafka/clients/producer/package-info.java       |    20 +
 .../org/apache/kafka/common/ClassicGroupState.java |    58 +
 .../main/java/org/apache/kafka/common/Cluster.java |   397 +
 .../org/apache/kafka/common/ClusterResource.java   |    64 +
 .../kafka/common/ClusterResourceListener.java      |    54 +
 .../java/org/apache/kafka/common/Configurable.java |    31 +
 .../apache/kafka/common/ConsumerGroupState.java    |    62 +
 .../java/org/apache/kafka/common/ElectionType.java |    50 +
 .../java/org/apache/kafka/common/Endpoint.java     |   104 +
 .../java/org/apache/kafka/common/GroupState.java   |    93 +
 .../java/org/apache/kafka/common/GroupType.java    |    55 +
 .../kafka/common/InvalidRecordException.java       |    33 +
 .../org/apache/kafka/common/IsolationLevel.java    |    49 +
 .../org/apache/kafka/common/KafkaException.java    |    42 +
 .../java/org/apache/kafka/common/KafkaFuture.java  |   199 +
 .../org/apache/kafka/common/MessageFormatter.java  |    53 +
 .../main/java/org/apache/kafka/common/Metric.java  |    34 +
 .../java/org/apache/kafka/common/MetricName.java   |   132 +
 .../apache/kafka/common/MetricNameTemplate.java    |   129 +
 .../main/java/org/apache/kafka/common/Node.java    |   158 +
 .../org/apache/kafka/common/PartitionInfo.java     |   141 +
 .../org/apache/kafka/common/Reconfigurable.java    |    54 +
 .../org/apache/kafka/common/TopicCollection.java   |    81 +
 .../org/apache/kafka/common/TopicIdPartition.java  |   106 +
 .../org/apache/kafka/common/TopicPartition.java    |    72 +
 .../apache/kafka/common/TopicPartitionInfo.java    |   150 +
 .../apache/kafka/common/TopicPartitionReplica.java |    81 +
 .../main/java/org/apache/kafka/common/Uuid.java    |   196 +
 .../kafka/common/acl/AccessControlEntry.java       |   112 +
 .../kafka/common/acl/AccessControlEntryData.java   |   105 +
 .../kafka/common/acl/AccessControlEntryFilter.java |   143 +
 .../org/apache/kafka/common/acl/AclBinding.java    |    92 +
 .../apache/kafka/common/acl/AclBindingFilter.java  |   115 +
 .../org/apache/kafka/common/acl/AclOperation.java  |   177 +
 .../apache/kafka/common/acl/AclPermissionType.java |   106 +
 .../org/apache/kafka/common/acl/package-info.java  |    20 +
 .../common/annotation/InterfaceStability.java      |    54 +
 .../kafka/common/annotation/package-info.java      |    20 +
 .../java/org/apache/kafka/common/cache/Cache.java  |    52 +
 .../org/apache/kafka/common/cache/LRUCache.java    |    56 +
 .../kafka/common/cache/SynchronizedCache.java      |    50 +
 .../apache/kafka/common/cache/package-info.java    |    21 +
 .../apache/kafka/common/compress/Compression.java  |   112 +
 .../kafka/common/compress/GzipCompression.java     |   115 +
 .../kafka/common/compress/GzipOutputStream.java    |    48 +
 .../kafka/common/compress/Lz4BlockInputStream.java |   313 +
 .../common/compress/Lz4BlockOutputStream.java      |   389 +
 .../kafka/common/compress/Lz4Compression.java      |   104 +
 .../kafka/common/compress/NoCompression.java       |    54 +
 .../kafka/common/compress/SnappyCompression.java   |    92 +
 .../kafka/common/compress/ZstdCompression.java     |   141 +
 .../apache/kafka/common/compress/package-info.java |    21 +
 .../apache/kafka/common/config/AbstractConfig.java |   722 +
 .../org/apache/kafka/common/config/Config.java     |    32 +
 .../kafka/common/config/ConfigChangeCallback.java  |    33 +
 .../org/apache/kafka/common/config/ConfigData.java |    68 +
 .../org/apache/kafka/common/config/ConfigDef.java  |  1718 ++
 .../kafka/common/config/ConfigException.java       |    40 +
 .../apache/kafka/common/config/ConfigResource.java |   123 +
 .../kafka/common/config/ConfigTransformer.java     |   177 +
 .../common/config/ConfigTransformerResult.java     |    63 +
 .../apache/kafka/common/config/ConfigValue.java    |   106 +
 .../apache/kafka/common/config/LogLevelConfig.java |    71 +
 .../apache/kafka/common/config/SaslConfigs.java    |   230 +
 .../apache/kafka/common/config/SecurityConfig.java |    29 +
 .../apache/kafka/common/config/SslClientAuth.java  |    50 +
 .../org/apache/kafka/common/config/SslConfigs.java |   171 +
 .../apache/kafka/common/config/TopicConfig.java    |   231 +
 .../common/config/internals/AllowedPaths.java      |    82 +
 .../config/internals/BrokerSecurityConfigs.java    |   201 +
 .../apache/kafka/common/config/package-info.java   |    20 +
 .../common/config/provider/ConfigProvider.java     |    84 +
 .../config/provider/DirectoryConfigProvider.java   |   126 +
 .../config/provider/EnvVarConfigProvider.java      |   119 +
 .../common/config/provider/FileConfigProvider.java |   140 +
 .../kafka/common/config/provider/package-info.java |    20 +
 .../apache/kafka/common/config/types/Password.java |    67 +
 .../kafka/common/config/types/package-info.java    |    21 +
 .../apache/kafka/common/errors/ApiException.java   |    51 +
 .../common/errors/AuthenticationException.java     |    51 +
 .../common/errors/AuthorizationException.java      |    29 +
 .../common/errors/AuthorizerNotReadyException.java |    28 +
 .../errors/BrokerIdNotRegisteredException.java     |    29 +
 .../common/errors/BrokerNotAvailableException.java |    31 +
 .../errors/ClusterAuthorizationException.java      |    30 +
 .../errors/ConcurrentTransactionsException.java    |    25 +
 .../common/errors/ControllerMovedException.java    |    31 +
 .../errors/CoordinatorLoadInProgressException.java |    39 +
 .../errors/CoordinatorNotAvailableException.java   |    43 +
 .../common/errors/CorruptRecordException.java      |    43 +
 .../DelegationTokenAuthorizationException.java     |    31 +
 .../errors/DelegationTokenDisabledException.java   |    31 +
 .../errors/DelegationTokenExpiredException.java    |    31 +
 .../errors/DelegationTokenNotFoundException.java   |    31 +
 .../DelegationTokenOwnerMismatchException.java     |    31 +
 .../kafka/common/errors/DisconnectException.java   |    44 +
 .../DuplicateBrokerRegistrationException.java      |    29 +
 .../common/errors/DuplicateResourceException.java  |    77 +
 .../common/errors/DuplicateSequenceException.java  |    24 +
 .../common/errors/DuplicateVoterException.java     |    30 +
 .../common/errors/ElectionNotNeededException.java  |    28 +
 .../EligibleLeadersNotAvailableException.java      |    28 +
 .../errors/FeatureUpdateFailedException.java       |    29 +
 .../common/errors/FencedInstanceIdException.java   |    29 +
 .../common/errors/FencedLeaderEpochException.java  |    35 +
 .../common/errors/FencedMemberEpochException.java  |    26 +
 .../common/errors/FencedStateEpochException.java   |    28 +
 .../errors/FetchSessionIdNotFoundException.java    |    29 +
 .../errors/FetchSessionTopicIdException.java       |    25 +
 .../common/errors/GroupAuthorizationException.java |    45 +
 .../common/errors/GroupIdNotFoundException.java    |    23 +
 .../errors/GroupMaxSizeReachedException.java       |    28 +
 .../common/errors/GroupNotEmptyException.java      |    23 +
 .../errors/GroupSubscribedToTopicException.java    |    23 +
 .../common/errors/IllegalGenerationException.java  |    37 +
 .../common/errors/IllegalSaslStateException.java   |    36 +
 .../errors/InconsistentClusterIdException.java     |    28 +
 .../errors/InconsistentGroupProtocolException.java |    29 +
 .../errors/InconsistentTopicIdException.java       |    27 +
 .../errors/InconsistentVoterSetException.java      |    31 +
 .../common/errors/IneligibleReplicaException.java  |    23 +
 .../kafka/common/errors/InterruptException.java    |    43 +
 .../errors/InvalidCommitOffsetSizeException.java   |    29 +
 .../errors/InvalidConfigurationException.java      |    31 +
 .../errors/InvalidFetchSessionEpochException.java  |    29 +
 .../common/errors/InvalidFetchSizeException.java   |    31 +
 .../common/errors/InvalidGroupIdException.java     |    29 +
 .../common/errors/InvalidMetadataException.java    |    42 +
 .../common/errors/InvalidOffsetException.java      |    36 +
 .../common/errors/InvalidPartitionsException.java  |    31 +
 .../common/errors/InvalidPidMappingException.java  |    23 +
 .../errors/InvalidPrincipalTypeException.java      |    31 +
 .../errors/InvalidProducerEpochException.java      |    32 +
 .../common/errors/InvalidRecordStateException.java |    30 +
 .../errors/InvalidRegistrationException.java       |    29 +
 .../common/errors/InvalidRegularExpression.java    |    27 +
 .../errors/InvalidReplicaAssignmentException.java  |    31 +
 .../errors/InvalidReplicationFactorException.java  |    31 +
 .../common/errors/InvalidRequestException.java     |    36 +
 .../errors/InvalidRequiredAcksException.java       |    25 +
 .../errors/InvalidSessionTimeoutException.java     |    29 +
 .../errors/InvalidShareSessionEpochException.java  |    28 +
 .../common/errors/InvalidTimestampException.java   |    33 +
 .../kafka/common/errors/InvalidTopicException.java |    68 +
 .../common/errors/InvalidTxnStateException.java    |    23 +
 .../common/errors/InvalidTxnTimeoutException.java  |    33 +
 .../errors/InvalidUpdateVersionException.java      |    29 +
 .../common/errors/InvalidVoterKeyException.java    |    31 +
 .../kafka/common/errors/KafkaStorageException.java |    50 +
 .../common/errors/LeaderNotAvailableException.java |    35 +
 .../common/errors/ListenerNotFoundException.java   |    38 +
 .../common/errors/LogDirNotFoundException.java     |    37 +
 .../common/errors/MemberIdRequiredException.java   |    30 +
 .../errors/MismatchedEndpointTypeException.java    |    23 +
 .../kafka/common/errors/NetworkException.java      |    43 +
 .../common/errors/NewLeaderElectedException.java   |    23 +
 .../errors/NoReassignmentInProgressException.java  |    31 +
 .../common/errors/NotControllerException.java      |    31 +
 .../common/errors/NotCoordinatorException.java     |    38 +
 .../NotEnoughReplicasAfterAppendException.java     |    30 +
 .../common/errors/NotEnoughReplicasException.java  |    40 +
 .../errors/NotLeaderOrFollowerException.java       |    47 +
 .../common/errors/OffsetMetadataTooLarge.java      |    41 +
 .../OffsetMovedToTieredStorageException.java       |    31 +
 .../common/errors/OffsetNotAvailableException.java |    29 +
 .../common/errors/OffsetOutOfRangeException.java   |    35 +
 .../errors/OperationNotAttemptedException.java     |    27 +
 .../common/errors/OutOfOrderSequenceException.java |    32 +
 .../common/errors/PolicyViolationException.java    |    31 +
 .../common/errors/PositionOutOfRangeException.java |    31 +
 .../PreferredLeaderNotAvailableException.java      |    28 +
 .../errors/PrincipalDeserializationException.java  |    34 +
 .../common/errors/ProducerFencedException.java     |    30 +
 .../errors/ReassignmentInProgressException.java    |    32 +
 .../errors/RebalanceInProgressException.java       |    37 +
 .../errors/RebootstrapRequiredException.java       |    30 +
 .../errors/RecordBatchTooLargeException.java       |    42 +
 .../errors/RecordDeserializationException.java     |   119 +
 .../common/errors/RecordTooLargeException.java     |    55 +
 .../errors/ReplicaNotAvailableException.java       |    41 +
 .../common/errors/ResourceNotFoundException.java   |    76 +
 .../kafka/common/errors/RetriableException.java    |    41 +
 .../common/errors/SaslAuthenticationException.java |    48 +
 .../common/errors/SecurityDisabledException.java   |    32 +
 .../common/errors/SerializationException.java      |    44 +
 .../errors/ShareSessionNotFoundException.java      |    28 +
 .../common/errors/SnapshotNotFoundException.java   |    31 +
 .../common/errors/SslAuthenticationException.java  |    44 +
 .../common/errors/StaleBrokerEpochException.java   |    31 +
 .../common/errors/StaleMemberEpochException.java   |    32 +
 .../StreamsInvalidTopologyEpochException.java      |    23 +
 .../errors/StreamsInvalidTopologyException.java    |    23 +
 .../errors/StreamsTopologyFencedException.java     |    23 +
 .../common/errors/TelemetryTooLargeException.java  |    27 +
 .../errors/ThrottlingQuotaExceededException.java   |    37 +
 .../kafka/common/errors/TimeoutException.java      |    42 +
 .../common/errors/TopicAuthorizationException.java |    47 +
 .../errors/TopicDeletionDisabledException.java     |    29 +
 .../kafka/common/errors/TopicExistsException.java  |    31 +
 .../errors/TransactionAbortableException.java      |    23 +
 .../common/errors/TransactionAbortedException.java |    38 +
 .../TransactionCoordinatorFencedException.java     |    30 +
 .../TransactionalIdAuthorizationException.java     |    23 +
 .../errors/TransactionalIdNotFoundException.java   |    24 +
 .../errors/UnacceptableCredentialException.java    |    44 +
 .../errors/UnknownControllerIdException.java       |    23 +
 .../common/errors/UnknownLeaderEpochException.java |    35 +
 .../common/errors/UnknownMemberIdException.java    |    37 +
 .../common/errors/UnknownProducerIdException.java  |    32 +
 .../common/errors/UnknownServerException.java      |    43 +
 .../errors/UnknownSubscriptionIdException.java     |    27 +
 .../common/errors/UnknownTopicIdException.java     |    27 +
 .../errors/UnknownTopicOrPartitionException.java   |    45 +
 .../errors/UnreleasedInstanceIdException.java      |    26 +
 .../errors/UnstableOffsetCommitException.java      |    29 +
 .../errors/UnsupportedAssignorException.java       |    26 +
 .../UnsupportedByAuthenticationException.java      |    33 +
 .../UnsupportedCompressionTypeException.java       |    34 +
 .../errors/UnsupportedEndpointTypeException.java   |    23 +
 .../UnsupportedForMessageFormatException.java      |    34 +
 .../errors/UnsupportedSaslMechanismException.java  |    35 +
 .../common/errors/UnsupportedVersionException.java |    41 +
 .../common/errors/VoterNotFoundException.java      |    30 +
 .../kafka/common/errors/WakeupException.java       |    30 +
 .../apache/kafka/common/errors/package-info.java   |    20 +
 .../kafka/common/feature/BaseVersionRange.java     |   138 +
 .../org/apache/kafka/common/feature/Features.java  |   156 +
 .../common/feature/SupportedVersionRange.java      |    56 +
 .../apache/kafka/common/feature/package-info.java  |    21 +
 .../org/apache/kafka/common/header/Header.java     |    25 +
 .../org/apache/kafka/common/header/Headers.java    |    72 +
 .../common/header/internals/RecordHeader.java      |    83 +
 .../common/header/internals/RecordHeaders.java     |   194 +
 .../apache/kafka/common/header/package-info.java   |    20 +
 .../common/internals/ClusterResourceListeners.java |    62 +
 .../kafka/common/internals/CompositeStrategy.java  |   106 +
 .../kafka/common/internals/FatalExitError.java     |    47 +
 .../kafka/common/internals/IdempotentCloser.java   |   174 +
 .../common/internals/KafkaCompletableFuture.java   |    95 +
 .../kafka/common/internals/KafkaFutureImpl.java    |   271 +
 .../kafka/common/internals/LegacyStrategy.java     |    96 +
 .../kafka/common/internals/ModernStrategy.java     |    64 +
 .../kafka/common/internals/PartitionStates.java    |   196 +
 .../org/apache/kafka/common/internals/Plugin.java  |    86 +
 .../kafka/common/internals/ReflectiveStrategy.java |    69 +
 .../internals/SecurityManagerCompatibility.java    |   102 +
 .../org/apache/kafka/common/internals/Topic.java   |   125 +
 .../common/internals/UnsupportedStrategy.java      |    60 +
 .../common/memory/GarbageCollectedMemoryPool.java  |   167 +
 .../org/apache/kafka/common/memory/MemoryPool.java |    95 +
 .../kafka/common/memory/SimpleMemoryPool.java      |   138 +
 .../apache/kafka/common/memory/package-info.java   |    21 +
 .../apache/kafka/common/metrics/CompoundStat.java  |    52 +
 .../org/apache/kafka/common/metrics/Gauge.java     |    32 +
 .../apache/kafka/common/metrics/JmxReporter.java   |   338 +
 .../apache/kafka/common/metrics/KafkaMetric.java   |   132 +
 .../kafka/common/metrics/KafkaMetricsContext.java  |    56 +
 .../apache/kafka/common/metrics/Measurable.java    |    32 +
 .../kafka/common/metrics/MeasurableStat.java       |    26 +
 .../apache/kafka/common/metrics/MetricConfig.java  |   103 +
 .../kafka/common/metrics/MetricValueProvider.java  |    28 +
 .../org/apache/kafka/common/metrics/Metrics.java   |   696 +
 .../kafka/common/metrics/MetricsContext.java       |    56 +
 .../kafka/common/metrics/MetricsReporter.java      |    77 +
 .../apache/kafka/common/metrics/Monitorable.java   |    32 +
 .../apache/kafka/common/metrics/PluginMetrics.java |    75 +
 .../org/apache/kafka/common/metrics/Quota.java     |    75 +
 .../common/metrics/QuotaViolationException.java    |    65 +
 .../org/apache/kafka/common/metrics/Sensor.java    |   396 +
 .../java/org/apache/kafka/common/metrics/Stat.java |    32 +
 .../common/metrics/internals/IntGaugeSuite.java    |   296 +
 .../common/metrics/internals/MetricsUtils.java     |    66 +
 .../metrics/internals/PluginMetricsImpl.java       |   113 +
 .../apache/kafka/common/metrics/package-info.java  |    20 +
 .../org/apache/kafka/common/metrics/stats/Avg.java |    48 +
 .../common/metrics/stats/CumulativeCount.java      |    34 +
 .../kafka/common/metrics/stats/CumulativeSum.java  |    54 +
 .../kafka/common/metrics/stats/Frequencies.java    |   187 +
 .../kafka/common/metrics/stats/Frequency.java      |    66 +
 .../kafka/common/metrics/stats/Histogram.java      |   211 +
 .../org/apache/kafka/common/metrics/stats/Max.java |    48 +
 .../apache/kafka/common/metrics/stats/Meter.java   |    95 +
 .../org/apache/kafka/common/metrics/stats/Min.java |    48 +
 .../kafka/common/metrics/stats/Percentile.java     |    40 +
 .../kafka/common/metrics/stats/Percentiles.java    |   147 +
 .../apache/kafka/common/metrics/stats/Rate.java    |   110 +
 .../kafka/common/metrics/stats/SampledStat.java    |   163 +
 .../kafka/common/metrics/stats/SimpleRate.java     |    39 +
 .../kafka/common/metrics/stats/TokenBucket.java    |   111 +
 .../apache/kafka/common/metrics/stats/Value.java   |    37 +
 .../kafka/common/metrics/stats/WindowedCount.java  |    35 +
 .../kafka/common/metrics/stats/WindowedSum.java    |    48 +
 .../kafka/common/metrics/stats/package-info.java   |    20 +
 .../apache/kafka/common/network/Authenticator.java |   166 +
 .../kafka/common/network/ByteBufferSend.java       |    84 +
 .../kafka/common/network/ChannelBuilder.java       |    49 +
 .../kafka/common/network/ChannelBuilders.java      |   240 +
 .../common/network/ChannelMetadataRegistry.java    |    55 +
 .../apache/kafka/common/network/ChannelState.java  |   105 +
 .../kafka/common/network/CipherInformation.java    |    61 +
 .../kafka/common/network/ClientInformation.java    |    65 +
 .../kafka/common/network/ConnectionMode.java       |    22 +
 .../DelayedResponseAuthenticationException.java    |    27 +
 .../common/network/InvalidReceiveException.java    |    27 +
 .../apache/kafka/common/network/KafkaChannel.java  |   684 +
 .../apache/kafka/common/network/ListenerName.java  |    87 +
 .../common/network/ListenerReconfigurable.java     |    31 +
 .../kafka/common/network/NetworkReceive.java       |   154 +
 .../apache/kafka/common/network/NetworkSend.java   |    53 +
 .../common/network/PlaintextChannelBuilder.java    |   121 +
 .../common/network/PlaintextTransportLayer.java    |   216 +
 .../common/network/ReauthenticationContext.java    |    94 +
 .../org/apache/kafka/common/network/Receive.java   |    55 +
 .../kafka/common/network/SaslChannelBuilder.java   |   413 +
 .../apache/kafka/common/network/Selectable.java    |   129 +
 .../org/apache/kafka/common/network/Selector.java  |  1480 ++
 .../java/org/apache/kafka/common/network/Send.java |    45 +
 .../kafka/common/network/ServerConnectionId.java   |   145 +
 .../kafka/common/network/SslChannelBuilder.java    |   185 +
 .../kafka/common/network/SslTransportLayer.java    |  1063 +
 .../kafka/common/network/TransferableChannel.java  |    51 +
 .../kafka/common/network/TransportLayer.java       |    93 +
 .../apache/kafka/common/network/package-info.java  |    21 +
 .../java/org/apache/kafka/common/package-info.java |    20 +
 .../org/apache/kafka/common/protocol/ApiKeys.java  |   384 +
 .../apache/kafka/common/protocol/ApiMessage.java   |    28 +
 .../kafka/common/protocol/ByteBufferAccessor.java  |   155 +
 .../common/protocol/DataOutputStreamWritable.java  |   146 +
 .../org/apache/kafka/common/protocol/Errors.java   |   582 +
 .../org/apache/kafka/common/protocol/Message.java  |   104 +
 .../common/protocol/MessageSizeAccumulator.java    |    57 +
 .../apache/kafka/common/protocol/MessageUtil.java  |   262 +
 .../common/protocol/ObjectSerializationCache.java  |    55 +
 .../org/apache/kafka/common/protocol/Protocol.java |   242 +
 .../org/apache/kafka/common/protocol/Readable.java |    80 +
 .../apache/kafka/common/protocol/SendBuilder.java  |   228 +
 .../org/apache/kafka/common/protocol/Writable.java |    65 +
 .../apache/kafka/common/protocol/package-info.java |    21 +
 .../kafka/common/protocol/types/ArrayOf.java       |   133 +
 .../kafka/common/protocol/types/BoundField.java    |    37 +
 .../common/protocol/types/CompactArrayOf.java      |   139 +
 .../apache/kafka/common/protocol/types/Field.java  |   202 +
 .../common/protocol/types/RawTaggedField.java      |    56 +
 .../protocol/types/RawTaggedFieldWriter.java       |    80 +
 .../apache/kafka/common/protocol/types/Schema.java |   235 +
 .../common/protocol/types/SchemaException.java     |    35 +
 .../apache/kafka/common/protocol/types/Struct.java |   625 +
 .../kafka/common/protocol/types/TaggedFields.java  |   193 +
 .../apache/kafka/common/protocol/types/Type.java   |  1143 +
 .../kafka/common/protocol/types/package-info.java  |    21 +
 .../kafka/common/quota/ClientQuotaAlteration.java  |   106 +
 .../kafka/common/quota/ClientQuotaEntity.java      |    77 +
 .../kafka/common/quota/ClientQuotaFilter.java      |   101 +
 .../common/quota/ClientQuotaFilterComponent.java   |   109 +
 .../apache/kafka/common/quota/package-info.java    |    20 +
 .../common/record/AbstractLegacyRecordBatch.java   |   620 +
 .../kafka/common/record/AbstractRecordBatch.java   |    36 +
 .../kafka/common/record/AbstractRecords.java       |   164 +
 .../apache/kafka/common/record/BaseRecords.java    |    34 +
 .../common/record/ByteBufferLogInputStream.java    |    88 +
 .../common/record/CompressionRatioEstimator.java   |   104 +
 .../kafka/common/record/CompressionType.java       |   197 +
 .../kafka/common/record/ControlRecordType.java     |   129 +
 .../kafka/common/record/ControlRecordUtils.java    |   105 +
 .../kafka/common/record/ConvertedRecords.java      |    36 +
 .../apache/kafka/common/record/DefaultRecord.java  |   554 +
 .../kafka/common/record/DefaultRecordBatch.java    |   739 +
 .../kafka/common/record/DefaultRecordsSend.java    |    36 +
 .../kafka/common/record/EndTransactionMarker.java  |   126 +
 .../kafka/common/record/FileLogInputStream.java    |   259 +
 .../apache/kafka/common/record/FileRecords.java    |   559 +
 .../apache/kafka/common/record/LegacyRecord.java   |   574 +
 .../apache/kafka/common/record/LogInputStream.java |    43 +
 .../apache/kafka/common/record/MemoryRecords.java  |   830 +
 .../kafka/common/record/MemoryRecordsBuilder.java  |   936 +
 .../kafka/common/record/MultiRecordsSend.java      |   115 +
 .../kafka/common/record/MutableRecordBatch.java    |    68 +
 .../kafka/common/record/PartialDefaultRecord.java  |    99 +
 .../org/apache/kafka/common/record/Record.java     |   129 +
 .../apache/kafka/common/record/RecordBatch.java    |   268 +
 .../kafka/common/record/RecordBatchIterator.java   |    47 +
 .../kafka/common/record/RecordValidationStats.java |    75 +
 .../apache/kafka/common/record/RecordVersion.java  |    56 +
 .../org/apache/kafka/common/record/Records.java    |   105 +
 .../apache/kafka/common/record/RecordsSend.java    |    84 +
 .../apache/kafka/common/record/RecordsUtil.java    |   141 +
 .../kafka/common/record/RemoteLogInputStream.java  |    79 +
 .../apache/kafka/common/record/SimpleRecord.java   |   122 +
 .../apache/kafka/common/record/TimestampType.java  |    46 +
 .../kafka/common/record/TransferableRecords.java   |    39 +
 .../kafka/common/record/UnalignedFileRecords.java  |    51 +
 .../common/record/UnalignedMemoryRecords.java      |    58 +
 .../kafka/common/record/UnalignedRecords.java      |    29 +
 .../apache/kafka/common/record/package-info.java   |    21 +
 .../kafka/common/replica/ClientMetadata.java       |   124 +
 .../apache/kafka/common/replica/PartitionView.java |    72 +
 .../common/replica/RackAwareReplicaSelector.java   |    54 +
 .../kafka/common/replica/ReplicaSelector.java      |    49 +
 .../apache/kafka/common/replica/ReplicaView.java   |   105 +
 .../apache/kafka/common/replica/package-info.java  |    21 +
 .../kafka/common/requests/AbstractRequest.java     |   356 +
 .../common/requests/AbstractRequestResponse.java   |    24 +
 .../kafka/common/requests/AbstractResponse.java    |   324 +
 .../common/requests/AddOffsetsToTxnRequest.java    |    70 +
 .../common/requests/AddOffsetsToTxnResponse.java   |    82 +
 .../common/requests/AddPartitionsToTxnRequest.java |   204 +
 .../requests/AddPartitionsToTxnResponse.java       |   166 +
 .../kafka/common/requests/AddRaftVoterRequest.java |    75 +
 .../common/requests/AddRaftVoterResponse.java      |    65 +
 .../requests/AllocateProducerIdsRequest.java       |    72 +
 .../requests/AllocateProducerIdsResponse.java      |    72 +
 .../common/requests/AlterClientQuotasRequest.java  |   144 +
 .../common/requests/AlterClientQuotasResponse.java |   118 +
 .../kafka/common/requests/AlterConfigsRequest.java |   138 +
 .../common/requests/AlterConfigsResponse.java      |    76 +
 .../AlterPartitionReassignmentsRequest.java        |    96 +
 .../AlterPartitionReassignmentsResponse.java       |    74 +
 .../common/requests/AlterPartitionRequest.java     |   111 +
 .../common/requests/AlterPartitionResponse.java    |    66 +
 .../requests/AlterReplicaLogDirsRequest.java       |    93 +
 .../requests/AlterReplicaLogDirsResponse.java      |    78 +
 .../requests/AlterUserScramCredentialsRequest.java |    85 +
 .../AlterUserScramCredentialsResponse.java         |    64 +
 .../org/apache/kafka/common/requests/ApiError.java |   118 +
 .../kafka/common/requests/ApiVersionsRequest.java  |   135 +
 .../kafka/common/requests/ApiVersionsResponse.java |   335 +
 .../requests/AssignReplicasToDirsRequest.java      |    82 +
 .../requests/AssignReplicasToDirsResponse.java     |    61 +
 .../common/requests/BeginQuorumEpochRequest.java   |    89 +
 .../common/requests/BeginQuorumEpochResponse.java  |    84 +
 .../common/requests/BrokerHeartbeatRequest.java    |    72 +
 .../common/requests/BrokerHeartbeatResponse.java   |    67 +
 .../common/requests/BrokerRegistrationRequest.java |    89 +
 .../requests/BrokerRegistrationResponse.java       |    72 +
 .../requests/ConsumerGroupDescribeRequest.java     |    99 +
 .../requests/ConsumerGroupDescribeResponse.java    |    77 +
 .../requests/ConsumerGroupHeartbeatRequest.java    |   104 +
 .../requests/ConsumerGroupHeartbeatResponse.java   |    75 +
 .../requests/ControllerRegistrationRequest.java    |    73 +
 .../requests/ControllerRegistrationResponse.java   |    61 +
 .../requests/CorrelationIdMismatchException.java   |    45 +
 .../kafka/common/requests/CreateAclsRequest.java   |   137 +
 .../kafka/common/requests/CreateAclsResponse.java  |    68 +
 .../requests/CreateDelegationTokenRequest.java     |    70 +
 .../requests/CreateDelegationTokenResponse.java    |   106 +
 .../common/requests/CreatePartitionsRequest.java   |    82 +
 .../common/requests/CreatePartitionsResponse.java  |    70 +
 .../kafka/common/requests/CreateTopicsRequest.java |   115 +
 .../common/requests/CreateTopicsResponse.java      |    85 +
 .../kafka/common/requests/DeleteAclsRequest.java   |   146 +
 .../kafka/common/requests/DeleteAclsResponse.java  |   149 +
 .../kafka/common/requests/DeleteGroupsRequest.java |    85 +
 .../common/requests/DeleteGroupsResponse.java      |    97 +
 .../common/requests/DeleteRecordsRequest.java      |    85 +
 .../common/requests/DeleteRecordsResponse.java     |    83 +
 .../requests/DeleteShareGroupStateRequest.java     |    89 +
 .../requests/DeleteShareGroupStateResponse.java    |   113 +
 .../kafka/common/requests/DeleteTopicsRequest.java |   121 +
 .../common/requests/DeleteTopicsResponse.java      |    80 +
 .../kafka/common/requests/DescribeAclsRequest.java |   124 +
 .../common/requests/DescribeAclsResponse.java      |   166 +
 .../requests/DescribeClientQuotasRequest.java      |   128 +
 .../requests/DescribeClientQuotasResponse.java     |   123 +
 .../common/requests/DescribeClusterRequest.java    |    77 +
 .../common/requests/DescribeClusterResponse.java   |    69 +
 .../common/requests/DescribeConfigsRequest.java    |    73 +
 .../common/requests/DescribeConfigsResponse.java   |   259 +
 .../requests/DescribeDelegationTokenRequest.java   |    81 +
 .../requests/DescribeDelegationTokenResponse.java  |   131 +
 .../common/requests/DescribeGroupsRequest.java     |    92 +
 .../common/requests/DescribeGroupsResponse.java    |   156 +
 .../common/requests/DescribeLogDirsRequest.java    |    75 +
 .../common/requests/DescribeLogDirsResponse.java   |    75 +
 .../common/requests/DescribeProducersRequest.java  |    98 +
 .../common/requests/DescribeProducersResponse.java |    74 +
 .../common/requests/DescribeQuorumRequest.java     |   107 +
 .../common/requests/DescribeQuorumResponse.java    |   112 +
 .../requests/DescribeShareGroupOffsetsRequest.java |   109 +
 .../DescribeShareGroupOffsetsResponse.java         |    68 +
 .../requests/DescribeTopicPartitionsRequest.java   |    99 +
 .../requests/DescribeTopicPartitionsResponse.java  |    98 +
 .../requests/DescribeTransactionsRequest.java      |    85 +
 .../requests/DescribeTransactionsResponse.java     |    72 +
 .../DescribeUserScramCredentialsRequest.java       |    78 +
 .../DescribeUserScramCredentialsResponse.java      |    64 +
 .../kafka/common/requests/ElectLeadersRequest.java |   153 +
 .../common/requests/ElectLeadersResponse.java      |   109 +
 .../common/requests/EndQuorumEpochRequest.java     |   114 +
 .../common/requests/EndQuorumEpochResponse.java    |    82 +
 .../kafka/common/requests/EndTxnRequest.java       |    87 +
 .../kafka/common/requests/EndTxnResponse.java      |    85 +
 .../kafka/common/requests/EnvelopeRequest.java     |    87 +
 .../kafka/common/requests/EnvelopeResponse.java    |    79 +
 .../requests/ExpireDelegationTokenRequest.java     |    80 +
 .../requests/ExpireDelegationTokenResponse.java    |    77 +
 .../kafka/common/requests/FetchMetadata.java       |   163 +
 .../apache/kafka/common/requests/FetchRequest.java |   487 +
 .../kafka/common/requests/FetchResponse.java       |   289 +
 .../common/requests/FetchSnapshotRequest.java      |    93 +
 .../common/requests/FetchSnapshotResponse.java     |   105 +
 .../common/requests/FindCoordinatorRequest.java    |   145 +
 .../common/requests/FindCoordinatorResponse.java   |   189 +
 .../requests/GetTelemetrySubscriptionsRequest.java |    78 +
 .../GetTelemetrySubscriptionsResponse.java         |    72 +
 .../kafka/common/requests/HeartbeatRequest.java    |    78 +
 .../kafka/common/requests/HeartbeatResponse.java   |    78 +
 .../requests/IncrementalAlterConfigsRequest.java   |   110 +
 .../requests/IncrementalAlterConfigsResponse.java  |   102 +
 .../common/requests/InitProducerIdRequest.java     |    80 +
 .../common/requests/InitProducerIdResponse.java    |    83 +
 .../requests/InitializeShareGroupStateRequest.java |    89 +
 .../InitializeShareGroupStateResponse.java         |    68 +
 .../kafka/common/requests/JoinGroupRequest.java    |   214 +
 .../kafka/common/requests/JoinGroupResponse.java   |    89 +
 .../kafka/common/requests/LeaderAndIsrRequest.java |   403 +
 .../common/requests/LeaderAndIsrResponse.java      |    95 +
 .../kafka/common/requests/LeaveGroupRequest.java   |   127 +
 .../kafka/common/requests/LeaveGroupResponse.java  |   176 +
 .../ListClientMetricsResourcesRequest.java         |    77 +
 .../ListClientMetricsResourcesResponse.java        |    77 +
 .../kafka/common/requests/ListGroupsRequest.java   |    92 +
 .../kafka/common/requests/ListGroupsResponse.java  |    64 +
 .../kafka/common/requests/ListOffsetsRequest.java  |   200 +
 .../kafka/common/requests/ListOffsetsResponse.java |   116 +
 .../ListPartitionReassignmentsRequest.java         |    93 +
 .../ListPartitionReassignmentsResponse.java        |    65 +
 .../common/requests/ListTransactionsRequest.java   |    82 +
 .../common/requests/ListTransactionsResponse.java  |    67 +
 .../kafka/common/requests/MetadataRequest.java     |   210 +
 .../kafka/common/requests/MetadataResponse.java    |   521 +
 .../kafka/common/requests/OffsetCommitRequest.java |   127 +
 .../common/requests/OffsetCommitResponse.java      |   201 +
 .../kafka/common/requests/OffsetDeleteRequest.java |    77 +
 .../common/requests/OffsetDeleteResponse.java      |   171 +
 .../kafka/common/requests/OffsetFetchRequest.java  |   354 +
 .../kafka/common/requests/OffsetFetchResponse.java |   406 +
 .../requests/OffsetsForLeaderEpochRequest.java     |   135 +
 .../requests/OffsetsForLeaderEpochResponse.java    |    84 +
 .../kafka/common/requests/ProduceRequest.java      |   238 +
 .../kafka/common/requests/ProduceResponse.java     |   307 +
 .../common/requests/PushTelemetryRequest.java      |    98 +
 .../common/requests/PushTelemetryResponse.java     |    72 +
 .../requests/ReadShareGroupStateRequest.java       |    90 +
 .../requests/ReadShareGroupStateResponse.java      |   115 +
 .../ReadShareGroupStateSummaryRequest.java         |    90 +
 .../ReadShareGroupStateSummaryResponse.java        |   124 +
 .../common/requests/RemoveRaftVoterRequest.java    |    75 +
 .../common/requests/RemoveRaftVoterResponse.java   |    65 +
 .../requests/RenewDelegationTokenRequest.java      |    72 +
 .../requests/RenewDelegationTokenResponse.java     |    77 +
 .../kafka/common/requests/RequestAndSize.java      |    27 +
 .../kafka/common/requests/RequestContext.java      |   222 +
 .../kafka/common/requests/RequestHeader.java       |   186 +
 .../apache/kafka/common/requests/RequestUtils.java |    97 +
 .../kafka/common/requests/ResponseHeader.java      |   123 +
 .../common/requests/SaslAuthenticateRequest.java   |    81 +
 .../common/requests/SaslAuthenticateResponse.java  |    83 +
 .../common/requests/SaslHandshakeRequest.java      |    79 +
 .../common/requests/SaslHandshakeResponse.java     |    77 +
 .../common/requests/ShareAcknowledgeRequest.java   |   127 +
 .../common/requests/ShareAcknowledgeResponse.java  |   148 +
 .../kafka/common/requests/ShareFetchRequest.java   |   273 +
 .../kafka/common/requests/ShareFetchResponse.java  |   208 +
 .../common/requests/ShareGroupDescribeRequest.java |   100 +
 .../requests/ShareGroupDescribeResponse.java       |    77 +
 .../requests/ShareGroupHeartbeatRequest.java       |    86 +
 .../requests/ShareGroupHeartbeatResponse.java      |    71 +
 .../common/requests/ShareRequestMetadata.java      |   121 +
 .../requests/StreamsGroupDescribeRequest.java      |    99 +
 .../requests/StreamsGroupDescribeResponse.java     |    77 +
 .../requests/StreamsGroupHeartbeatRequest.java     |    88 +
 .../requests/StreamsGroupHeartbeatResponse.java    |   103 +
 .../kafka/common/requests/SyncGroupRequest.java    |    98 +
 .../kafka/common/requests/SyncGroupResponse.java   |    73 +
 .../kafka/common/requests/TransactionResult.java   |    34 +
 .../common/requests/TxnOffsetCommitRequest.java    |   261 +
 .../common/requests/TxnOffsetCommitResponse.java   |   207 +
 .../common/requests/UnregisterBrokerRequest.java   |    67 +
 .../common/requests/UnregisterBrokerResponse.java  |    69 +
 .../common/requests/UpdateFeaturesRequest.java     |   122 +
 .../common/requests/UpdateFeaturesResponse.java    |   105 +
 .../common/requests/UpdateRaftVoterRequest.java    |    73 +
 .../common/requests/UpdateRaftVoterResponse.java   |    65 +
 .../apache/kafka/common/requests/VoteRequest.java  |    94 +
 .../apache/kafka/common/requests/VoteResponse.java |    82 +
 .../requests/WriteShareGroupStateRequest.java      |    90 +
 .../requests/WriteShareGroupStateResponse.java     |   110 +
 .../common/requests/WriteTxnMarkersRequest.java    |   208 +
 .../common/requests/WriteTxnMarkersResponse.java   |   131 +
 .../apache/kafka/common/requests/package-info.java |    21 +
 .../apache/kafka/common/resource/PatternType.java  |   124 +
 .../org/apache/kafka/common/resource/Resource.java |    95 +
 .../kafka/common/resource/ResourcePattern.java     |   119 +
 .../common/resource/ResourcePatternFilter.java     |   170 +
 .../apache/kafka/common/resource/ResourceType.java |   126 +
 .../apache/kafka/common/resource/package-info.java |    20 +
 .../apache/kafka/common/security/JaasConfig.java   |   124 +
 .../apache/kafka/common/security/JaasContext.java  |   217 +
 .../apache/kafka/common/security/JaasUtils.java    |    28 +
 .../security/auth/AuthenticateCallbackHandler.java |    62 +
 .../security/auth/AuthenticationContext.java       |    42 +
 .../kafka/common/security/auth/KafkaPrincipal.java |    99 +
 .../security/auth/KafkaPrincipalBuilder.java       |    36 +
 .../common/security/auth/KafkaPrincipalSerde.java  |    43 +
 .../apache/kafka/common/security/auth/Login.java   |    68 +
 .../auth/PlaintextAuthenticationContext.java       |    45 +
 .../security/auth/SaslAuthenticationContext.java   |    74 +
 .../kafka/common/security/auth/SaslExtensions.java |   118 +
 .../security/auth/SaslExtensionsCallback.java      |    51 +
 .../common/security/auth/SecurityProtocol.java     |    75 +
 .../security/auth/SecurityProviderCreator.java     |    43 +
 .../security/auth/SslAuthenticationContext.java    |    52 +
 .../common/security/auth/SslEngineFactory.java     |    90 +
 .../kafka/common/security/auth/package-info.java   |    20 +
 .../security/authenticator/AbstractLogin.java      |   115 +
 .../security/authenticator/CredentialCache.java    |    68 +
 .../DefaultKafkaPrincipalBuilder.java              |   134 +
 .../security/authenticator/DefaultLogin.java       |    29 +
 .../security/authenticator/LoginManager.java       |   265 +
 .../authenticator/SaslClientAuthenticator.java     |   712 +
 .../authenticator/SaslClientCallbackHandler.java   |   106 +
 .../authenticator/SaslInternalConfigs.java         |    41 +
 .../authenticator/SaslServerAuthenticator.java     |   720 +
 .../authenticator/SaslServerCallbackHandler.java   |    79 +
 .../security/authenticator/package-info.java       |    21 +
 .../common/security/kerberos/BadFormatString.java  |    28 +
 .../kerberos/KerberosClientCallbackHandler.java    |    77 +
 .../common/security/kerberos/KerberosError.java    |   133 +
 .../common/security/kerberos/KerberosLogin.java    |   397 +
 .../common/security/kerberos/KerberosName.java     |   105 +
 .../common/security/kerberos/KerberosRule.java     |   206 +
 .../security/kerberos/KerberosShortNamer.java      |   106 +
 .../common/security/kerberos/NoMatchingRule.java   |    25 +
 .../common/security/kerberos/package-info.java     |    21 +
 .../OAuthBearerExtensionsValidatorCallback.java    |   115 +
 .../OAuthBearerLoginCallbackHandler.java           |   294 +
 .../oauthbearer/OAuthBearerLoginModule.java        |   429 +
 .../security/oauthbearer/OAuthBearerToken.java     |   105 +
 .../oauthbearer/OAuthBearerTokenCallback.java      |   122 +
 .../oauthbearer/OAuthBearerValidatorCallback.java  |   154 +
 .../OAuthBearerValidatorCallbackHandler.java       |   280 +
 .../OAuthBearerClientInitialResponse.java          |   190 +
 .../internals/OAuthBearerRefreshingLogin.java      |   154 +
 .../internals/OAuthBearerSaslClient.java           |   197 +
 .../OAuthBearerSaslClientCallbackHandler.java      |   139 +
 .../internals/OAuthBearerSaslClientProvider.java   |    37 +
 .../internals/OAuthBearerSaslServer.java           |   245 +
 .../internals/OAuthBearerSaslServerProvider.java   |    37 +
 .../internals/expiring/ExpiringCredential.java     |    66 +
 .../expiring/ExpiringCredentialRefreshConfig.java  |   124 +
 .../ExpiringCredentialRefreshingLogin.java         |   445 +
 .../internals/secured/AccessTokenRetriever.java    |    68 +
 .../secured/AccessTokenRetrieverFactory.java       |   110 +
 .../internals/secured/AccessTokenValidator.java    |    64 +
 .../secured/AccessTokenValidatorFactory.java       |    73 +
 .../internals/secured/BasicOAuthBearerToken.java   |   164 +
 .../internals/secured/ClaimValidationUtils.java    |   182 +
 .../secured/CloseableVerificationKeyResolver.java  |    53 +
 .../internals/secured/ConfigurationUtils.java      |   252 +
 .../internals/secured/FileTokenRetriever.java      |    57 +
 .../secured/HttpAccessTokenRetriever.java          |   400 +
 .../oauthbearer/internals/secured/Initable.java    |    35 +
 .../internals/secured/JaasOptionsUtils.java        |   111 +
 .../secured/JwksFileVerificationKeyResolver.java   |   119 +
 .../secured/LoginAccessTokenValidator.java         |   132 +
 .../internals/secured/RefreshingHttpsJwks.java     |   379 +
 ...RefreshingHttpsJwksVerificationKeyResolver.java |   152 +
 .../oauthbearer/internals/secured/Retry.java       |   108 +
 .../oauthbearer/internals/secured/Retryable.java   |    45 +
 .../internals/secured/SerializedJwt.java           |   104 +
 .../internals/secured/UnretryableException.java    |    28 +
 .../internals/secured/ValidateException.java       |    47 +
 .../secured/ValidatorAccessTokenValidator.java     |   209 +
 .../secured/VerificationKeyResolverFactory.java    |    92 +
 .../unsecured/OAuthBearerConfigException.java      |    35 +
 .../OAuthBearerIllegalTokenException.java          |    53 +
 .../internals/unsecured/OAuthBearerScopeUtils.java |    75 +
 .../unsecured/OAuthBearerUnsecuredJws.java         |   368 +
 .../OAuthBearerUnsecuredLoginCallbackHandler.java  |   341 +
 ...uthBearerUnsecuredValidatorCallbackHandler.java |   214 +
 .../unsecured/OAuthBearerValidationResult.java     |   126 +
 .../unsecured/OAuthBearerValidationUtils.java      |   200 +
 .../common/security/oauthbearer/package-info.java  |    20 +
 .../apache/kafka/common/security/package-info.java |    20 +
 .../security/plain/PlainAuthenticateCallback.java  |    63 +
 .../common/security/plain/PlainLoginModule.java    |    65 +
 .../security/plain/internals/PlainSaslServer.java  |   200 +
 .../plain/internals/PlainSaslServerProvider.java   |    36 +
 .../internals/PlainServerCallbackHandler.java      |    76 +
 .../kafka/common/security/plain/package-info.java  |    20 +
 .../common/security/scram/ScramCredential.java     |    68 +
 .../security/scram/ScramCredentialCallback.java    |    40 +
 .../security/scram/ScramExtensionsCallback.java    |    47 +
 .../common/security/scram/ScramLoginModule.java    |    75 +
 .../scram/internals/ScramCredentialUtils.java      |    86 +
 .../security/scram/internals/ScramExtensions.java  |    43 +
 .../security/scram/internals/ScramFormatter.java   |   193 +
 .../security/scram/internals/ScramMechanism.java   |   105 +
 .../security/scram/internals/ScramMessages.java    |   288 +
 .../security/scram/internals/ScramSaslClient.java  |   249 +
 .../scram/internals/ScramSaslClientProvider.java   |    37 +
 .../security/scram/internals/ScramSaslServer.java  |   268 +
 .../scram/internals/ScramSaslServerProvider.java   |    37 +
 .../internals/ScramServerCallbackHandler.java      |    76 +
 .../kafka/common/security/scram/package-info.java  |    20 +
 .../ssl/CommonNameLoggingSslEngineFactory.java     |    36 +
 ...ommonNameLoggingTrustManagerFactoryWrapper.java |   421 +
 .../security/ssl/DefaultSslEngineFactory.java      |   587 +
 .../kafka/common/security/ssl/SslFactory.java      |   538 +
 .../common/security/ssl/SslPrincipalMapper.java    |   215 +
 .../kafka/common/security/ssl/package-info.java    |    21 +
 .../security/token/delegation/DelegationToken.java |    80 +
 .../token/delegation/TokenInformation.java         |   152 +
 .../delegation/internals/DelegationTokenCache.java |   125 +
 .../DelegationTokenCredentialCallback.java         |    40 +
 .../security/token/delegation/package-info.java    |    20 +
 .../common/serialization/BooleanDeserializer.java  |    66 +
 .../common/serialization/BooleanSerializer.java    |    33 +
 .../serialization/ByteArrayDeserializer.java       |    25 +
 .../common/serialization/ByteArraySerializer.java  |    24 +
 .../serialization/ByteBufferDeserializer.java      |    37 +
 .../common/serialization/ByteBufferSerializer.java |    49 +
 .../common/serialization/BytesDeserializer.java    |    28 +
 .../common/serialization/BytesSerializer.java      |    28 +
 .../kafka/common/serialization/Deserializer.java   |    94 +
 .../common/serialization/DoubleDeserializer.java   |    53 +
 .../common/serialization/DoubleSerializer.java     |    37 +
 .../common/serialization/FloatDeserializer.java    |    52 +
 .../common/serialization/FloatSerializer.java      |    33 +
 .../common/serialization/IntegerDeserializer.java  |    52 +
 .../common/serialization/IntegerSerializer.java    |    31 +
 .../common/serialization/ListDeserializer.java     |   202 +
 .../kafka/common/serialization/ListSerializer.java |   150 +
 .../common/serialization/LongDeserializer.java     |    52 +
 .../kafka/common/serialization/LongSerializer.java |    35 +
 .../apache/kafka/common/serialization/Serde.java   |    54 +
 .../apache/kafka/common/serialization/Serdes.java  |   315 +
 .../kafka/common/serialization/Serializer.java     |    75 +
 .../common/serialization/ShortDeserializer.java    |    53 +
 .../common/serialization/ShortSerializer.java      |    29 +
 .../common/serialization/StringDeserializer.java   |    72 +
 .../common/serialization/StringSerializer.java     |    57 +
 .../common/serialization/UUIDDeserializer.java     |    77 +
 .../kafka/common/serialization/UUIDSerializer.java |    54 +
 .../common/serialization/VoidDeserializer.java     |    39 +
 .../kafka/common/serialization/VoidSerializer.java |    24 +
 .../kafka/common/serialization/package-info.java   |    20 +
 .../common/telemetry/ClientTelemetryState.java     |   166 +
 .../internals/ClientTelemetryEmitter.java          |    60 +
 .../internals/ClientTelemetryProvider.java         |   153 +
 .../internals/ClientTelemetryReporter.java         |   995 +
 .../telemetry/internals/ClientTelemetrySender.java |   112 +
 .../telemetry/internals/ClientTelemetryUtils.java  |   236 +
 .../telemetry/internals/KafkaMetricsCollector.java |   321 +
 .../telemetry/internals/LastValueTracker.java      |    87 +
 .../common/telemetry/internals/MetricKey.java      |    94 +
 .../common/telemetry/internals/MetricKeyable.java  |    30 +
 .../telemetry/internals/MetricNamingStrategy.java  |    85 +
 .../telemetry/internals/MetricsCollector.java      |    83 +
 .../common/telemetry/internals/MetricsEmitter.java |   109 +
 .../telemetry/internals/SinglePointMetric.java     |   147 +
 .../internals/TelemetryMetricNamingConvention.java |   124 +
 .../kafka/common/utils/AbstractIterator.java       |    88 +
 .../apache/kafka/common/utils/AppInfoParser.java   |   159 +
 .../apache/kafka/common/utils/BufferSupplier.java  |   124 +
 .../kafka/common/utils/ByteBufferInputStream.java  |    57 +
 .../kafka/common/utils/ByteBufferOutputStream.java |   133 +
 .../kafka/common/utils/ByteBufferUnmapper.java     |    97 +
 .../org/apache/kafka/common/utils/ByteUtils.java   |   550 +
 .../java/org/apache/kafka/common/utils/Bytes.java  |   210 +
 .../org/apache/kafka/common/utils/Checksums.java   |    87 +
 .../kafka/common/utils/ChildFirstClassLoader.java  |   131 +
 .../kafka/common/utils/ChunkedBytesStream.java     |   362 +
 .../kafka/common/utils/CircularIterator.java       |   106 +
 .../kafka/common/utils/CloseableIterator.java      |    52 +
 .../apache/kafka/common/utils/CollectionUtils.java |    93 +
 .../org/apache/kafka/common/utils/ConfigUtils.java |    82 +
 .../apache/kafka/common/utils/CopyOnWriteMap.java  |   150 +
 .../java/org/apache/kafka/common/utils/Crc32C.java |    60 +
 .../java/org/apache/kafka/common/utils/Exit.java   |   122 +
 .../kafka/common/utils/ExponentialBackoff.java     |    75 +
 .../apache/kafka/common/utils/FixedOrderMap.java   |    57 +
 .../kafka/common/utils/FlattenedIterator.java      |    45 +
 .../common/utils/ImplicitLinkedHashCollection.java |   696 +
 .../utils/ImplicitLinkedHashMultiCollection.java   |   142 +
 .../java/org/apache/kafka/common/utils/Java.java   |    30 +
 .../org/apache/kafka/common/utils/KafkaThread.java |    54 +
 .../org/apache/kafka/common/utils/LogContext.java  |   793 +
 .../kafka/common/utils/LoggingSignalHandler.java   |   111 +
 .../apache/kafka/common/utils/MappedIterator.java  |    44 +
 .../apache/kafka/common/utils/OperatingSystem.java |    37 +
 .../apache/kafka/common/utils/PrimitiveRef.java    |    59 +
 .../kafka/common/utils/ProducerIdAndEpoch.java     |    59 +
 .../org/apache/kafka/common/utils/Sanitizer.java   |    77 +
 .../org/apache/kafka/common/utils/Scheduler.java   |    49 +
 .../apache/kafka/common/utils/SecurityUtils.java   |   173 +
 .../java/org/apache/kafka/common/utils/Shell.java  |   296 +
 .../apache/kafka/common/utils/SystemScheduler.java |    43 +
 .../org/apache/kafka/common/utils/SystemTime.java  |    68 +
 .../org/apache/kafka/common/utils/ThreadUtils.java |   118 +
 .../java/org/apache/kafka/common/utils/Time.java   |   118 +
 .../java/org/apache/kafka/common/utils/Timer.java  |   215 +
 .../java/org/apache/kafka/common/utils/Utils.java  |  1700 ++
 .../apache/kafka/common/utils/package-info.java    |    21 +
 .../kafka/server/authorizer/AclCreateResult.java   |    45 +
 .../kafka/server/authorizer/AclDeleteResult.java   |    95 +
 .../org/apache/kafka/server/authorizer/Action.java |   130 +
 .../authorizer/AuthorizableRequestContext.java     |    73 +
 .../server/authorizer/AuthorizationResult.java     |    26 +
 .../apache/kafka/server/authorizer/Authorizer.java |   293 +
 .../server/authorizer/AuthorizerServerInfo.java    |    57 +
 .../kafka/server/authorizer/package-info.java      |    20 +
 .../kafka/server/policy/AlterConfigPolicy.java     |    99 +
 .../kafka/server/policy/CreateTopicPolicy.java     |   147 +
 .../apache/kafka/server/policy/package-info.java   |    20 +
 .../kafka/server/quota/ClientQuotaCallback.java    |   105 +
 .../kafka/server/quota/ClientQuotaEntity.java      |    62 +
 .../apache/kafka/server/quota/ClientQuotaType.java |    27 +
 .../apache/kafka/server/quota/package-info.java    |    20 +
 .../kafka/server/telemetry/ClientTelemetry.java    |    38 +
 .../server/telemetry/ClientTelemetryPayload.java   |    59 +
 .../server/telemetry/ClientTelemetryReceiver.java  |    41 +
 .../kafka/server/telemetry/package-info.java       |    20 +
 ...che.kafka.common.config.provider.ConfigProvider |    18 +
 .../common/message/AddOffsetsToTxnRequest.json     |    40 +
 .../common/message/AddOffsetsToTxnResponse.json    |    35 +
 .../common/message/AddPartitionsToTxnRequest.json  |    65 +
 .../common/message/AddPartitionsToTxnResponse.json |    60 +
 .../common/message/AddRaftVoterRequest.json        |    42 +
 .../common/message/AddRaftVoterResponse.json       |    30 +
 .../common/message/AllocateProducerIdsRequest.json |    29 +
 .../message/AllocateProducerIdsResponse.json       |    32 +
 .../common/message/AlterClientQuotasRequest.json   |    47 +
 .../common/message/AlterClientQuotasResponse.json  |    41 +
 .../common/message/AlterConfigsRequest.json        |    43 +
 .../common/message/AlterConfigsResponse.json       |    39 +
 .../AlterPartitionReassignmentsRequest.json        |    39 +
 .../AlterPartitionReassignmentsResponse.json       |    44 +
 .../common/message/AlterPartitionRequest.json      |    61 +
 .../common/message/AlterPartitionResponse.json     |    58 +
 .../common/message/AlterReplicaLogDirsRequest.json |    41 +
 .../message/AlterReplicaLogDirsResponse.json       |    41 +
 .../message/AlterUserScramCredentialsRequest.json  |    45 +
 .../message/AlterUserScramCredentialsResponse.json |    35 +
 .../common/message/ApiVersionsRequest.json         |    34 +
 .../common/message/ApiVersionsResponse.json        |    79 +
 .../message/AssignReplicasToDirsRequest.json       |    43 +
 .../message/AssignReplicasToDirsResponse.json      |    44 +
 .../common/message/BeginQuorumEpochRequest.json    |    56 +
 .../common/message/BeginQuorumEpochResponse.json   |    53 +
 .../common/message/BrokerHeartbeatRequest.json     |    37 +
 .../common/message/BrokerHeartbeatResponse.json    |    34 +
 .../common/message/BrokerRegistrationRequest.json  |    69 +
 .../common/message/BrokerRegistrationResponse.json |    33 +
 .../message/ConsumerGroupDescribeRequest.json      |    31 +
 .../message/ConsumerGroupDescribeResponse.json     |    96 +
 .../message/ConsumerGroupHeartbeatRequest.json     |    51 +
 .../message/ConsumerGroupHeartbeatResponse.json    |    61 +
 .../common/message/ConsumerProtocolAssignment.json |    42 +
 .../message/ConsumerProtocolSubscription.json      |    49 +
 .../common/message/ControlledShutdownRequest.json  |    22 +
 .../common/message/ControlledShutdownResponse.json |    22 +
 .../message/ControllerRegistrationRequest.json     |    51 +
 .../message/ControllerRegistrationResponse.json    |    30 +
 .../common/message/CreateAclsRequest.json          |    46 +
 .../common/message/CreateAclsResponse.json         |    37 +
 .../message/CreateDelegationTokenRequest.json      |    45 +
 .../message/CreateDelegationTokenResponse.json     |    53 +
 .../common/message/CreatePartitionsRequest.json    |    47 +
 .../common/message/CreatePartitionsResponse.json   |    41 +
 .../common/message/CreateTopicsRequest.json        |    65 +
 .../common/message/CreateTopicsResponse.json       |    72 +
 .../common/message/DefaultPrincipalData.json       |    31 +
 .../common/message/DeleteAclsRequest.json          |    46 +
 .../common/message/DeleteAclsResponse.json         |    59 +
 .../common/message/DeleteGroupsRequest.json        |    30 +
 .../common/message/DeleteGroupsResponse.json       |    36 +
 .../common/message/DeleteRecordsRequest.json       |    42 +
 .../common/message/DeleteRecordsResponse.json      |    43 +
 .../message/DeleteShareGroupStateRequest.json      |    38 +
 .../message/DeleteShareGroupStateResponse.json     |    45 +
 .../common/message/DeleteTopicsRequest.json        |    43 +
 .../common/message/DeleteTopicsResponse.json       |    52 +
 .../common/message/DescribeAclsRequest.json        |    43 +
 .../common/message/DescribeAclsResponse.json       |    55 +
 .../message/DescribeClientQuotasRequest.json       |    37 +
 .../message/DescribeClientQuotasResponse.json      |    47 +
 .../common/message/DescribeClusterRequest.json     |    35 +
 .../common/message/DescribeClusterResponse.json    |    56 +
 .../common/message/DescribeConfigsRequest.json     |    42 +
 .../common/message/DescribeConfigsResponse.json    |    67 +
 .../message/DescribeDelegationTokenRequest.json    |    36 +
 .../message/DescribeDelegationTokenResponse.json   |    60 +
 .../common/message/DescribeGroupsRequest.json      |    38 +
 .../common/message/DescribeGroupsResponse.json     |    74 +
 .../common/message/DescribeLogDirsRequest.json     |    37 +
 .../common/message/DescribeLogDirsResponse.json    |    61 +
 .../common/message/DescribeProducersRequest.json   |    32 +
 .../common/message/DescribeProducersResponse.json  |    55 +
 .../common/message/DescribeQuorumRequest.json      |    39 +
 .../common/message/DescribeQuorumResponse.json     |    82 +
 .../message/DescribeShareGroupOffsetsRequest.json  |    35 +
 .../message/DescribeShareGroupOffsetsResponse.json |    54 +
 .../message/DescribeTopicPartitionsRequest.json    |    40 +
 .../message/DescribeTopicPartitionsResponse.json   |    66 +
 .../message/DescribeTransactionsRequest.json       |    27 +
 .../message/DescribeTransactionsResponse.json      |    52 +
 .../DescribeUserScramCredentialsRequest.json       |    30 +
 .../DescribeUserScramCredentialsResponse.json      |    45 +
 .../common/message/ElectLeadersRequest.json        |    41 +
 .../common/message/ElectLeadersResponse.json       |    45 +
 .../common/message/EndQuorumEpochRequest.json      |    63 +
 .../common/message/EndQuorumEpochResponse.json     |    53 +
 .../resources/common/message/EndTxnRequest.json    |    43 +
 .../resources/common/message/EndTxnResponse.json   |    41 +
 .../resources/common/message/EnvelopeRequest.json  |    32 +
 .../resources/common/message/EnvelopeResponse.json |    30 +
 .../message/ExpireDelegationTokenRequest.json      |    32 +
 .../message/ExpireDelegationTokenResponse.json     |    33 +
 .../resources/common/message/FetchRequest.json     |   120 +
 .../resources/common/message/FetchResponse.json    |   122 +
 .../common/message/FetchSnapshotRequest.json       |    58 +
 .../common/message/FetchSnapshotResponse.json      |    74 +
 .../common/message/FindCoordinatorRequest.json     |    43 +
 .../common/message/FindCoordinatorResponse.json    |    58 +
 .../message/GetTelemetrySubscriptionsRequest.json  |    29 +
 .../message/GetTelemetrySubscriptionsResponse.json |    60 +
 .../resources/common/message/HeartbeatRequest.json |    39 +
 .../common/message/HeartbeatResponse.json          |    35 +
 .../message/IncrementalAlterConfigsRequest.json    |    44 +
 .../message/IncrementalAlterConfigsResponse.json   |    38 +
 .../common/message/InitProducerIdRequest.json      |    50 +
 .../common/message/InitProducerIdResponse.json     |    47 +
 .../message/InitializeShareGroupStateRequest.json  |    42 +
 .../message/InitializeShareGroupStateResponse.json |    43 +
 .../resources/common/message/JoinGroupRequest.json |    65 +
 .../common/message/JoinGroupResponse.json          |    71 +
 .../common/message/KRaftVersionRecord.json         |    27 +
 .../common/message/LeaderAndIsrRequest.json        |    22 +
 .../common/message/LeaderAndIsrResponse.json       |    22 +
 .../common/message/LeaderChangeMessage.json        |    40 +
 .../common/message/LeaveGroupRequest.json          |    47 +
 .../common/message/LeaveGroupResponse.json         |    47 +
 .../message/ListClientMetricsResourcesRequest.json |    26 +
 .../ListClientMetricsResourcesResponse.json        |    33 +
 .../common/message/ListGroupsRequest.json          |    36 +
 .../common/message/ListGroupsResponse.json         |    49 +
 .../common/message/ListOffsetsRequest.json         |    68 +
 .../common/message/ListOffsetsResponse.json        |    67 +
 .../message/ListPartitionReassignmentsRequest.json |    34 +
 .../ListPartitionReassignmentsResponse.json        |    46 +
 .../common/message/ListTransactionsRequest.json    |    35 +
 .../common/message/ListTransactionsResponse.json   |    40 +
 .../resources/common/message/MetadataRequest.json  |    56 +
 .../resources/common/message/MetadataResponse.json |   101 +
 .../common/message/OffsetCommitRequest.json        |    70 +
 .../common/message/OffsetCommitResponse.json       |    66 +
 .../common/message/OffsetDeleteRequest.json        |    39 +
 .../common/message/OffsetDeleteResponse.json       |    42 +
 .../common/message/OffsetFetchRequest.json         |    72 +
 .../common/message/OffsetFetchResponse.json        |   101 +
 .../message/OffsetForLeaderEpochRequest.json       |    52 +
 .../message/OffsetForLeaderEpochResponse.json      |    51 +
 .../resources/common/message/ProduceRequest.json   |    71 +
 .../resources/common/message/ProduceResponse.json  |    94 +
 .../common/message/PushTelemetryRequest.json       |    45 +
 .../common/message/PushTelemetryResponse.json      |    32 +
 .../src/main/resources/common/message/README.md    |   273 +
 .../common/message/ReadShareGroupStateRequest.json |    40 +
 .../message/ReadShareGroupStateResponse.json       |    59 +
 .../message/ReadShareGroupStateSummaryRequest.json |    40 +
 .../ReadShareGroupStateSummaryResponse.json        |    49 +
 .../common/message/RemoveRaftVoterRequest.json     |    31 +
 .../common/message/RemoveRaftVoterResponse.json    |    30 +
 .../message/RenewDelegationTokenRequest.json       |    32 +
 .../message/RenewDelegationTokenResponse.json      |    33 +
 .../resources/common/message/RequestHeader.json    |    44 +
 .../resources/common/message/ResponseHeader.json   |    26 +
 .../common/message/SaslAuthenticateRequest.json    |    29 +
 .../common/message/SaslAuthenticateResponse.json   |    34 +
 .../common/message/SaslHandshakeRequest.json       |    31 +
 .../common/message/SaslHandshakeResponse.json      |    32 +
 .../common/message/ShareAcknowledgeRequest.json    |    53 +
 .../common/message/ShareAcknowledgeResponse.json   |    74 +
 .../common/message/ShareFetchRequest.json          |    69 +
 .../common/message/ShareFetchResponse.json         |    85 +
 .../common/message/ShareGroupDescribeRequest.json  |    33 +
 .../common/message/ShareGroupDescribeResponse.json |    87 +
 .../common/message/ShareGroupHeartbeatRequest.json |    39 +
 .../message/ShareGroupHeartbeatResponse.json       |    57 +
 .../common/message/SnapshotFooterRecord.json       |    25 +
 .../common/message/SnapshotHeaderRecord.json       |    27 +
 .../common/message/StopReplicaRequest.json         |    22 +
 .../common/message/StopReplicaResponse.json        |    22 +
 .../message/StreamsGroupDescribeRequest.json       |    29 +
 .../message/StreamsGroupDescribeResponse.json      |   167 +
 .../message/StreamsGroupHeartbeatRequest.json      |   132 +
 .../message/StreamsGroupHeartbeatResponse.json     |   117 +
 .../resources/common/message/SyncGroupRequest.json |    56 +
 .../common/message/SyncGroupResponse.json          |    46 +
 .../common/message/TxnOffsetCommitRequest.json     |    68 +
 .../common/message/TxnOffsetCommitResponse.json    |    47 +
 .../common/message/UnregisterBrokerRequest.json    |    27 +
 .../common/message/UnregisterBrokerResponse.json   |    30 +
 .../common/message/UpdateFeaturesRequest.json      |    43 +
 .../common/message/UpdateFeaturesResponse.json     |    39 +
 .../common/message/UpdateMetadataRequest.json      |    22 +
 .../common/message/UpdateMetadataResponse.json     |    22 +
 .../common/message/UpdateRaftVoterRequest.json     |    49 +
 .../common/message/UpdateRaftVoterResponse.json    |    38 +
 .../main/resources/common/message/VoteRequest.json |    58 +
 .../resources/common/message/VoteResponse.json     |    56 +
 .../resources/common/message/VotersRecord.json     |    48 +
 .../message/WriteShareGroupStateRequest.json       |    55 +
 .../message/WriteShareGroupStateResponse.json      |    45 +
 .../common/message/WriteTxnMarkersRequest.json     |    46 +
 .../common/message/WriteTxnMarkersResponse.json    |    44 +
 .../kafka/clients/AddressChangeHostResolver.java   |    49 +
 .../org/apache/kafka/clients/ApiVersionsTest.java  |    66 +
 .../org/apache/kafka/clients/ClientUtilsTest.java  |   204 +
 .../kafka/clients/ClusterConnectionStatesTest.java |   469 +
 .../kafka/clients/CommonClientConfigsTest.java     |   156 +
 .../kafka/clients/FetchSessionHandlerTest.java     |   769 +
 .../apache/kafka/clients/InFlightRequestsTest.java |   129 +
 .../apache/kafka/clients/MetadataSnapshotTest.java |   235 +
 .../org/apache/kafka/clients/MetadataTest.java     |  1233 +
 .../java/org/apache/kafka/clients/MockClient.java  |   845 +
 .../apache/kafka/clients/NetworkClientTest.java    |  1500 ++
 .../apache/kafka/clients/NodeApiVersionsTest.java  |   196 +
 .../kafka/clients/admin/AdminClientConfigTest.java |    49 +
 .../kafka/clients/admin/AdminClientTestUtils.java  |   194 +
 .../clients/admin/AdminClientUnitTestEnv.java      |   140 +
 .../org/apache/kafka/clients/admin/ConfigTest.java |   102 +
 .../admin/ConsumerGroupDescriptionTest.java        |    40 +
 .../clients/admin/ConsumerGroupListingTest.java    |    39 +
 .../DeleteConsumerGroupOffsetsResultTest.java      |   118 +
 .../clients/admin/DeleteTopicsResultTest.java      |    66 +
 .../clients/admin/DescribeTopicsResultTest.java    |    46 +
 .../DescribeUserScramCredentialsResultTest.java    |   120 +
 .../kafka/clients/admin/EndpointTypeTest.java      |    48 +
 .../kafka/clients/admin/FakeForwardingAdmin.java   |    26 +
 .../kafka/clients/admin/GroupListingTest.java      |    49 +
 .../kafka/clients/admin/KafkaAdminClientTest.java  |  9299 ++++++++
 .../admin/ListConsumerGroupsOptionsTest.java       |    36 +
 .../clients/admin/ListTransactionsResultTest.java  |   119 +
 .../kafka/clients/admin/MemberDescriptionTest.java |   156 +
 .../kafka/clients/admin/MockAdminClient.java       |  1523 ++
 .../apache/kafka/clients/admin/NewTopicTest.java   |   186 +
 .../RemoveMembersFromConsumerGroupOptionsTest.java |    39 +
 .../RemoveMembersFromConsumerGroupResultTest.java  |   119 +
 .../kafka/clients/admin/ScramMechanismTest.java    |    35 +
 .../kafka/clients/admin/TopicCollectionTest.java   |    46 +
 .../internals/AbortTransactionHandlerTest.java     |   222 +
 .../admin/internals/AdminApiDriverTest.java        |   918 +
 .../internals/AdminBootstrapAddressesTest.java     |    82 +
 .../internals/AdminFetchMetricsManagerTest.java    |   170 +
 .../admin/internals/AdminMetadataManagerTest.java  |   163 +
 .../AllBrokersStrategyIntegrationTest.java         |   249 +
 .../admin/internals/AllBrokersStrategyTest.java    |   124 +
 .../AlterConsumerGroupOffsetsHandlerTest.java      |   189 +
 .../admin/internals/CoordinatorStrategyTest.java   |   291 +
 .../DeleteConsumerGroupOffsetsHandlerTest.java     |   210 +
 .../internals/DeleteConsumerGroupsHandlerTest.java |   130 +
 .../admin/internals/DeleteRecordsHandlerTest.java  |   307 +
 .../DescribeConsumerGroupsHandlerTest.java         |   422 +
 .../internals/DescribeProducersHandlerTest.java    |   330 +
 .../internals/DescribeTransactionsHandlerTest.java |   227 +
 .../admin/internals/FenceProducersHandlerTest.java |   157 +
 .../ListConsumerGroupOffsetsHandlerTest.java       |   438 +
 .../admin/internals/ListOffsetsHandlerTest.java    |   342 +
 .../internals/ListTransactionsHandlerTest.java     |   214 +
 .../PartitionLeaderStrategyIntegrationTest.java    |   491 +
 .../internals/PartitionLeaderStrategyTest.java     |   302 +
 .../RemoveMembersFromConsumerGroupHandlerTest.java |   180 +
 .../kafka/clients/consumer/ConsumerConfigTest.java |   259 +
 .../consumer/ConsumerGroupMetadataTest.java        |    88 +
 .../consumer/ConsumerPartitionAssignorTest.java    |   156 +
 .../kafka/clients/consumer/ConsumerRecordTest.java |   101 +
 .../clients/consumer/ConsumerRecordsTest.java      |   220 +
 .../consumer/CooperativeStickyAssignorTest.java    |   290 +
 .../kafka/clients/consumer/KafkaConsumerTest.java  |  3769 +++
 .../consumer/KafkaShareConsumerMetricsTest.java    |   393 +
 .../clients/consumer/KafkaShareConsumerTest.java   |   417 +
 .../kafka/clients/consumer/MockConsumerTest.java   |   205 +
 .../clients/consumer/MockShareConsumerTest.java    |    52 +
 .../clients/consumer/OffsetAndMetadataTest.java    |    68 +
 .../kafka/clients/consumer/RangeAssignorTest.java  |   604 +
 .../clients/consumer/RoundRobinAssignorTest.java   |   347 +
 .../kafka/clients/consumer/StickyAssignorTest.java |   381 +
 .../internals/AbstractCoordinatorTest.java         |  1754 ++
 .../internals/AbstractPartitionAssignorTest.java   |   299 +
 .../internals/AbstractStickyAssignorTest.java      |  1565 ++
 .../AcknowledgementCommitCallbackHandlerTest.java  |   176 +
 .../consumer/internals/AcknowledgementsTest.java   |   506 +
 .../internals/ApplicationEventHandlerTest.java     |    66 +
 .../consumer/internals/AsyncKafkaConsumerTest.java |  2093 ++
 .../internals/AutoOffsetResetStrategyTest.java     |   122 +
 .../internals/BackgroundEventHandlerTest.java      |    65 +
 .../internals/CommitRequestManagerTest.java        |  1780 ++
 .../consumer/internals/CompletedFetchTest.java     |   309 +
 .../internals/ConsumerCoordinatorTest.java         |  4148 ++++
 .../ConsumerHeartbeatRequestManagerTest.java       |  1147 +
 .../internals/ConsumerInterceptorsTest.java        |   209 +
 .../internals/ConsumerMembershipManagerTest.java   |  2943 +++
 .../consumer/internals/ConsumerMetadataTest.java   |   380 +
 .../internals/ConsumerNetworkClientTest.java       |   425 +
 .../internals/ConsumerNetworkThreadTest.java       |   291 +
 .../consumer/internals/ConsumerProtocolTest.java   |   359 +
 .../CooperativeConsumerCoordinatorTest.java        |    25 +
 .../internals/CoordinatorRequestManagerTest.java   |   303 +
 .../CounterConsumerRebalanceListener.java          |    90 +
 .../internals/EagerConsumerCoordinatorTest.java    |    25 +
 .../consumer/internals/FetchBufferTest.java        |   211 +
 .../consumer/internals/FetchCollectorTest.java     |   992 +
 .../consumer/internals/FetchConfigTest.java        |    59 +
 .../internals/FetchMetricsManagerTest.java         |   408 +
 .../internals/FetchRequestManagerTest.java         |  3854 +++
 .../clients/consumer/internals/FetcherTest.java    |  3910 ++++
 .../clients/consumer/internals/HeartbeatTest.java  |   124 +
 .../internals/KafkaConsumerMetricsTest.java        |    77 +
 .../consumer/internals/MockPartitionAssignor.java  |    72 +
 .../consumer/internals/MockRebalanceListener.java  |    49 +
 .../internals/NetworkClientDelegateTest.java       |   324 +
 .../internals/OffsetCommitCallbackInvokerTest.java |   143 +
 .../consumer/internals/OffsetFetcherTest.java      |  1726 ++
 .../internals/OffsetForLeaderEpochClientTest.java  |   177 +
 .../internals/OffsetsRequestManagerTest.java       |  1124 +
 .../consumer/internals/RequestFutureTest.java      |   242 +
 .../consumer/internals/RequestManagersTest.java    |    71 +
 .../consumer/internals/RequestStateTest.java       |    91 +
 .../internals/ShareCompletedFetchTest.java         |   469 +
 .../internals/ShareConsumeRequestManagerTest.java  |  2083 ++
 .../consumer/internals/ShareConsumerImplTest.java  |   606 +
 .../consumer/internals/ShareFetchBufferTest.java   |   185 +
 .../internals/ShareFetchCollectorTest.java         |   356 +
 .../internals/ShareFetchMetricsManagerTest.java    |   137 +
 .../ShareHeartbeatRequestManagerTest.java          |   767 +
 .../internals/ShareMembershipManagerTest.java      |  1669 ++
 .../internals/ShareSessionHandlerTest.java         |   460 +
 .../internals/StreamsMembershipManagerTest.java    |  2186 ++
 .../internals/StreamsRebalanceDataTest.java        |   305 +
 .../StreamsRebalanceEventsProcessorTest.java       |   267 +
 .../consumer/internals/SubscriptionStateTest.java  |  1004 +
 .../internals/ThrowOnAssignmentAssignor.java       |    49 +
 .../consumer/internals/TimedRequestStateTest.java  |    97 +
 .../internals/TopicMetadataFetcherTest.java        |   260 +
 .../internals/TopicMetadataRequestManagerTest.java |   304 +
 .../internals/TopicPartitionComparatorTest.java    |    60 +
 .../consumer/internals/WakeupTriggerTest.java      |   227 +
 .../events/ApplicationEventProcessorTest.java      |   529 +
 .../events/CompletableEventReaperTest.java         |   201 +
 .../metrics/AsyncConsumerMetricsTest.java          |   237 +
 .../metrics/HeartbeatMetricsManagerTest.java       |    63 +
 .../metrics/OffsetCommitMetricsManagerTest.java    |    56 +
 .../RebalanceCallbackMetricsManagerTest.java       |    53 +
 .../metrics/ShareRebalanceMetricsManagerTest.java  |    51 +
 .../kafka/clients/producer/KafkaProducerTest.java  |  2863 +++
 .../kafka/clients/producer/MockProducerTest.java   |   750 +
 .../kafka/clients/producer/ProducerConfigTest.java |   148 +
 .../kafka/clients/producer/ProducerRecordTest.java |    78 +
 .../kafka/clients/producer/RecordMetadataTest.java |    62 +
 .../kafka/clients/producer/RecordSendTest.java     |   104 +
 .../producer/RoundRobinPartitionerTest.java        |    99 +
 .../clients/producer/internals/BufferPoolTest.java |   410 +
 .../producer/internals/BuiltInPartitionerTest.java |   208 +
 .../internals/FutureRecordMetadataTest.java        |    82 +
 .../internals/KafkaProducerMetricsTest.java        |   128 +
 .../producer/internals/ProducerBatchTest.java      |   374 +
 .../internals/ProducerInterceptorsTest.java        |   208 +
 .../producer/internals/ProducerMetadataTest.java   |   337 +
 .../producer/internals/ProducerTestUtils.java      |    45 +
 .../producer/internals/RecordAccumulatorTest.java  |  1686 ++
 .../clients/producer/internals/SenderTest.java     |  3803 +++
 .../producer/internals/TransactionManagerTest.java |  4376 ++++
 .../java/org/apache/kafka/common/ClusterTest.java  |   164 +
 .../org/apache/kafka/common/KafkaFutureTest.java   |   629 +
 .../org/apache/kafka/common/PartitionInfoTest.java |    42 +
 .../apache/kafka/common/TopicIdPartitionTest.java  |    82 +
 .../apache/kafka/common/TopicPartitionTest.java    |    63 +
 .../java/org/apache/kafka/common/UuidTest.java     |   139 +
 .../apache/kafka/common/acl/AclBindingTest.java    |   146 +
 .../apache/kafka/common/acl/AclOperationTest.java  |    91 +
 .../kafka/common/acl/AclPermissionTypeTest.java    |    80 +
 .../common/acl/ResourcePatternFilterTest.java      |   177 +
 .../kafka/common/acl/ResourcePatternTest.java      |    50 +
 .../apache/kafka/common/cache/LRUCacheTest.java    |    94 +
 .../kafka/common/compress/GzipCompressionTest.java |    87 +
 .../kafka/common/compress/Lz4CompressionTest.java  |   453 +
 .../kafka/common/compress/NoCompressionTest.java   |    59 +
 .../common/compress/SnappyCompressionTest.java     |    58 +
 .../kafka/common/compress/ZstdCompressionTest.java |    74 +
 .../kafka/common/config/AbstractConfigTest.java    |   704 +
 .../apache/kafka/common/config/ConfigDefTest.java  |   767 +
 .../kafka/common/config/ConfigResourceTest.java    |    47 +
 .../kafka/common/config/ConfigTransformerTest.java |   150 +
 .../kafka/common/config/SaslConfigsTest.java       |   125 +
 .../common/config/provider/AllowedPathsTest.java   |   113 +
 .../provider/DirectoryConfigProviderTest.java      |   218 +
 .../config/provider/EnvVarConfigProviderTest.java  |   118 +
 .../config/provider/FileConfigProviderTest.java    |   216 +
 .../config/provider/MockFileConfigProvider.java    |    67 +
 .../config/provider/MockVaultConfigProvider.java   |    47 +
 .../apache/kafka/common/feature/FeaturesTest.java  |   127 +
 .../common/feature/SupportedVersionRangeTest.java  |   154 +
 .../common/header/internals/RecordHeadersTest.java |   231 +
 .../common/internals/IdempotentCloserTest.java     |   183 +
 .../common/internals/PartitionStatesTest.java      |   212 +
 .../apache/kafka/common/internals/PluginTest.java  |   149 +
 .../SecurityManagerCompatibilityTest.java          |   252 +
 .../apache/kafka/common/internals/TopicTest.java   |   115 +
 .../memory/GarbageCollectedMemoryPoolTest.java     |   175 +
 .../kafka/common/message/ApiMessageTypeTest.java   |   144 +
 .../apache/kafka/common/message/MessageTest.java   |  1214 +
 .../common/message/NullableStructMessageTest.java  |   141 +
 .../kafka/common/message/RecordsSerdeTest.java     |    84 +
 .../common/message/SimpleArraysMessageTest.java    |    55 +
 .../common/message/SimpleExampleMessageTest.java   |   408 +
 .../kafka/common/metrics/FakeMetricsReporter.java  |    39 +
 .../kafka/common/metrics/JmxReporterTest.java      |   180 +
 .../kafka/common/metrics/KafkaMbeanTest.java       |   157 +
 .../kafka/common/metrics/KafkaMetricTest.java      |    51 +
 .../common/metrics/KafkaMetricsContextTest.java    |    89 +
 .../apache/kafka/common/metrics/MetricsTest.java   |   930 +
 .../apache/kafka/common/metrics/SampleMetrics.java |    30 +
 .../apache/kafka/common/metrics/SensorTest.java    |   368 +
 .../kafka/common/metrics/TokenBucketTest.java      |    95 +
 .../metrics/internals/IntGaugeSuiteTest.java       |    97 +
 .../common/metrics/internals/MetricsUtilsTest.java |    40 +
 .../metrics/internals/PluginMetricsImplTest.java   |   120 +
 .../common/metrics/stats/FrequenciesTest.java      |   178 +
 .../kafka/common/metrics/stats/HistogramTest.java  |   176 +
 .../kafka/common/metrics/stats/MeterTest.java      |    74 +
 .../kafka/common/metrics/stats/RateTest.java       |   103 +
 .../common/metrics/stats/SampledStatTest.java      |   107 +
 .../apache/kafka/common/network/CertStores.java    |   153 +
 .../kafka/common/network/ChannelBuildersTest.java  |   122 +
 .../network/DefaultChannelMetadataRegistry.java    |    48 +
 .../apache/kafka/common/network/EchoServer.java    |   146 +
 .../kafka/common/network/KafkaChannelTest.java     |   113 +
 .../kafka/common/network/NetworkReceiveTest.java   |   125 +
 .../kafka/common/network/NetworkTestUtils.java     |   139 +
 .../apache/kafka/common/network/NioEchoServer.java |   419 +
 .../kafka/common/network/PlaintextSender.java      |    41 +
 .../common/network/SaslChannelBuilderTest.java     |   241 +
 .../apache/kafka/common/network/SelectorTest.java  |  1168 +
 .../common/network/ServerConnectionIdTest.java     |   209 +
 .../kafka/common/network/SslSelectorTest.java      |   390 +
 .../org/apache/kafka/common/network/SslSender.java |    85 +
 .../common/network/SslTransportLayerTest.java      |  1632 ++
 .../common/network/SslTransportTls12Tls13Test.java |   165 +
 .../network/SslVersionsTransportLayerTest.java     |   171 +
 .../kafka/common/network/Tls12SelectorTest.java    |    72 +
 .../kafka/common/network/Tls13SelectorTest.java    |    91 +
 .../apache/kafka/common/protocol/ApiKeysTest.java  |   114 +
 .../common/protocol/ByteBufferAccessorTest.java    |    58 +
 .../protocol/DataOutputStreamWritableTest.java     |    69 +
 .../apache/kafka/common/protocol/ErrorsTest.java   |    91 +
 .../kafka/common/protocol/MessageUtilTest.java     |   124 +
 .../kafka/common/protocol/ProtoUtilsTest.java      |    51 +
 .../apache/kafka/common/protocol/ProtocolTest.java |    32 +
 .../kafka/common/protocol/SendBuilderTest.java     |   167 +
 .../protocol/types/ProtocolSerializationTest.java  |   477 +
 .../protocol/types/RawTaggedFieldWriterTest.java   |    98 +
 .../kafka/common/protocol/types/StructTest.java    |    88 +
 .../kafka/common/protocol/types/TypeTest.java      |    94 +
 .../record/AbstractLegacyRecordBatchTest.java      |   253 +
 .../kafka/common/record/BufferSupplierTest.java    |    48 +
 .../record/ByteBufferLogInputStreamTest.java       |   124 +
 .../record/CompressionRatioEstimatorTest.java      |    55 +
 .../kafka/common/record/ControlRecordTypeTest.java |    60 +
 .../common/record/ControlRecordUtilsTest.java      |   104 +
 .../common/record/DefaultRecordBatchTest.java      |   583 +
 .../kafka/common/record/DefaultRecordTest.java     |   511 +
 .../common/record/EndTransactionMarkerTest.java    |    76 +
 .../common/record/FileLogInputStreamTest.java      |   323 +
 .../kafka/common/record/FileRecordsTest.java       |   722 +
 .../kafka/common/record/LegacyRecordTest.java      |   143 +
 .../common/record/MemoryRecordsBuilderTest.java    |   821 +
 .../kafka/common/record/MemoryRecordsTest.java     |  1086 +
 .../kafka/common/record/MultiRecordsSendTest.java  |    81 +
 .../common/record/RemoteLogInputStreamTest.java    |   294 +
 .../common/record/SimpleLegacyRecordTest.java      |    90 +
 .../common/record/UnalignedFileRecordsTest.java    |    81 +
 .../kafka/common/replica/ReplicaSelectorTest.java  |    89 +
 .../requests/AddPartitionsToTxnRequestTest.java    |   161 +
 .../requests/AddPartitionsToTxnResponseTest.java   |   145 +
 .../common/requests/AlterPartitionRequestTest.java |    90 +
 .../requests/AlterReplicaLogDirsRequestTest.java   |    89 +
 .../requests/AlterReplicaLogDirsResponseTest.java  |    59 +
 .../apache/kafka/common/requests/ApiErrorTest.java |    83 +
 .../common/requests/ApiVersionsResponseTest.java   |   284 +
 .../requests/BrokerRegistrationRequestTest.java    |   155 +
 .../kafka/common/requests/ByteBufferChannel.java   |    79 +
 .../common/requests/ByteBufferChannelTest.java     |    88 +
 .../requests/ConsumerGroupDescribeRequestTest.java |    74 +
 .../ConsumerGroupDescribeResponseTest.java         |    49 +
 .../common/requests/CreateAclsRequestTest.java     |    92 +
 .../common/requests/DeleteAclsRequestTest.java     |    92 +
 .../common/requests/DeleteAclsResponseTest.java    |   107 +
 .../common/requests/DeleteGroupsRequestTest.java   |    50 +
 .../common/requests/DeleteGroupsResponseTest.java  |    78 +
 .../common/requests/DeleteTopicsRequestTest.java   |   137 +
 .../common/requests/DescribeAclsRequestTest.java   |    72 +
 .../common/requests/DescribeAclsResponseTest.java  |   143 +
 .../common/requests/DescribeGroupsRequestTest.java |    53 +
 .../kafka/common/requests/EndTxnRequestTest.java   |    95 +
 .../kafka/common/requests/EndTxnResponseTest.java  |    54 +
 .../kafka/common/requests/EnvelopeRequestTest.java |    72 +
 .../common/requests/EnvelopeResponseTest.java      |    55 +
 .../kafka/common/requests/FetchRequestTest.java    |   338 +
 .../requests/FindCoordinatorRequestTest.java       |    32 +
 .../GetTelemetrySubscriptionsRequestTest.java      |    37 +
 .../GetTelemetrySubscriptionsResponseTest.java     |    48 +
 .../common/requests/HeartbeatRequestTest.java      |    37 +
 .../common/requests/JoinGroupRequestTest.java      |    68 +
 .../common/requests/JoinGroupResponseTest.java     |    58 +
 .../common/requests/LeaveGroupRequestTest.java     |   128 +
 .../common/requests/LeaveGroupResponseTest.java    |   221 +
 .../common/requests/ListOffsetsRequestTest.java    |   145 +
 .../kafka/common/requests/MetadataRequestTest.java |   108 +
 .../common/requests/MetadataResponseTest.java      |    67 +
 .../common/requests/OffsetCommitRequestTest.java   |   144 +
 .../common/requests/OffsetCommitResponseTest.java  |   104 +
 .../common/requests/OffsetFetchRequestTest.java    |   235 +
 .../common/requests/OffsetFetchResponseTest.java   |   442 +
 .../requests/OffsetsForLeaderEpochRequestTest.java |    54 +
 .../kafka/common/requests/ProduceRequestTest.java  |   313 +
 .../kafka/common/requests/ProduceResponseTest.java |    95 +
 .../common/requests/PushTelemetryRequestTest.java  |   120 +
 .../common/requests/PushTelemetryResponseTest.java |    49 +
 .../kafka/common/requests/RequestContextTest.java  |   192 +
 .../kafka/common/requests/RequestHeaderTest.java   |   122 +
 .../kafka/common/requests/RequestResponseTest.java |  3843 +++
 .../kafka/common/requests/RequestTestUtils.java    |   265 +
 .../kafka/common/requests/RequestUtilsTest.java    |    48 +
 .../common/requests/SyncGroupRequestTest.java      |    37 +
 .../requests/TxnOffsetCommitRequestTest.java       |   172 +
 .../requests/TxnOffsetCommitResponseTest.java      |    67 +
 .../common/requests/UpdateFeaturesRequestTest.java |   147 +
 .../requests/UpdateFeaturesResponseTest.java       |    83 +
 .../requests/WriteTxnMarkersRequestTest.java       |    82 +
 .../requests/WriteTxnMarkersResponseTest.java      |    61 +
 .../kafka/common/resource/ResourceTypeTest.java    |    85 +
 .../kafka/common/security/JaasContextTest.java     |   376 +
 .../kafka/common/security/SaslExtensionsTest.java  |    82 +
 .../kafka/common/security/TestSecurityConfig.java  |    49 +
 .../auth/DefaultKafkaPrincipalBuilderTest.java     |   196 +
 .../common/security/auth/KafkaPrincipalTest.java   |    34 +
 .../ClientAuthenticationFailureTest.java           |   144 +
 .../security/authenticator/LoginManagerTest.java   |   211 +
 .../SaslAuthenticatorFailureDelayTest.java         |   242 +
 .../SaslAuthenticatorFailureNoDelayTest.java       |    23 +
 .../SaslAuthenticatorFailurePositiveDelayTest.java |    23 +
 .../authenticator/SaslAuthenticatorTest.java       |  2619 +++
 .../authenticator/SaslServerAuthenticatorTest.java |   413 +
 .../authenticator/TestDigestLoginModule.java       |    76 +
 .../security/authenticator/TestJaasConfig.java     |   155 +
 .../common/security/kerberos/KerberosNameTest.java |   140 +
 .../common/security/kerberos/KerberosRuleTest.java |    48 +
 ...OAuthBearerExtensionsValidatorCallbackTest.java |    92 +
 .../OAuthBearerLoginCallbackHandlerTest.java       |   278 +
 .../oauthbearer/OAuthBearerLoginModuleTest.java    |   453 +
 .../OAuthBearerSaslClientCallbackHandlerTest.java  |   102 +
 .../oauthbearer/OAuthBearerTokenCallbackTest.java  |    78 +
 .../security/oauthbearer/OAuthBearerTokenMock.java |    46 +
 .../OAuthBearerValidatorCallbackHandlerTest.java   |   119 +
 .../OAuthBearerValidatorCallbackTest.java          |    78 +
 .../OAuthBearerClientInitialResponseTest.java      |   139 +
 .../internals/OAuthBearerSaslClientTest.java       |   153 +
 .../internals/OAuthBearerSaslServerTest.java       |   215 +
 .../ExpiringCredentialRefreshConfigTest.java       |    44 +
 .../ExpiringCredentialRefreshingLoginTest.java     |   775 +
 .../internals/secured/AccessTokenBuilder.java      |   205 +
 .../secured/AccessTokenRetrieverFactoryTest.java   |   111 +
 .../secured/AccessTokenValidatorFactoryTest.java   |    73 +
 .../secured/AccessTokenValidatorTest.java          |    92 +
 .../secured/BasicOAuthBearerTokenTest.java         |    92 +
 .../secured/ClaimValidationUtilsTest.java          |   165 +
 .../internals/secured/ConfigurationUtilsTest.java  |   178 +
 .../secured/HttpAccessTokenRetrieverTest.java      |   238 +
 .../internals/secured/JaasOptionsUtilsTest.java    |    62 +
 .../secured/LoginAccessTokenValidatorTest.java     |    27 +
 .../internals/secured/OAuthBearerTest.java         |   215 +
 .../internals/secured/RefreshingHttpsJwksTest.java |   313 +
 .../oauthbearer/internals/secured/RetryTest.java   |   138 +
 .../secured/ValidatorAccessTokenValidatorTest.java |    95 +
 .../VerificationKeyResolverFactoryTest.java        |    82 +
 .../unsecured/OAuthBearerScopeUtilsTest.java       |    55 +
 .../unsecured/OAuthBearerUnsecuredJwsTest.java     |   159 +
 ...uthBearerUnsecuredLoginCallbackHandlerTest.java |   162 +
 ...earerUnsecuredValidatorCallbackHandlerTest.java |   169 +
 .../unsecured/OAuthBearerValidationUtilsTest.java  |   246 +
 .../plain/internals/PlainSaslServerTest.java       |   117 +
 .../scram/internals/ScramCredentialUtilsTest.java  |    98 +
 .../scram/internals/ScramFormatterTest.java        |    92 +
 .../scram/internals/ScramMessagesTest.java         |   354 +
 .../scram/internals/ScramSaslServerTest.java       |   166 +
 .../ssl/CommonNameLoggingSslEngineFactoryTest.java |    25 +
 ...nNameLoggingTrustManagerFactoryWrapperTest.java |   595 +
 .../security/ssl/DefaultSslEngineFactoryTest.java  |   334 +
 .../kafka/common/security/ssl/SslFactoryTest.java  |   614 +
 .../security/ssl/SslPrincipalMapperTest.java       |   124 +
 .../common/security/ssl/Tls12SslFactoryTest.java   |    23 +
 .../common/security/ssl/Tls13SslFactoryTest.java   |    27 +
 .../security/ssl/mock/TestKeyManagerFactory.java   |   114 +
 .../ssl/mock/TestPlainSaslServerProvider.java      |    31 +
 .../mock/TestPlainSaslServerProviderCreator.java   |    34 +
 .../common/security/ssl/mock/TestProvider.java     |    36 +
 .../security/ssl/mock/TestProviderCreator.java     |    34 +
 .../ssl/mock/TestScramSaslServerProvider.java      |    31 +
 .../mock/TestScramSaslServerProviderCreator.java   |    34 +
 .../security/ssl/mock/TestTrustManagerFactory.java |    85 +
 .../common/serialization/ListDeserializerTest.java |   252 +
 .../common/serialization/ListSerializerTest.java   |   154 +
 .../common/serialization/SerializationTest.java    |   449 +
 .../common/telemetry/ClientTelemetryStateTest.java |   111 +
 .../internals/ClientTelemetryEmitterTest.java      |   103 +
 .../internals/ClientTelemetryReporterTest.java     |   777 +
 .../internals/ClientTelemetryUtilsTest.java        |   181 +
 .../internals/KafkaMetricsCollectorTest.java       |   672 +
 .../telemetry/internals/LastValueTrackerTest.java  |   107 +
 .../telemetry/internals/SinglePointMetricTest.java |   308 +
 .../TelemetryMetricNamingConventionTest.java       |   302 +
 .../common/telemetry/internals/TestEmitter.java    |    70 +
 .../kafka/common/utils/AbstractIteratorTest.java   |    71 +
 .../kafka/common/utils/AppInfoParserTest.java      |   103 +
 .../common/utils/ByteBufferInputStreamTest.java    |    61 +
 .../common/utils/ByteBufferOutputStreamTest.java   |   106 +
 .../kafka/common/utils/ByteBufferUnmapperTest.java |    42 +
 .../apache/kafka/common/utils/ByteUtilsTest.java   |   489 +
 .../org/apache/kafka/common/utils/BytesTest.java   |    84 +
 .../apache/kafka/common/utils/ChecksumsTest.java   |    94 +
 .../kafka/common/utils/ChunkedBytesStreamTest.java |   270 +
 .../kafka/common/utils/CircularIteratorTest.java   |    67 +
 .../kafka/common/utils/CollectionUtilsTest.java    |    65 +
 .../apache/kafka/common/utils/ConfigUtilsTest.java |    84 +
 .../org/apache/kafka/common/utils/Crc32CTest.java  |    31 +
 .../org/apache/kafka/common/utils/ExitTest.java    |    88 +
 .../kafka/common/utils/ExponentialBackoffTest.java |    57 +
 .../kafka/common/utils/FixedOrderMapTest.java      |    62 +
 .../kafka/common/utils/FlattenedIteratorTest.java  |   116 +
 .../utils/ImplicitLinkedHashCollectionTest.java    |   665 +
 .../ImplicitLinkedHashMultiCollectionTest.java     |   169 +
 .../org/apache/kafka/common/utils/JavaTest.java    |    71 +
 .../kafka/common/utils/LogCaptureAppender.java     |   179 +
 .../common/utils/LoggingSignalHandlerTest.java     |    28 +
 .../kafka/common/utils/MappedIteratorTest.java     |    61 +
 .../apache/kafka/common/utils/MockScheduler.java   |   111 +
 .../org/apache/kafka/common/utils/MockTime.java    |   126 +
 .../apache/kafka/common/utils/MockTimeTest.java    |    50 +
 .../kafka/common/utils/PrimitiveRefTest.java       |    43 +
 .../apache/kafka/common/utils/SanitizerTest.java   |    82 +
 .../kafka/common/utils/SecurityUtilsTest.java      |   107 +
 .../org/apache/kafka/common/utils/Serializer.java  |    52 +
 .../org/apache/kafka/common/utils/ShellTest.java   |    64 +
 .../apache/kafka/common/utils/SystemTimeTest.java  |    25 +
 .../apache/kafka/common/utils/ThreadUtilsTest.java |    89 +
 .../org/apache/kafka/common/utils/TimeTest.java    |    84 +
 .../org/apache/kafka/common/utils/TimerTest.java   |   151 +
 .../org/apache/kafka/common/utils/UtilsTest.java   |  1146 +
 .../utils/annotation/ApiKeyVersionsProvider.java   |    38 +
 .../utils/annotation/ApiKeyVersionsSource.java     |    33 +
 .../kafka/server/policy/AlterConfigPolicyTest.java |    52 +
 .../java/org/apache/kafka/test/DelayedReceive.java |    40 +
 .../java/org/apache/kafka/test/MetricsBench.java   |    58 +
 .../kafka/test/MockClusterResourceListener.java    |    38 +
 .../apache/kafka/test/MockConsumerInterceptor.java |   128 +
 .../org/apache/kafka/test/MockDeserializer.java    |    71 +
 .../org/apache/kafka/test/MockMetricsReporter.java |    55 +
 .../org/apache/kafka/test/MockPartitioner.java     |    51 +
 .../apache/kafka/test/MockProducerInterceptor.java |   121 +
 .../java/org/apache/kafka/test/MockSelector.java   |   243 +
 .../java/org/apache/kafka/test/MockSerializer.java |    54 +
 .../org/apache/kafka/test/NoRetryException.java    |    35 +
 .../java/org/apache/kafka/test/TestCondition.java  |    27 +
 .../java/org/apache/kafka/test/TestSslUtils.java   |   845 +
 .../test/java/org/apache/kafka/test/TestUtils.java |   731 +
 .../org/apache/kafka/test/ValuelessCallable.java   |    25 +
 .../common/message/NullableStructMessage.json      |    44 +
 .../common/message/SimpleArraysMessage.json        |    29 +
 .../common/message/SimpleExampleMessage.json       |    66 +
 .../common/message/SimpleRecordsMessage.json       |    26 +
 clients/src/test/resources/log4j2.yaml             |    38 +
 .../offsetAndMetadataBeforeLeaderEpoch             |   Bin 0 -> 144 bytes
 .../offsetAndMetadataWithLeaderEpoch               |   Bin 0 -> 257 bytes
 .../serializedData/topicPartitionSerializedfile    |   Bin 0 -> 125 bytes
 committer-tools/README.md                          |   103 +
 committer-tools/find-unfinished-test.py            |    66 +
 committer-tools/kafka-merge-pr.py                  |   483 +
 committer-tools/refresh_collaborators.py           |   145 +
 committer-tools/requirements.txt                   |    20 +
 committer-tools/reviewers.py                       |    95 +
 committer-tools/update-cache.sh                    |    47 +
 committers.txt                                     |    56 +
 config/broker.properties                           |   128 +
 config/connect-console-sink.properties             |    19 +
 config/connect-console-source.properties           |    19 +
 config/connect-distributed.properties              |    89 +
 config/connect-file-sink.properties                |    20 +
 config/connect-file-source.properties              |    20 +
 config/connect-log4j2.yaml                         |    44 +
 config/connect-mirror-maker.properties             |    59 +
 config/connect-standalone.properties               |    41 +
 config/consumer.properties                         |    26 +
 config/controller.properties                       |   128 +
 config/log4j2.yaml                                 |   152 +
 config/producer.properties                         |    46 +
 config/server.properties                           |   129 +
 config/tools-log4j2.yaml                           |    32 +
 config/trogdor.conf                                |    25 +
 connect/api/.gitignore                             |     1 +
 .../apache/kafka/connect/components/Versioned.java |    30 +
 .../kafka/connect/components/package-info.java     |    20 +
 .../kafka/connect/connector/ConnectRecord.java     |   182 +
 .../apache/kafka/connect/connector/Connector.java  |   153 +
 .../kafka/connect/connector/ConnectorContext.java  |    36 +
 .../org/apache/kafka/connect/connector/Task.java   |    52 +
 .../kafka/connect/connector/package-info.java      |    20 +
 .../ConnectorClientConfigOverridePolicy.java       |    50 +
 .../policy/ConnectorClientConfigRequest.java       |   110 +
 .../connect/connector/policy/package-info.java     |    23 +
 .../apache/kafka/connect/data/ConnectSchema.java   |   368 +
 .../java/org/apache/kafka/connect/data/Date.java   |    80 +
 .../org/apache/kafka/connect/data/Decimal.java     |    97 +
 .../java/org/apache/kafka/connect/data/Field.java  |    85 +
 .../java/org/apache/kafka/connect/data/Schema.java |   228 +
 .../apache/kafka/connect/data/SchemaAndValue.java  |    64 +
 .../apache/kafka/connect/data/SchemaBuilder.java   |   444 +
 .../apache/kafka/connect/data/SchemaProjector.java |   195 +
 .../java/org/apache/kafka/connect/data/Struct.java |   286 +
 .../java/org/apache/kafka/connect/data/Time.java   |    81 +
 .../org/apache/kafka/connect/data/Timestamp.java   |    64 +
 .../java/org/apache/kafka/connect/data/Values.java |  1424 ++
 .../apache/kafka/connect/data/package-info.java    |    20 +
 .../connect/errors/AlreadyExistsException.java     |    34 +
 .../kafka/connect/errors/ConnectException.java     |    37 +
 .../apache/kafka/connect/errors/DataException.java |    34 +
 .../errors/IllegalWorkerStateException.java        |    34 +
 .../kafka/connect/errors/NotFoundException.java    |    34 +
 .../kafka/connect/errors/RetriableException.java   |    34 +
 .../connect/errors/SchemaBuilderException.java     |    34 +
 .../connect/errors/SchemaProjectorException.java   |    34 +
 .../apache/kafka/connect/errors/package-info.java  |    20 +
 .../apache/kafka/connect/header/ConnectHeader.java |    95 +
 .../kafka/connect/header/ConnectHeaders.java       |   495 +
 .../org/apache/kafka/connect/header/Header.java    |    66 +
 .../org/apache/kafka/connect/header/Headers.java   |   308 +
 .../apache/kafka/connect/header/package-info.java  |    20 +
 .../apache/kafka/connect/health/AbstractState.java |    95 +
 .../connect/health/ConnectClusterDetails.java      |    32 +
 .../kafka/connect/health/ConnectClusterState.java  |    72 +
 .../kafka/connect/health/ConnectorHealth.java      |   114 +
 .../kafka/connect/health/ConnectorState.java       |    44 +
 .../apache/kafka/connect/health/ConnectorType.java |    43 +
 .../org/apache/kafka/connect/health/TaskState.java |    77 +
 .../apache/kafka/connect/health/package-info.java  |    21 +
 .../kafka/connect/rest/ConnectRestExtension.java   |    59 +
 .../connect/rest/ConnectRestExtensionContext.java  |    45 +
 .../apache/kafka/connect/rest/package-info.java    |    20 +
 .../kafka/connect/sink/ErrantRecordReporter.java   |    54 +
 .../apache/kafka/connect/sink/SinkConnector.java   |    84 +
 .../kafka/connect/sink/SinkConnectorContext.java   |    25 +
 .../org/apache/kafka/connect/sink/SinkRecord.java  |   231 +
 .../org/apache/kafka/connect/sink/SinkTask.java    |   180 +
 .../apache/kafka/connect/sink/SinkTaskContext.java |   126 +
 .../apache/kafka/connect/sink/package-info.java    |    20 +
 .../source/ConnectorTransactionBoundaries.java     |    31 +
 .../kafka/connect/source/ExactlyOnceSupport.java   |    31 +
 .../kafka/connect/source/SourceConnector.java      |   115 +
 .../connect/source/SourceConnectorContext.java     |    32 +
 .../apache/kafka/connect/source/SourceRecord.java  |   136 +
 .../apache/kafka/connect/source/SourceTask.java    |   155 +
 .../kafka/connect/source/SourceTaskContext.java    |    66 +
 .../kafka/connect/source/TransactionContext.java   |    66 +
 .../apache/kafka/connect/source/package-info.java  |    20 +
 .../apache/kafka/connect/storage/Converter.java    |   101 +
 .../kafka/connect/storage/ConverterConfig.java     |    58 +
 .../kafka/connect/storage/ConverterType.java       |    64 +
 .../kafka/connect/storage/HeaderConverter.java     |    61 +
 .../kafka/connect/storage/OffsetStorageReader.java |    61 +
 .../connect/storage/SimpleHeaderConverter.java     |    90 +
 .../kafka/connect/storage/StringConverter.java     |   118 +
 .../connect/storage/StringConverterConfig.java     |    61 +
 .../apache/kafka/connect/storage/package-info.java |    20 +
 .../kafka/connect/transforms/Transformation.java   |    60 +
 .../kafka/connect/transforms/package-info.java     |    20 +
 .../connect/transforms/predicates/Predicate.java   |    55 +
 .../transforms/predicates/package-info.java        |    20 +
 .../apache/kafka/connect/util/ConnectorUtils.java  |    62 +
 .../apache/kafka/connect/util/package-info.java    |    20 +
 .../org.apache.kafka.connect.storage.Converter     |    16 +
 ...rg.apache.kafka.connect.storage.HeaderConverter |    17 +
 .../connector/ConnectorReconfigurationTest.java    |    90 +
 .../kafka/connect/connector/ConnectorTest.java     |    88 +
 .../kafka/connect/data/ConnectSchemaTest.java      |   474 +
 .../org/apache/kafka/connect/data/DateTest.java    |    82 +
 .../org/apache/kafka/connect/data/DecimalTest.java |    62 +
 .../org/apache/kafka/connect/data/FakeSchema.java  |    82 +
 .../org/apache/kafka/connect/data/FieldTest.java   |    39 +
 .../kafka/connect/data/SchemaBuilderTest.java      |   382 +
 .../kafka/connect/data/SchemaProjectorTest.java    |   478 +
 .../org/apache/kafka/connect/data/StructTest.java  |   328 +
 .../org/apache/kafka/connect/data/TimeTest.java    |    84 +
 .../apache/kafka/connect/data/TimestampTest.java   |    78 +
 .../org/apache/kafka/connect/data/ValuesTest.java  |  1334 ++
 .../kafka/connect/header/ConnectHeaderTest.java    |   109 +
 .../kafka/connect/header/ConnectHeadersTest.java   |   576 +
 .../kafka/connect/sink/SinkConnectorTest.java      |   146 +
 .../apache/kafka/connect/sink/SinkRecordTest.java  |   161 +
 .../kafka/connect/source/SourceConnectorTest.java  |   152 +
 .../kafka/connect/source/SourceRecordTest.java     |   130 +
 .../kafka/connect/storage/ConverterTypeTest.java   |    31 +
 .../connect/storage/SimpleHeaderConverterTest.java |   243 +
 .../kafka/connect/storage/StringConverterTest.java |   109 +
 .../kafka/connect/util/ConnectorUtilsTest.java     |    68 +
 .../org.apache.kafka.connect.sink.SinkConnector    |    16 +
 ...org.apache.kafka.connect.source.SourceConnector |    16 +
 connect/basic-auth-extension/.gitignore            |     1 +
 .../extension/BasicAuthSecurityRestExtension.java  |   118 +
 .../basic/auth/extension/JaasBasicAuthFilter.java  |   225 +
 .../auth/extension/PropertyFileLoginModule.java    |   155 +
 ....apache.kafka.connect.rest.ConnectRestExtension |    16 +
 .../BasicAuthSecurityRestExtensionTest.java        |   116 +
 .../auth/extension/JaasBasicAuthFilterTest.java    |   270 +
 .../connect/file/FileStreamSinkConnector.java      |    91 +
 .../kafka/connect/file/FileStreamSinkTask.java     |   102 +
 .../connect/file/FileStreamSourceConnector.java    |   155 +
 .../kafka/connect/file/FileStreamSourceTask.java   |   252 +
 .../org.apache.kafka.connect.sink.SinkConnector    |    16 +
 ...org.apache.kafka.connect.source.SourceConnector |    16 +
 .../connect/file/FileStreamSinkConnectorTest.java  |   100 +
 .../kafka/connect/file/FileStreamSinkTaskTest.java |   117 +
 .../file/FileStreamSourceConnectorTest.java        |   245 +
 .../connect/file/FileStreamSourceTaskTest.java     |   234 +
 .../FileStreamSinkConnectorIntegrationTest.java    |   193 +
 .../FileStreamSourceConnectorIntegrationTest.java  |   215 +
 connect/file/src/test/resources/log4j2.yaml        |    35 +
 connect/json/.gitignore                            |     1 +
 .../apache/kafka/connect/json/DecimalFormat.java   |    36 +
 .../apache/kafka/connect/json/JsonConverter.java   |   762 +
 .../kafka/connect/json/JsonConverterConfig.java    |   133 +
 .../kafka/connect/json/JsonDeserializer.java       |    80 +
 .../org/apache/kafka/connect/json/JsonSchema.java  |    81 +
 .../apache/kafka/connect/json/JsonSerializer.java  |    75 +
 .../org.apache.kafka.connect.storage.Converter     |    16 +
 ...rg.apache.kafka.connect.storage.HeaderConverter |    16 +
 .../connect/json/JsonConverterConfigTest.java      |    41 +
 .../kafka/connect/json/JsonConverterTest.java      |  1021 +
 .../src/test/resources/connect-test.properties     |    17 +
 .../apache/kafka/connect/mirror/Checkpoint.java    |   199 +
 .../connect/mirror/DefaultReplicationPolicy.java   |   120 +
 .../org/apache/kafka/connect/mirror/Heartbeat.java |   146 +
 .../connect/mirror/IdentityReplicationPolicy.java  |    95 +
 .../apache/kafka/connect/mirror/MirrorClient.java  |   254 +
 .../kafka/connect/mirror/MirrorClientConfig.java   |   171 +
 .../kafka/connect/mirror/RemoteClusterUtils.java   |   106 +
 .../kafka/connect/mirror/ReplicationPolicy.java    |   111 +
 .../kafka/connect/mirror/SourceAndTarget.java      |    53 +
 .../apache/kafka/connect/mirror/package-info.java  |    20 +
 .../kafka/connect/mirror/MirrorClientTest.java     |   218 +
 .../connect/mirror/ReplicationPolicyTest.java      |    97 +
 .../kafka/connect/mirror/SourceAndTargetTest.java  |    50 +
 .../kafka/connect/mirror/CheckpointStore.java      |   204 +
 .../kafka/connect/mirror/ConfigPropertyFilter.java |    58 +
 .../mirror/DefaultConfigPropertyFilter.java        |    95 +
 .../kafka/connect/mirror/DefaultGroupFilter.java   |    88 +
 .../kafka/connect/mirror/DefaultTopicFilter.java   |    87 +
 .../apache/kafka/connect/mirror/GroupFilter.java   |    38 +
 .../connect/mirror/MirrorCheckpointConfig.java     |   273 +
 .../connect/mirror/MirrorCheckpointConnector.java  |   289 +
 .../connect/mirror/MirrorCheckpointMetrics.java    |   110 +
 .../kafka/connect/mirror/MirrorCheckpointTask.java |   407 +
 .../connect/mirror/MirrorCheckpointTaskConfig.java |    66 +
 .../connect/mirror/MirrorConnectorConfig.java      |   329 +
 .../connect/mirror/MirrorHeartbeatConfig.java      |    87 +
 .../connect/mirror/MirrorHeartbeatConnector.java   |   125 +
 .../kafka/connect/mirror/MirrorHeartbeatTask.java  |    85 +
 .../apache/kafka/connect/mirror/MirrorHerder.java  |    91 +
 .../apache/kafka/connect/mirror/MirrorMaker.java   |   360 +
 .../kafka/connect/mirror/MirrorMakerConfig.java    |   324 +
 .../kafka/connect/mirror/MirrorSourceConfig.java   |   326 +
 .../connect/mirror/MirrorSourceConnector.java      |   741 +
 .../kafka/connect/mirror/MirrorSourceMetrics.java  |   176 +
 .../kafka/connect/mirror/MirrorSourceTask.java     |   258 +
 .../connect/mirror/MirrorSourceTaskConfig.java     |    69 +
 .../apache/kafka/connect/mirror/MirrorUtils.java   |   344 +
 .../apache/kafka/connect/mirror/OffsetSync.java    |   119 +
 .../kafka/connect/mirror/OffsetSyncStore.java      |   340 +
 .../kafka/connect/mirror/OffsetSyncWriter.java     |   207 +
 .../org/apache/kafka/connect/mirror/Scheduler.java |   118 +
 .../apache/kafka/connect/mirror/TopicFilter.java   |    38 +
 .../mirror/formatters/CheckpointFormatter.java     |    31 +
 .../mirror/formatters/HeartbeatFormatter.java      |    31 +
 .../mirror/formatters/OffsetSyncFormatter.java     |    31 +
 .../connect/mirror/rest/MirrorRestServer.java      |    74 +
 .../rest/resources/InternalMirrorResource.java     |    69 +
 ...org.apache.kafka.connect.source.SourceConnector |    18 +
 .../kafka/connect/mirror/CheckpointStoreTest.java  |    98 +
 .../kafka/connect/mirror/CheckpointTest.java       |    44 +
 .../apache/kafka/connect/mirror/HeartbeatTest.java |    41 +
 .../connect/mirror/MirrorCheckpointConfigTest.java |   132 +
 .../mirror/MirrorCheckpointConnectorTest.java      |   349 +
 .../connect/mirror/MirrorCheckpointTaskTest.java   |   374 +
 .../connect/mirror/MirrorConnectorConfigTest.java  |   214 +
 .../mirror/MirrorHeartBeatConnectorTest.java       |   191 +
 .../connect/mirror/MirrorHeartbeatTaskTest.java    |    43 +
 .../connect/mirror/MirrorMakerConfigTest.java      |   390 +
 .../connect/mirror/MirrorSourceConfigTest.java     |   178 +
 .../connect/mirror/MirrorSourceConnectorTest.java  |   770 +
 .../connect/mirror/MirrorSourceMetricsTest.java    |    95 +
 .../kafka/connect/mirror/MirrorSourceTaskTest.java |   360 +
 .../kafka/connect/mirror/MirrorUtilsTest.java      |   144 +
 .../kafka/connect/mirror/OffsetSyncStoreTest.java  |   351 +
 .../kafka/connect/mirror/OffsetSyncTest.java       |    42 +
 .../kafka/connect/mirror/OffsetSyncWriterTest.java |   113 +
 .../org/apache/kafka/connect/mirror/TestUtils.java |    86 +
 .../FakeForwardingAdminWithLocalMetadata.java      |    90 +
 .../clients/admin/FakeLocalMetadataStore.java      |   127 +
 .../DedicatedMirrorIntegrationTest.java            |   504 +
 .../IdentityReplicationIntegrationTest.java        |    52 +
 .../MirrorConnectorsIntegrationBaseTest.java       |  1503 ++
 ...MirrorConnectorsIntegrationExactlyOnceTest.java |   102 +
 .../MirrorConnectorsIntegrationSSLTest.java        |    64 +
 ...irrorConnectorsIntegrationTransactionsTest.java |    76 +
 ...rsWithCustomForwardingAdminIntegrationTest.java |   361 +
 connect/mirror/src/test/resources/log4j2.yaml      |    41 +
 .../kafka/connect/cli/AbstractConnectCli.java      |   152 +
 .../kafka/connect/cli/ConnectDistributed.java      |   114 +
 .../kafka/connect/cli/ConnectStandalone.java       |   184 +
 ...bstractConnectorClientConfigOverridePolicy.java |    64 +
 .../AllConnectorClientConfigOverridePolicy.java    |    47 +
 .../NoneConnectorClientConfigOverridePolicy.java   |    48 +
 ...incipalConnectorClientConfigOverridePolicy.java |    58 +
 .../kafka/connect/converters/BooleanConverter.java |   113 +
 .../connect/converters/BooleanConverterConfig.java |    38 +
 .../connect/converters/ByteArrayConverter.java     |    99 +
 .../kafka/connect/converters/DoubleConverter.java  |    37 +
 .../kafka/connect/converters/FloatConverter.java   |    37 +
 .../kafka/connect/converters/IntegerConverter.java |    37 +
 .../kafka/connect/converters/LongConverter.java    |    38 +
 .../kafka/connect/converters/NumberConverter.java  |   135 +
 .../connect/converters/NumberConverterConfig.java  |    39 +
 .../kafka/connect/converters/ShortConverter.java   |    37 +
 .../kafka/connect/runtime/AbstractHerder.java      |  1273 +
 .../kafka/connect/runtime/AbstractStatus.java      |   104 +
 .../connect/runtime/AbstractWorkerSourceTask.java  |   672 +
 .../kafka/connect/runtime/CachedConnectors.java    |    80 +
 .../connect/runtime/CloseableConnectorContext.java |    32 +
 .../org/apache/kafka/connect/runtime/Connect.java  |   123 +
 .../kafka/connect/runtime/ConnectMetrics.java      |   435 +
 .../connect/runtime/ConnectMetricsRegistry.java    |   429 +
 .../kafka/connect/runtime/ConnectorConfig.java     |   796 +
 .../kafka/connect/runtime/ConnectorStatus.java     |    84 +
 .../runtime/ExactlyOnceWorkerSourceTask.java       |   563 +
 .../org/apache/kafka/connect/runtime/Herder.java   |   420 +
 .../connect/runtime/HerderConnectorContext.java    |    70 +
 .../kafka/connect/runtime/HerderRequest.java       |    21 +
 .../kafka/connect/runtime/InternalSinkRecord.java  |    79 +
 .../org/apache/kafka/connect/runtime/Loggers.java  |   235 +
 .../apache/kafka/connect/runtime/RestartPlan.java  |   149 +
 .../kafka/connect/runtime/RestartRequest.java      |   145 +
 .../apache/kafka/connect/runtime/SessionKey.java   |    74 +
 .../kafka/connect/runtime/SinkConnectorConfig.java |   221 +
 .../connect/runtime/SourceConnectorConfig.java     |   349 +
 .../connect/runtime/SourceTaskOffsetCommitter.java |   122 +
 .../apache/kafka/connect/runtime/StateTracker.java |   187 +
 .../kafka/connect/runtime/SubmittedRecords.java    |   343 +
 .../apache/kafka/connect/runtime/TargetState.java  |    40 +
 .../apache/kafka/connect/runtime/TaskConfig.java   |    53 +
 .../apache/kafka/connect/runtime/TaskStatus.java   |    78 +
 .../connect/runtime/TooManyTasksException.java     |    43 +
 .../kafka/connect/runtime/TopicCreationConfig.java |   147 +
 .../apache/kafka/connect/runtime/TopicStatus.java  |   109 +
 .../kafka/connect/runtime/TransformationChain.java |    92 +
 .../kafka/connect/runtime/TransformationStage.java |    76 +
 .../org/apache/kafka/connect/runtime/Worker.java   |  2353 ++
 .../apache/kafka/connect/runtime/WorkerConfig.java |   463 +
 .../connect/runtime/WorkerConfigTransformer.java   |   102 +
 .../kafka/connect/runtime/WorkerConnector.java     |   603 +
 .../apache/kafka/connect/runtime/WorkerInfo.java   |   108 +
 .../kafka/connect/runtime/WorkerMetricsGroup.java  |   219 +
 .../kafka/connect/runtime/WorkerSinkTask.java      |   928 +
 .../connect/runtime/WorkerSinkTaskContext.java     |   174 +
 .../kafka/connect/runtime/WorkerSourceTask.java    |   355 +
 .../connect/runtime/WorkerSourceTaskContext.java   |    57 +
 .../apache/kafka/connect/runtime/WorkerTask.java   |   512 +
 .../connect/runtime/WorkerTransactionContext.java  |   110 +
 .../runtime/distributed/ConnectAssignor.java       |    43 +
 .../runtime/distributed/ConnectProtocol.java       |   407 +
 .../distributed/ConnectProtocolCompatibility.java  |   148 +
 .../kafka/connect/runtime/distributed/Crypto.java  |    70 +
 .../runtime/distributed/DistributedConfig.java     |   726 +
 .../runtime/distributed/DistributedHerder.java     |  3035 +++
 .../connect/runtime/distributed/EagerAssignor.java |   176 +
 .../runtime/distributed/ExtendedAssignment.java    |   284 +
 .../runtime/distributed/ExtendedWorkerState.java   |    48 +
 .../IncrementalCooperativeAssignor.java            |   978 +
 .../IncrementalCooperativeConnectProtocol.java     |   275 +
 .../runtime/distributed/NotAssignedException.java  |    29 +
 .../runtime/distributed/NotLeaderException.java    |    29 +
 .../distributed/RebalanceNeededException.java      |    30 +
 .../distributed/RequestTargetException.java        |    37 +
 .../runtime/distributed/WorkerCoordinator.java     |   660 +
 .../runtime/distributed/WorkerGroupMember.java     |   243 +
 .../distributed/WorkerRebalanceListener.java       |    45 +
 .../runtime/errors/DeadLetterQueueReporter.java    |   217 +
 .../runtime/errors/ErrorHandlingMetrics.java       |   154 +
 .../connect/runtime/errors/ErrorReporter.java      |    38 +
 .../kafka/connect/runtime/errors/LogReporter.java  |   129 +
 .../kafka/connect/runtime/errors/Operation.java    |    28 +
 .../connect/runtime/errors/ProcessingContext.java  |   125 +
 .../runtime/errors/RetryWithToleranceOperator.java |   365 +
 .../apache/kafka/connect/runtime/errors/Stage.java |    69 +
 .../connect/runtime/errors/ToleranceType.java      |    40 +
 .../runtime/errors/WorkerErrantRecordReporter.java |   207 +
 .../runtime/health/ConnectClusterDetailsImpl.java  |    34 +
 .../runtime/health/ConnectClusterStateImpl.java    |   114 +
 .../runtime/isolation/ClassLoaderFactory.java      |    41 +
 .../runtime/isolation/DelegatingClassLoader.java   |   274 +
 .../connect/runtime/isolation/LoaderSwap.java      |    36 +
 .../runtime/isolation/PluginClassLoader.java       |   132 +
 .../isolation/PluginClassLoaderFactory.java        |    29 +
 .../connect/runtime/isolation/PluginDesc.java      |   134 +
 .../runtime/isolation/PluginDiscoveryMode.java     |    65 +
 .../runtime/isolation/PluginScanResult.java        |   146 +
 .../connect/runtime/isolation/PluginScanner.java   |   233 +
 .../connect/runtime/isolation/PluginSource.java    |    80 +
 .../connect/runtime/isolation/PluginType.java      |    60 +
 .../connect/runtime/isolation/PluginUtils.java     |   513 +
 .../kafka/connect/runtime/isolation/Plugins.java   |   693 +
 .../runtime/isolation/PluginsRecommenders.java     |   265 +
 .../runtime/isolation/ReflectionScanner.java       |   166 +
 .../runtime/isolation/ServiceLoaderScanner.java    |    80 +
 .../isolation/VersionedPluginLoadingException.java |    40 +
 .../runtime/rest/ConnectRestConfigurable.java      |   138 +
 .../rest/ConnectRestExtensionContextImpl.java      |    47 +
 .../connect/runtime/rest/ConnectRestServer.java    |    86 +
 .../connect/runtime/rest/HerderRequestHandler.java |   157 +
 .../runtime/rest/InternalRequestSignature.java     |   155 +
 .../kafka/connect/runtime/rest/RestClient.java     |   280 +
 .../connect/runtime/rest/RestRequestTimeout.java   |    45 +
 .../kafka/connect/runtime/rest/RestServer.java     |   585 +
 .../connect/runtime/rest/RestServerConfig.java     |   460 +
 .../runtime/rest/entities/ActiveTopicsInfo.java    |    43 +
 .../connect/runtime/rest/entities/ConfigInfo.java  |    65 +
 .../connect/runtime/rest/entities/ConfigInfos.java |    99 +
 .../runtime/rest/entities/ConfigKeyInfo.java       |   168 +
 .../runtime/rest/entities/ConfigValueInfo.java     |   103 +
 .../runtime/rest/entities/ConnectorInfo.java       |    83 +
 .../runtime/rest/entities/ConnectorOffset.java     |    86 +
 .../runtime/rest/entities/ConnectorOffsets.java    |    95 +
 .../runtime/rest/entities/ConnectorStateInfo.java  |   138 +
 .../runtime/rest/entities/ConnectorType.java       |    52 +
 .../rest/entities/CreateConnectorRequest.java      |   102 +
 .../runtime/rest/entities/ErrorMessage.java        |    62 +
 .../connect/runtime/rest/entities/LoggerLevel.java |    68 +
 .../connect/runtime/rest/entities/Message.java     |    60 +
 .../connect/runtime/rest/entities/PluginInfo.java  |   103 +
 .../connect/runtime/rest/entities/ServerInfo.java  |    56 +
 .../connect/runtime/rest/entities/TaskInfo.java    |    60 +
 .../runtime/rest/entities/WorkerStatus.java        |    99 +
 .../runtime/rest/errors/BadRequestException.java   |    30 +
 .../rest/errors/ConnectExceptionMapper.java        |    78 +
 .../runtime/rest/errors/ConnectRestException.java  |    69 +
 .../rest/resources/ConnectorPluginsResource.java   |   181 +
 .../runtime/rest/resources/ConnectorsResource.java |   408 +
 .../rest/resources/InternalClusterResource.java    |   113 +
 .../rest/resources/InternalConnectResource.java    |    42 +
 .../runtime/rest/resources/LoggingResource.java    |   139 +
 .../runtime/rest/resources/RootResource.java       |    99 +
 .../kafka/connect/runtime/rest/util/SSLUtils.java  |   174 +
 .../runtime/standalone/HealthCheckThread.java      |   136 +
 .../runtime/standalone/StandaloneConfig.java       |    47 +
 .../runtime/standalone/StandaloneHerder.java       |   637 +
 .../connect/storage/AppliedConnectorConfig.java    |    66 +
 .../storage/CloseableOffsetStorageReader.java      |    33 +
 .../kafka/connect/storage/ClusterConfigState.java  |   326 +
 .../kafka/connect/storage/ConfigBackingStore.java  |   186 +
 .../storage/ConnectorOffsetBackingStore.java       |   488 +
 .../connect/storage/FileOffsetBackingStore.java    |   117 +
 .../connect/storage/KafkaConfigBackingStore.java   |  1347 ++
 .../connect/storage/KafkaOffsetBackingStore.java   |   401 +
 .../connect/storage/KafkaStatusBackingStore.java   |   702 +
 .../storage/KafkaTopicBasedBackingStore.java       |    74 +
 .../connect/storage/MemoryConfigBackingStore.java  |   230 +
 .../connect/storage/MemoryOffsetBackingStore.java  |    95 +
 .../connect/storage/MemoryStatusBackingStore.java  |   144 +
 .../kafka/connect/storage/OffsetBackingStore.java  |    81 +
 .../connect/storage/OffsetStorageReaderImpl.java   |   160 +
 .../kafka/connect/storage/OffsetStorageWriter.java |   245 +
 .../apache/kafka/connect/storage/OffsetUtils.java  |   134 +
 .../connect/storage/PrivilegedWriteException.java  |    32 +
 .../kafka/connect/storage/StatusBackingStore.java  |   138 +
 .../apache/kafka/connect/tools/PredicateDoc.java   |    73 +
 .../kafka/connect/tools/TransformationDoc.java     |    92 +
 .../org/apache/kafka/connect/util/Callback.java    |    48 +
 .../connect/util/ConcreteSubClassValidator.java    |    48 +
 .../apache/kafka/connect/util/ConnectUtils.java    |   247 +
 .../apache/kafka/connect/util/ConnectorTaskId.java |    83 +
 .../connect/util/ConvertingFutureCallback.java     |   139 +
 .../apache/kafka/connect/util/FutureCallback.java  |    37 +
 .../connect/util/InstantiableClassValidator.java   |    47 +
 .../apache/kafka/connect/util/KafkaBasedLog.java   |   604 +
 .../apache/kafka/connect/util/LoggingContext.java  |   215 +
 .../org/apache/kafka/connect/util/RetryUtil.java   |   109 +
 .../kafka/connect/util/SafeObjectInputStream.java  |    63 +
 .../kafka/connect/util/SharedTopicAdmin.java       |   145 +
 .../org/apache/kafka/connect/util/SinkUtils.java   |   138 +
 .../java/org/apache/kafka/connect/util/Stage.java  |    83 +
 .../kafka/connect/util/StagedTimeoutException.java |    35 +
 .../java/org/apache/kafka/connect/util/Table.java  |    64 +
 .../apache/kafka/connect/util/TemporaryStage.java  |    37 +
 .../org/apache/kafka/connect/util/TopicAdmin.java  |   770 +
 .../apache/kafka/connect/util/TopicCreation.java   |   145 +
 .../kafka/connect/util/TopicCreationGroup.java     |   154 +
 ...ctor.policy.ConnectorClientConfigOverridePolicy |    18 +
 .../org.apache.kafka.connect.storage.Converter     |    22 +
 ...rg.apache.kafka.connect.storage.HeaderConverter |    22 +
 .../kafka/connect/cli/ConnectStandaloneTest.java   |   129 +
 ...aseConnectorClientConfigOverridePolicyTest.java |    60 +
 ...oneConnectorClientConfigOverridePolicyTest.java |    50 +
 ...palConnectorClientConfigOverridePolicyTest.java |    51 +
 .../connect/converters/BooleanConverterTest.java   |   115 +
 .../connect/converters/ByteArrayConverterTest.java |   122 +
 .../connect/converters/DoubleConverterTest.java    |    43 +
 .../connect/converters/FloatConverterTest.java     |    43 +
 .../connect/converters/IntegerConverterTest.java   |    43 +
 .../connect/converters/LongConverterTest.java      |    43 +
 .../connect/converters/NumberConverterTest.java    |   114 +
 .../connect/converters/ShortConverterTest.java     |    43 +
 .../connect/integration/BlockingConnectorTest.java |   891 +
 .../integration/ConnectWorkerIntegrationTest.java  |  1506 ++
 .../ConnectorClientPolicyIntegrationTest.java      |   159 +
 .../kafka/connect/integration/ConnectorHandle.java |   368 +
 .../ConnectorRestartApiIntegrationTest.java        |   429 +
 .../ConnectorTopicsIntegrationTest.java            |   322 +
 .../ConnectorValidationIntegrationTest.java        |   594 +
 .../integration/ErrantRecordSinkConnector.java     |    81 +
 .../integration/ErrorHandlingIntegrationTest.java  |   343 +
 .../ExactlyOnceSourceIntegrationTest.java          |  1299 ++
 .../integration/ExampleConnectIntegrationTest.java |   242 +
 .../integration/InternalTopicsIntegrationTest.java |   339 +
 .../integration/MonitorableSinkConnector.java      |   167 +
 .../integration/MonitorableSourceConnector.java    |   314 +
 .../integration/OffsetsApiIntegrationTest.java     |  1088 +
 .../RebalanceSourceConnectorsIntegrationTest.java  |   360 +
 .../integration/RestExtensionIntegrationTest.java  |   215 +
 .../integration/RestForwardingIntegrationTest.java |   262 +
 .../kafka/connect/integration/RuntimeHandles.java  |    63 +
 .../SessionedProtocolIntegrationTest.java          |   163 +
 .../integration/SinkConnectorsIntegrationTest.java |   319 +
 .../SourceConnectorsIntegrationTest.java           |   233 +
 .../StandaloneWorkerIntegrationTest.java           |   382 +
 .../connect/integration/StartAndStopCounter.java   |   170 +
 .../integration/StartAndStopCounterTest.java       |   119 +
 .../connect/integration/StartAndStopLatch.java     |   118 +
 .../connect/integration/StartAndStopLatchTest.java |   140 +
 .../kafka/connect/integration/StartsAndStops.java  |    37 +
 .../kafka/connect/integration/TaskHandle.java      |   375 +
 .../integration/TransformationIntegrationTest.java |   319 +
 .../kafka/connect/runtime/AbstractHerderTest.java  |  1307 ++
 .../runtime/AbstractWorkerSourceTaskTest.java      |  1011 +
 .../kafka/connect/runtime/ConnectMetricsTest.java  |   193 +
 .../kafka/connect/runtime/ConnectorConfigTest.java |   518 +
 .../connect/runtime/ErrorHandlingTaskTest.java     |   556 +
 .../runtime/ExactlyOnceWorkerSourceTaskTest.java   |  1300 ++
 .../connect/runtime/InternalSinkRecordTest.java    |    71 +
 .../apache/kafka/connect/runtime/LoggersTest.java  |   184 +
 .../kafka/connect/runtime/MockConnectMetrics.java  |   207 +
 .../kafka/connect/runtime/MockLoggersTest.java     |   268 +
 .../kafka/connect/runtime/RestartPlanTest.java     |    99 +
 .../kafka/connect/runtime/RestartRequestTest.java  |   111 +
 .../runtime/SampleConverterWithHeaders.java        |    88 +
 .../connect/runtime/SampleHeaderConverter.java     |    60 +
 .../kafka/connect/runtime/SamplePredicate.java     |    62 +
 .../kafka/connect/runtime/SampleSinkConnector.java |    67 +
 .../connect/runtime/SampleSourceConnector.java     |    92 +
 .../connect/runtime/SampleTransformation.java      |    62 +
 .../connect/runtime/SourceConnectorConfigTest.java |   162 +
 .../runtime/SourceTaskOffsetCommitterTest.java     |   173 +
 .../kafka/connect/runtime/StateTrackerTest.java    |   104 +
 .../connect/runtime/SubmittedRecordsTest.java      |   382 +
 .../connect/runtime/TransformationConfigTest.java  |   227 +
 .../connect/runtime/TransformationStageTest.java   |    70 +
 .../kafka/connect/runtime/WorkerConfigTest.java    |   110 +
 .../runtime/WorkerConfigTransformerTest.java       |   164 +
 .../kafka/connect/runtime/WorkerConnectorTest.java |   668 +
 .../connect/runtime/WorkerMetricsGroupTest.java    |   190 +
 .../kafka/connect/runtime/WorkerSinkTaskTest.java  |  2015 ++
 .../runtime/WorkerSinkTaskThreadedTest.java        |   736 +
 .../connect/runtime/WorkerSourceTaskTest.java      |  1024 +
 .../kafka/connect/runtime/WorkerTaskTest.java      |   337 +
 .../apache/kafka/connect/runtime/WorkerTest.java   |  3143 +++
 .../kafka/connect/runtime/WorkerTestUtils.java     |   197 +
 .../runtime/WorkerTransactionContextTest.java      |   111 +
 .../ConnectProtocolCompatibilityTest.java          |   233 +
 .../runtime/distributed/DistributedConfigTest.java |   482 +
 .../runtime/distributed/DistributedHerderTest.java |  4425 ++++
 .../IncrementalCooperativeAssignorTest.java        |  1599 ++
 .../SampleConnectorClientConfigOverridePolicy.java |    32 +
 .../WorkerCoordinatorIncrementalTest.java          |   593 +
 .../runtime/distributed/WorkerCoordinatorTest.java |   631 +
 .../runtime/distributed/WorkerGroupMemberTest.java |   123 +
 .../connect/runtime/errors/ErrorReporterTest.java  |   349 +
 .../errors/RetryWithToleranceOperatorTest.java     |   488 +
 .../errors/WorkerErrantRecordReporterTest.java     |   116 +
 .../health/ConnectClusterStateImplTest.java        |   115 +
 .../isolation/DelegatingClassLoaderTest.java       |   122 +
 .../connect/runtime/isolation/PluginDescTest.java  |   345 +
 .../runtime/isolation/PluginScannerTest.java       |   161 +
 .../connect/runtime/isolation/PluginUtilsTest.java |   707 +
 .../connect/runtime/isolation/PluginsTest.java     |   801 +
 .../runtime/isolation/SamplingTestPlugin.java      |   130 +
 .../runtime/isolation/SynchronizationTest.java     |   479 +
 .../connect/runtime/isolation/TestPlugins.java     |   502 +
 .../runtime/rest/ConnectRestServerTest.java        |   436 +
 .../runtime/rest/InternalRequestSignatureTest.java |   156 +
 .../kafka/connect/runtime/rest/RestClientTest.java |   360 +
 .../connect/runtime/rest/RestServerConfigTest.java |   167 +
 .../rest/entities/ConnectorOffsetsTest.java        |    52 +
 .../runtime/rest/entities/ConnectorTypeTest.java   |    44 +
 .../rest/entities/CreateConnectorRequestTest.java  |    54 +
 .../runtime/rest/entities/PluginInfoTest.java      |    38 +
 .../resources/ConnectorPluginsResourceTest.java    |   516 +
 .../rest/resources/ConnectorsResourceTest.java     |   975 +
 .../resources/InternalConnectResourceTest.java     |   237 +
 .../rest/resources/LoggingResourceTest.java        |   170 +
 .../runtime/rest/resources/RootResourceTest.java   |   172 +
 .../connect/runtime/rest/util/SSLUtilsTest.java    |   189 +
 .../runtime/standalone/StandaloneConfigTest.java   |    89 +
 .../runtime/standalone/StandaloneHerderTest.java   |  1280 +
 .../storage/ConnectorOffsetBackingStoreTest.java   |   460 +
 .../storage/FileOffsetBackingStoreTest.java        |   205 +
 .../storage/KafkaConfigBackingStoreTest.java       |  1741 ++
 .../storage/KafkaOffsetBackingStoreTest.java       |   569 +
 .../storage/KafkaStatusBackingStoreFormatTest.java |   283 +
 .../storage/KafkaStatusBackingStoreTest.java       |   448 +
 .../storage/MemoryConfigBackingStoreTest.java      |   205 +
 .../storage/MemoryStatusBackingStoreTest.java      |    67 +
 .../connect/storage/OffsetStorageWriterTest.java   |   243 +
 .../kafka/connect/storage/OffsetUtilsTest.java     |   150 +
 .../kafka/connect/test/util/ConcurrencyUtils.java  |    52 +
 .../kafka/connect/test/util/MockitoUtils.java      |    69 +
 .../kafka/connect/util/ConnectUtilsTest.java       |   196 +
 .../connect/util/ConvertingFutureCallbackTest.java |   238 +
 .../kafka/connect/util/KafkaBasedLogTest.java      |   562 +
 .../kafka/connect/util/LoggingContextTest.java     |   209 +
 .../apache/kafka/connect/util/RetryUtilTest.java   |   192 +
 .../kafka/connect/util/SharedTopicAdminTest.java   |   118 +
 .../apache/kafka/connect/util/SinkUtilsTest.java   |   190 +
 .../org/apache/kafka/connect/util/TableTest.java   |    48 +
 .../org/apache/kafka/connect/util/TestFuture.java  |    99 +
 .../apache/kafka/connect/util/TopicAdminTest.java  |   967 +
 .../kafka/connect/util/TopicCreationTest.java      |   637 +
 .../connect/util/clusters/ConnectAssertions.java   |   641 +
 .../connect/util/clusters/EmbeddedConnect.java     |  1042 +
 .../util/clusters/EmbeddedConnectBuilder.java      |    84 +
 .../util/clusters/EmbeddedConnectCluster.java      |   225 +
 .../util/clusters/EmbeddedConnectStandalone.java   |   188 +
 .../util/clusters/EmbeddedKafkaCluster.java        |   698 +
 .../util/clusters/UngracefulShutdownException.java |    38 +
 .../kafka/connect/util/clusters/WorkerHandle.java  |   128 +
 ....apache.kafka.connect.rest.ConnectRestExtension |    16 +
 .../org.apache.kafka.connect.sink.SinkConnector    |    21 +
 ...org.apache.kafka.connect.source.SourceConnector |    25 +
 .../org.apache.kafka.connect.storage.Converter     |    22 +
 ...rg.apache.kafka.connect.storage.HeaderConverter |    22 +
 ....apache.kafka.connect.transforms.Transformation |    23 +
 ...e.kafka.connect.transforms.predicates.Predicate |    17 +
 connect/runtime/src/test/resources/log4j2.yaml     |    48 +
 .../org.apache.kafka.connect.storage.Converter     |    16 +
 .../test/plugins/AliasedStaticField.java           |    77 +
 .../org.apache.kafka.connect.storage.Converter     |    16 +
 .../test/plugins/AlwaysThrowException.java         |    54 +
 ...ctor.policy.ConnectorClientConfigOverridePolicy |    16 +
 ....apache.kafka.connect.rest.ConnectRestExtension |    16 +
 .../org.apache.kafka.connect.sink.SinkConnector    |    22 +
 .../org.apache.kafka.connect.storage.Converter     |    20 +
 ...rg.apache.kafka.connect.storage.HeaderConverter |    17 +
 .../test/plugins/CoLocatedPlugin.java              |    46 +
 .../DefaultConstructorPrivateConnector.java        |    67 +
 .../plugins/DefaultConstructorThrowsConnector.java |    68 +
 .../plugins/DefaultConstructorThrowsConverter.java |    77 +
 .../test/plugins/InnocuousSinkConnector.java       |    85 +
 .../test/plugins/MissingSuperclassConverter.java   |    46 +
 .../plugins/NoDefaultConstructorConnector.java     |    67 +
 .../plugins/NoDefaultConstructorConverter.java     |    76 +
 .../NoDefaultConstructorOverridePolicy.java        |    53 +
 .../test/plugins/NonExistentInterface.java         |    24 +
 .../bad-packaging/test/plugins/OuterClass.java     |    66 +
 .../plugins/StaticInitializerThrowsConnector.java  |    71 +
 .../StaticInitializerThrowsRestExtension.java      |    64 +
 .../test/plugins/VersionMethodThrowsConnector.java |    63 +
 .../org.apache.kafka.connect.storage.Converter     |    17 +
 .../connect/converters/ByteArrayConverter.java     |    96 +
 .../org.apache.kafka.connect.storage.Converter     |    17 +
 .../test/plugins/ThingOne.java                     |    46 +
 .../test/plugins/ThingTwo.java                     |    47 +
 ...ctor.policy.ConnectorClientConfigOverridePolicy |    16 +
 .../test/plugins/NonMigratedConverter.java         |    46 +
 .../test/plugins/NonMigratedHeaderConverter.java   |    57 +
 .../test/plugins/NonMigratedMultiPlugin.java       |    96 +
 .../test/plugins/NonMigratedPredicate.java         |    51 +
 .../test/plugins/NonMigratedSinkConnector.java     |    61 +
 .../test/plugins/NonMigratedSourceConnector.java   |    61 +
 .../test/plugins/NonMigratedTransformation.java    |    50 +
 .../org.apache.kafka.connect.storage.Converter     |    16 +
 .../test/plugins/ReadVersionFromResource.java      |    91 +
 .../read-version-from-resource-v1/version          |    16 +
 .../org.apache.kafka.connect.storage.Converter     |    16 +
 .../test/plugins/ReadVersionFromResource.java      |    91 +
 .../read-version-from-resource-v2/version          |    16 +
 ...che.kafka.common.config.provider.ConfigProvider |    16 +
 .../test/plugins/SamplingConfigProvider.java       |   120 +
 .../org.apache.kafka.connect.storage.Converter     |    16 +
 .../test/plugins/SamplingConfigurable.java         |    97 +
 .../org.apache.kafka.connect.sink.SinkConnector    |    16 +
 .../test/plugins/SamplingConnector.java            |   112 +
 .../org.apache.kafka.connect.storage.Converter     |    16 +
 .../test/plugins/SamplingConverter.java            |    94 +
 ...rg.apache.kafka.connect.storage.HeaderConverter |    16 +
 .../test/plugins/SamplingHeaderConverter.java      |   107 +
 .../org.apache.kafka.connect.storage.Converter     |    16 +
 .../services/test.plugins.ServiceLoadedClass       |    16 +
 .../test/plugins/ServiceLoadedClass.java           |    48 +
 .../test/plugins/ServiceLoadedSubclass.java        |    46 +
 .../test/plugins/ServiceLoaderPlugin.java          |    87 +
 ...ctor.policy.ConnectorClientConfigOverridePolicy |    16 +
 .../org.apache.kafka.connect.storage.Converter     |    16 +
 .../test/plugins/SubclassOfClasspathConverter.java |    28 +
 .../plugins/SubclassOfClasspathOverridePolicy.java |    29 +
 .../apache/kafka/connect/tools/MockConnector.java  |   116 +
 .../kafka/connect/tools/MockSinkConnector.java     |    84 +
 .../apache/kafka/connect/tools/MockSinkTask.java   |    85 +
 .../kafka/connect/tools/MockSourceConnector.java   |    84 +
 .../apache/kafka/connect/tools/MockSourceTask.java |    77 +
 .../kafka/connect/tools/SchemaSourceConnector.java |    71 +
 .../kafka/connect/tools/SchemaSourceTask.java      |   172 +
 .../connect/tools/VerifiableSinkConnector.java     |    70 +
 .../kafka/connect/tools/VerifiableSinkTask.java    |   118 +
 .../connect/tools/VerifiableSourceConnector.java   |    70 +
 .../kafka/connect/tools/VerifiableSourceTask.java  |   173 +
 .../apache/kafka/connect/tools/package-info.java   |    20 +
 .../org.apache.kafka.connect.sink.SinkConnector    |    17 +
 ...org.apache.kafka.connect.source.SourceConnector |    18 +
 .../org/apache/kafka/connect/transforms/Cast.java  |   496 +
 .../kafka/connect/transforms/DropHeaders.java      |    81 +
 .../kafka/connect/transforms/ExtractField.java     |   147 +
 .../apache/kafka/connect/transforms/Filter.java    |    63 +
 .../apache/kafka/connect/transforms/Flatten.java   |   300 +
 .../kafka/connect/transforms/HeaderFrom.java       |   257 +
 .../kafka/connect/transforms/HoistField.java       |   135 +
 .../kafka/connect/transforms/InsertField.java      |   296 +
 .../kafka/connect/transforms/InsertHeader.java     |    84 +
 .../apache/kafka/connect/transforms/MaskField.java |   228 +
 .../kafka/connect/transforms/RegexRouter.java      |    89 +
 .../kafka/connect/transforms/ReplaceField.java     |   247 +
 .../connect/transforms/SetSchemaMetadata.java      |   192 +
 .../connect/transforms/TimestampConverter.java     |   517 +
 .../kafka/connect/transforms/TimestampRouter.java  |   106 +
 .../kafka/connect/transforms/ValueToKey.java       |   127 +
 .../transforms/field/FieldSyntaxVersion.java       |    90 +
 .../connect/transforms/field/SingleFieldPath.java  |   248 +
 .../transforms/predicates/HasHeaderKey.java        |    74 +
 .../transforms/predicates/RecordIsTombstone.java   |    64 +
 .../transforms/predicates/TopicNameMatches.java    |    87 +
 .../transforms/util/NonEmptyListValidator.java     |    38 +
 .../connect/transforms/util/RegexValidator.java    |    40 +
 .../connect/transforms/util/Requirements.java      |    75 +
 .../kafka/connect/transforms/util/SchemaUtil.java  |    49 +
 .../connect/transforms/util/SimpleConfig.java      |    33 +
 ....apache.kafka.connect.transforms.Transformation |    41 +
 ...e.kafka.connect.transforms.predicates.Predicate |    18 +
 .../apache/kafka/connect/transforms/CastTest.java  |   613 +
 .../kafka/connect/transforms/DropHeadersTest.java  |   122 +
 .../kafka/connect/transforms/ExtractFieldTest.java |   252 +
 .../kafka/connect/transforms/FlattenTest.java      |   401 +
 .../kafka/connect/transforms/HeaderFromTest.java   |   390 +
 .../kafka/connect/transforms/HoistFieldTest.java   |    87 +
 .../kafka/connect/transforms/InsertFieldTest.java  |   255 +
 .../kafka/connect/transforms/InsertHeaderTest.java |   126 +
 .../kafka/connect/transforms/MaskFieldTest.java    |   280 +
 .../kafka/connect/transforms/RegexRouterTest.java  |    78 +
 .../kafka/connect/transforms/ReplaceFieldTest.java |   201 +
 .../connect/transforms/SetSchemaMetadataTest.java  |   220 +
 .../connect/transforms/TimestampConverterTest.java |   740 +
 .../connect/transforms/TimestampRouterTest.java    |    60 +
 .../kafka/connect/transforms/ValueToKeyTest.java   |   147 +
 .../transforms/field/FieldPathNotationTest.java    |   161 +
 .../transforms/field/FieldSyntaxVersionTest.java   |    72 +
 .../transforms/field/SingleFieldPathTest.java      |   118 +
 .../transforms/predicates/HasHeaderKeyTest.java    |   124 +
 .../predicates/TopicNameMatchesTest.java           |    94 +
 .../transforms/util/NonEmptyListValidatorTest.java |    44 +
 .../common/runtime/CoordinatorEvent.java           |    43 +
 .../common/runtime/CoordinatorEventProcessor.java  |    41 +
 .../common/runtime/CoordinatorExecutor.java        |    84 +
 .../common/runtime/CoordinatorExecutorImpl.java    |   136 +
 .../common/runtime/CoordinatorLoader.java          |    48 +
 .../common/runtime/CoordinatorMetrics.java         |    81 +
 .../common/runtime/CoordinatorMetricsShard.java    |    55 +
 .../CoordinatorOperationExceptionHelper.java       |    83 +
 .../common/runtime/CoordinatorPlayback.java        |    73 +
 .../common/runtime/CoordinatorRecord.java          |   114 +
 .../common/runtime/CoordinatorRecordSerde.java     |   126 +
 .../common/runtime/CoordinatorResult.java          |   217 +
 .../common/runtime/CoordinatorRuntime.java         |  2545 ++
 .../common/runtime/CoordinatorRuntimeMetrics.java  |    82 +
 .../runtime/CoordinatorRuntimeMetricsImpl.java     |   311 +
 .../common/runtime/CoordinatorShard.java           |    80 +
 .../common/runtime/CoordinatorShardBuilder.java    |   115 +
 .../runtime/CoordinatorShardBuilderSupplier.java   |    30 +
 .../common/runtime/CoordinatorTimer.java           |    87 +
 .../coordinator/common/runtime/Deserializer.java   |    71 +
 .../common/runtime/EventAccumulator.java           |   283 +
 .../coordinator/common/runtime/HdrHistogram.java   |   138 +
 .../common/runtime/KafkaMetricHistogram.java       |   130 +
 .../runtime/MultiThreadedEventProcessor.java       |   248 +
 .../common/runtime/PartitionWriter.java            |   121 +
 .../coordinator/common/runtime/Serializer.java     |    34 +
 .../common/runtime/SnapshottableCoordinator.java   |   236 +
 .../runtime/CoordinatorExecutorImplTest.java       |   317 +
 .../common/runtime/CoordinatorRecordTest.java      |    60 +
 .../common/runtime/CoordinatorResultTest.java      |    45 +
 .../runtime/CoordinatorRuntimeMetricsImplTest.java |   232 +
 .../common/runtime/CoordinatorRuntimeTest.java     |  4974 ++++
 .../common/runtime/EventAccumulatorTest.java       |   269 +
 .../common/runtime/HdrHistogramTest.java           |   225 +
 .../common/runtime/InMemoryPartitionWriter.java    |   177 +
 .../common/runtime/KafkaMetricHistogramTest.java   |    55 +
 .../common/runtime/MockCoordinatorExecutor.java    |   127 +
 .../common/runtime/MockCoordinatorTimer.java       |   197 +
 .../runtime/MultiThreadedEventProcessorTest.java   |   520 +
 .../runtime/SnapshottableCoordinatorTest.java      |   146 +
 .../kafka/coordinator/common/runtime/TestUtil.java |    70 +
 core/.gitignore                                    |     3 +
 .../java/kafka/log/remote/RemoteLogManager.java    |  2251 ++
 .../kafka/log/remote/RemoteLogOffsetReader.java    |    77 +
 .../java/kafka/log/remote/RemoteLogReader.java     |    82 +
 .../kafka/server/ClientRequestQuotaManager.java    |   107 +
 .../server/MetadataVersionConfigValidator.java     |    69 +
 core/src/main/java/kafka/server/NetworkUtils.java  |    91 +
 core/src/main/java/kafka/server/QuotaFactory.java  |   159 +
 core/src/main/java/kafka/server/ReplicaQuota.java  |    25 +
 .../java/kafka/server/ReplicationQuotaManager.java |   154 +
 .../main/java/kafka/server/TierStateMachine.java   |   275 +
 .../kafka/server/builders/KafkaApisBuilder.java    |   225 +
 .../kafka/server/builders/LogManagerBuilder.java   |   186 +
 .../server/builders/ReplicaManagerBuilder.java     |   139 +
 .../DescribeTopicPartitionsRequestHandler.java     |   137 +
 .../kafka/server/logger/RuntimeLoggerManager.java  |   152 +
 .../java/kafka/server/share/DelayedShareFetch.java |   452 +
 .../ShareCoordinatorMetadataCacheHelperImpl.java   |   117 +
 .../java/kafka/server/share/ShareFetchUtils.java   |   190 +
 .../java/kafka/server/share/SharePartition.java    |  2692 +++
 .../kafka/server/share/SharePartitionManager.java  |   887 +
 core/src/main/scala/kafka/Kafka.scala              |   114 +
 core/src/main/scala/kafka/MetadataLogConfig.scala  |    48 +
 .../src/main/scala/kafka/admin/ConfigCommand.scala |   691 +
 core/src/main/scala/kafka/cluster/Broker.scala     |    87 +
 core/src/main/scala/kafka/cluster/EndPoint.scala   |    59 +
 core/src/main/scala/kafka/cluster/Partition.scala  |  1975 ++
 core/src/main/scala/kafka/cluster/Replica.scala    |   208 +
 .../BrokerEndPointNotAvailableException.scala      |    22 +
 .../scala/kafka/controller/StateChangeLogger.scala |    45 +
 .../coordinator/group/CoordinatorLoaderImpl.scala  |   253 +
 .../group/CoordinatorPartitionWriter.scala         |   189 +
 .../kafka/coordinator/group/DelayedHeartbeat.scala |    36 +
 .../kafka/coordinator/group/DelayedJoin.scala      |    94 +
 .../kafka/coordinator/group/DelayedRebalance.scala |    33 +
 .../kafka/coordinator/group/DelayedSync.scala      |    48 +
 .../kafka/coordinator/group/GroupCoordinator.scala |  1872 ++
 .../group/GroupCoordinatorAdapter.scala            |   673 +
 .../kafka/coordinator/group/GroupMetadata.scala    |   857 +
 .../coordinator/group/GroupMetadataManager.scala   |  1293 ++
 .../kafka/coordinator/group/MemberMetadata.scala   |   153 +
 .../transaction/TransactionCoordinator.scala       |  1075 +
 .../coordinator/transaction/TransactionLog.scala   |   160 +
 .../TransactionMarkerChannelManager.scala          |   486 +
 ...TransactionMarkerRequestCompletionHandler.scala |   204 +
 .../transaction/TransactionMetadata.scala          |   653 +
 .../transaction/TransactionStateManager.scala      |   846 +
 .../scala/kafka/docker/KafkaDockerWrapper.scala    |   259 +
 core/src/main/scala/kafka/log/LogCleaner.scala     |  1339 ++
 .../main/scala/kafka/log/LogCleanerManager.scala   |   686 +
 core/src/main/scala/kafka/log/LogManager.scala     |  1611 ++
 core/src/main/scala/kafka/log/UnifiedLog.scala     |  2144 ++
 core/src/main/scala/kafka/log/package.html         |    24 +
 .../kafka/metrics/KafkaCSVMetricsReporter.scala    |    88 +
 .../scala/kafka/metrics/KafkaMetricsConfig.scala   |    44 +
 .../scala/kafka/metrics/KafkaMetricsReporter.scala |    80 +
 .../main/scala/kafka/network/RequestChannel.scala  |   504 +
 .../main/scala/kafka/network/SocketServer.scala    |  1722 ++
 core/src/main/scala/kafka/network/package.html     |    29 +
 .../kafka/raft/DefaultExternalKRaftMetrics.scala   |    33 +
 .../main/scala/kafka/raft/KafkaMetadataLog.scala   |   743 +
 core/src/main/scala/kafka/raft/RaftManager.scala   |   301 +
 .../kafka/server/AbstractFetcherManager.scala      |   269 +
 .../scala/kafka/server/AbstractFetcherThread.scala |   990 +
 core/src/main/scala/kafka/server/AclApis.scala     |   167 +
 .../kafka/server/AddPartitionsToTxnManager.scala   |   314 +
 .../scala/kafka/server/AlterPartitionManager.scala |   347 +
 .../scala/kafka/server/ApiVersionManager.scala     |   175 +
 core/src/main/scala/kafka/server/AuthHelper.scala  |   175 +
 .../kafka/server/AutoTopicCreationManager.scala    |   240 +
 .../scala/kafka/server/BrokerBlockingSender.scala  |   134 +
 .../kafka/server/BrokerLifecycleManager.scala      |   637 +
 .../src/main/scala/kafka/server/BrokerServer.scala |   859 +
 .../scala/kafka/server/ClientQuotaManager.scala    |   653 +
 .../scala/kafka/server/ConfigAdminManager.scala    |   454 +
 .../main/scala/kafka/server/ConfigHandler.scala    |   186 +
 .../src/main/scala/kafka/server/ConfigHelper.scala |   311 +
 .../main/scala/kafka/server/ControllerApis.scala   |  1106 +
 .../server/ControllerConfigurationValidator.scala  |   146 +
 .../server/ControllerMutationQuotaManager.scala    |   282 +
 .../server/ControllerRegistrationManager.scala     |   285 +
 .../main/scala/kafka/server/ControllerServer.scala |   484 +
 .../scala/kafka/server/DelayedDeleteRecords.scala  |   134 +
 .../scala/kafka/server/DelayedElectLeader.scala    |    85 +
 .../src/main/scala/kafka/server/DelayedFetch.scala |   195 +
 .../main/scala/kafka/server/DelayedFuture.scala    |   107 +
 .../main/scala/kafka/server/DelayedProduce.scala   |   156 +
 .../scala/kafka/server/DelayedRemoteFetch.scala    |   133 +
 .../kafka/server/DelayedRemoteListOffsets.scala    |   167 +
 .../kafka/server/DelegationTokenManager.scala      |   143 +
 .../scala/kafka/server/DynamicBrokerConfig.scala   |  1094 +
 .../main/scala/kafka/server/DynamicConfig.scala    |   123 +
 .../main/scala/kafka/server/EnvelopeUtils.scala    |   142 +
 .../src/main/scala/kafka/server/FetchSession.scala |   909 +
 .../scala/kafka/server/ForwardingManager.scala     |   206 +
 .../kafka/server/ForwardingManagerMetrics.scala    |   100 +
 core/src/main/scala/kafka/server/KafkaApis.scala   |  3501 +++
 core/src/main/scala/kafka/server/KafkaBroker.scala |   123 +
 core/src/main/scala/kafka/server/KafkaConfig.scala |   818 +
 .../main/scala/kafka/server/KafkaRaftServer.scala  |   195 +
 .../scala/kafka/server/KafkaRequestHandler.scala   |   245 +
 .../main/scala/kafka/server/LeaderEndPoint.scala   |   117 +
 .../kafka/server/ListOffsetsPartitionStatus.scala  |    48 +
 .../scala/kafka/server/LocalLeaderEndPoint.scala   |   249 +
 .../main/scala/kafka/server/MetadataCache.scala    |   147 +
 .../server/NodeToControllerChannelManager.scala    |   341 +
 .../scala/kafka/server/RemoteLeaderEndPoint.scala  |   233 +
 .../kafka/server/ReplicaAlterLogDirsManager.scala  |    63 +
 .../kafka/server/ReplicaAlterLogDirsThread.scala   |   245 +
 .../scala/kafka/server/ReplicaFetcherManager.scala |    58 +
 .../scala/kafka/server/ReplicaFetcherThread.scala  |   193 +
 .../main/scala/kafka/server/ReplicaManager.scala   |  2860 +++
 .../scala/kafka/server/RequestHandlerHelper.scala  |   160 +
 core/src/main/scala/kafka/server/Server.scala      |    81 +
 .../src/main/scala/kafka/server/SharedServer.scala |   396 +
 .../scala/kafka/server/metadata/AclPublisher.scala |   102 +
 .../server/metadata/BrokerMetadataPublisher.scala  |   360 +
 .../metadata/ClientQuotaMetadataManager.scala      |   171 +
 .../server/metadata/DelegationTokenPublisher.scala |    83 +
 .../metadata/DynamicClientQuotaPublisher.scala     |    59 +
 .../server/metadata/DynamicConfigPublisher.scala   |   142 +
 .../kafka/server/metadata/KRaftMetadataCache.scala |   530 +
 .../metadata/KRaftMetadataCachePublisher.scala     |    38 +
 .../kafka/server/metadata/ScramPublisher.scala     |    71 +
 core/src/main/scala/kafka/server/package.html      |    19 +
 .../main/scala/kafka/tools/DumpLogSegments.scala   |   674 +
 core/src/main/scala/kafka/tools/StorageTool.scala  |   495 +
 core/src/main/scala/kafka/tools/TerseFailure.scala |    30 +
 .../scala/kafka/tools/TestRaftRequestHandler.scala |   114 +
 .../main/scala/kafka/tools/TestRaftServer.scala    |   496 +
 core/src/main/scala/kafka/utils/Annotations.scala  |    38 +
 core/src/main/scala/kafka/utils/CoreUtils.scala    |   247 +
 core/src/main/scala/kafka/utils/Implicits.scala    |    48 +
 .../main/scala/kafka/utils/Log4jController.scala   |   134 +
 core/src/main/scala/kafka/utils/Logging.scala      |    83 +
 core/src/main/scala/kafka/utils/Mx4jLoader.scala   |    71 +
 core/src/main/scala/kafka/utils/Pool.scala         |    99 +
 .../scala/kafka/utils/VerifiableProperties.scala   |   215 +
 .../main/scala/kafka/utils/json/DecodeJson.scala   |   109 +
 .../main/scala/kafka/utils/json/JsonArray.scala    |    27 +
 .../main/scala/kafka/utils/json/JsonObject.scala   |    42 +
 .../main/scala/kafka/utils/json/JsonValue.scala    |   116 +
 .../java/kafka/admin/AdminFenceProducersTest.java  |   140 +
 .../test/java/kafka/admin/ClientTelemetryTest.java |   195 +
 .../kafka/admin/ConfigCommandIntegrationTest.java  |   629 +
 .../test/java/kafka/admin/ConfigCommandTest.java   |  1476 ++
 .../src/test/java/kafka/admin/DeleteTopicTest.java |   383 +
 .../admin/UserScramCredentialsCommandTest.java     |   183 +
 .../clients/consumer/ConsumerIntegrationTest.java  |   241 +
 .../kafka/log/remote/RemoteLogManagerTest.java     |  3791 +++
 .../log/remote/RemoteLogOffsetReaderTest.java      |   198 +
 .../java/kafka/log/remote/RemoteLogReaderTest.java |   132 +
 core/src/test/java/kafka/security/JaasModule.java  |   128 +
 .../test/java/kafka/security/JaasTestUtils.java    |   359 +
 .../test/java/kafka/security/minikdc/MiniKdc.java  |   505 +
 .../java/kafka/security/minikdc/MiniKdcTest.java   |    51 +
 .../BootstrapControllersIntegrationTest.java       |   345 +
 .../kafka/server/LogManagerIntegrationTest.java    |   128 +
 .../server/MetadataVersionConfigValidatorTest.java |   103 +
 .../ReconfigurableQuorumIntegrationTest.java       |   168 +
 .../DescribeTopicPartitionsRequestHandlerTest.java |   551 +
 .../EligibleLeaderReplicasIntegrationTest.java     |   446 +
 .../server/logger/RuntimeLoggerManagerTest.java    |   100 +
 .../kafka/server/share/DelayedShareFetchTest.java  |  1125 +
 ...hareCoordinatorMetadataCacheHelperImplTest.java |   459 +
 .../kafka/server/share/ShareFetchUtilsTest.java    |   452 +
 .../server/share/SharePartitionManagerTest.java    |  3061 +++
 .../kafka/server/share/SharePartitionTest.java     |  7011 ++++++
 .../java/kafka/test/api/ShareConsumerTest.java     |  2383 ++
 core/src/test/resources/log4j2.yaml                |    38 +
 core/src/test/resources/minikdc-krb5.conf          |    27 +
 core/src/test/resources/minikdc.ldiff              |    47 +
 .../kafka/admin/ListOffsetsIntegrationTest.scala   |   288 +
 .../kafka/admin/RemoteTopicCrudTest.scala          |   603 +
 .../api/AbstractAuthorizerIntegrationTest.scala    |   128 +
 .../kafka/api/AbstractConsumerTest.scala           |   574 +
 .../integration/kafka/api/AbstractSaslTest.scala   |    22 +
 .../kafka/api/AdminClientRebootstrapTest.scala     |    51 +
 .../AdminClientWithPoliciesIntegrationTest.scala   |   252 +
 .../kafka/api/AuthorizerIntegrationTest.scala      |  2694 +++
 .../kafka/api/BaseAdminIntegrationTest.scala       |   269 +
 .../integration/kafka/api/BaseConsumerTest.scala   |   170 +
 .../kafka/api/BaseProducerSendTest.scala           |   569 +
 .../integration/kafka/api/BaseQuotaTest.scala      |   401 +
 .../integration/kafka/api/ClientIdQuotaTest.scala  |    77 +
 .../integration/kafka/api/ConsumerBounceTest.scala |   582 +
 .../kafka/api/ConsumerRebootstrapTest.scala        |   146 +
 .../kafka/api/ConsumerTopicCreationTest.scala      |   108 +
 ...merWithLegacyMessageFormatIntegrationTest.scala |   124 +
 .../kafka/api/CustomQuotaCallbackTest.scala        |   472 +
 .../DelegationTokenEndToEndAuthorizationTest.scala |   167 +
 ...onTokenEndToEndAuthorizationWithOwnerTest.scala |   137 +
 .../api/DescribeAuthorizedOperationsTest.scala     |   211 +
 .../kafka/api/EndToEndAuthorizationTest.scala      |   565 +
 .../kafka/api/EndToEndClusterIdTest.scala          |   218 +
 .../integration/kafka/api/FixedPortTestUtils.scala |    50 +
 .../kafka/api/GroupAuthorizerIntegrationTest.scala |   238 +
 .../api/GroupCoordinatorIntegrationTest.scala      |   343 +
 .../kafka/api/GroupEndToEndAuthorizationTest.scala |    47 +
 .../kafka/api/IntegrationTestHarness.scala         |   257 +
 .../integration/kafka/api/LogAppendTimeTest.scala  |    80 +
 .../scala/integration/kafka/api/MetricsTest.scala  |   327 +
 .../kafka/api/PlaintextAdminIntegrationTest.scala  |  4137 ++++
 .../kafka/api/PlaintextConsumerAssignTest.scala    |   207 +
 .../kafka/api/PlaintextConsumerAssignorsTest.scala |   395 +
 .../kafka/api/PlaintextConsumerCallbackTest.scala  |   176 +
 .../kafka/api/PlaintextConsumerCommitTest.scala    |   371 +
 .../kafka/api/PlaintextConsumerFetchTest.scala     |   283 +
 .../kafka/api/PlaintextConsumerPollTest.scala      |   307 +
 .../api/PlaintextConsumerSubscriptionTest.scala    |   423 +
 .../kafka/api/PlaintextConsumerTest.scala          |   876 +
 .../api/PlaintextEndToEndAuthorizationTest.scala   |   102 +
 .../kafka/api/PlaintextProducerSendTest.scala      |   288 +
 .../kafka/api/ProducerCompressionTest.scala        |   167 +
 .../kafka/api/ProducerFailureHandlingTest.scala    |   261 +
 .../kafka/api/ProducerIdExpirationTest.scala       |   254 +
 .../kafka/api/ProducerRebootstrapTest.scala        |    56 +
 .../kafka/api/ProducerSendWhileDeletionTest.scala  |    88 +
 .../kafka/api/RackAwareAutoTopicCreationTest.scala |    91 +
 .../integration/kafka/api/RebootstrapTest.scala    |    69 +
 .../SaslClientsWithInvalidCredentialsTest.scala    |   229 +
 .../kafka/api/SaslEndToEndAuthorizationTest.scala  |    90 +
 .../SaslGssapiSslEndToEndAuthorizationTest.scala   |    44 +
 .../kafka/api/SaslMultiMechanismConsumerTest.scala |    96 +
 ...slOAuthBearerSslEndToEndAuthorizationTest.scala |    27 +
 .../kafka/api/SaslPlainPlaintextConsumerTest.scala |    46 +
 .../kafka/api/SaslPlaintextConsumerTest.scala      |    35 +
 .../SaslScramSslEndToEndAuthorizationTest.scala    |    79 +
 .../scala/integration/kafka/api/SaslSetup.scala    |   174 +
 .../kafka/api/SaslSslAdminIntegrationTest.scala    |   754 +
 .../kafka/api/SaslSslConsumerTest.scala            |    37 +
 .../kafka/api/SslAdminIntegrationTest.scala        |   372 +
 .../integration/kafka/api/SslConsumerTest.scala    |    23 +
 .../kafka/api/SslEndToEndAuthorizationTest.scala   |    96 +
 .../kafka/api/SslProducerSendTest.scala            |    27 +
 .../kafka/api/TransactionsBounceTest.scala         |   207 +
 .../kafka/api/TransactionsExpirationTest.scala     |   247 +
 .../integration/kafka/api/TransactionsTest.scala   |  1016 +
 .../api/TransactionsWithMaxInFlightOneTest.scala   |   136 +
 .../kafka/api/UserClientIdQuotaTest.scala          |    84 +
 .../integration/kafka/api/UserQuotaTest.scala      |    82 +
 .../transaction/ProducerIntegrationTest.scala      |   221 +
 .../kafka/network/DynamicConnectionQuotaTest.scala |   424 +
 .../network/DynamicNumNetworkThreadsTest.scala     |   115 +
 .../kafka/server/DelayedFetchTest.scala            |   271 +
 .../kafka/server/DelayedFutureTest.scala           |    96 +
 .../kafka/server/DelayedRemoteFetchTest.scala      |   249 +
 .../server/DelayedRemoteListOffsetsTest.scala      |   257 +
 .../server/DynamicBrokerReconfigurationTest.scala  |  1579 ++
 .../server/FetchFromFollowerIntegrationTest.scala  |   293 +
 .../kafka/server/GssapiAuthenticationTest.scala    |   321 +
 .../kafka/server/IntegrationTestUtils.scala        |   106 +
 .../kafka/server/KRaftClusterTest.scala            |  1750 ++
 .../server/MetadataVersionIntegrationTest.scala    |    90 +
 ...pleListenersWithAdditionalJaasContextTest.scala |    46 +
 ...ltipleListenersWithDefaultJaasContextTest.scala |    31 +
 ...ListenersWithSameSecurityProtocolBaseTest.scala |   211 +
 .../kafka/server/QuorumTestHarness.scala           |   438 +
 .../kafka/server/RaftClusterSnapshotTest.scala     |   103 +
 .../raft/DefaultExternalKRaftMetricsTest.scala     |    57 +
 .../scala/kafka/raft/KafkaMetadataLogTest.scala    |  1065 +
 .../kafka/server/KafkaRequestHandlerTest.scala     |   702 +
 .../kafka/server/LocalLeaderEndPointTest.scala     |   290 +
 .../server/NodeToControllerRequestThreadTest.scala |   475 +
 .../kafka/server/RemoteLeaderEndPointTest.scala    |   147 +
 .../metadata/ClientQuotaMetadataManagerTest.scala  |    36 +
 .../scala/kafka/tools/LogCompactionTester.scala    |   349 +
 core/src/test/scala/kafka/utils/LoggingTest.scala  |    88 +
 .../src/test/scala/kafka/utils/TestInfoUtils.scala |    65 +
 .../test/scala/unit/kafka/KafkaConfigTest.scala    |   319 +
 .../scala/unit/kafka/admin/AddPartitionsTest.scala |   228 +
 .../unit/kafka/admin/AdminRackAwareTest.scala      |   251 +
 .../scala/unit/kafka/admin/RackAwareTest.scala     |    94 +
 .../unit/kafka/cluster/AbstractPartitionTest.scala |   180 +
 .../unit/kafka/cluster/AssignmentStateTest.scala   |   122 +
 .../unit/kafka/cluster/PartitionLockTest.scala     |   462 +
 .../scala/unit/kafka/cluster/PartitionTest.scala   |  4059 ++++
 .../scala/unit/kafka/cluster/ReplicaTest.scala     |   349 +
 .../AbstractCoordinatorConcurrencyTest.scala       |   302 +
 .../group/CoordinatorLoaderImplTest.scala          |   705 +
 .../group/CoordinatorPartitionWriterTest.scala     |   321 +
 .../group/GroupCoordinatorAdapterTest.scala        |   971 +
 .../group/GroupCoordinatorConcurrencyTest.scala    |   406 +
 .../coordinator/group/GroupCoordinatorTest.scala   |  4249 ++++
 .../group/GroupMetadataManagerTest.scala           |  3123 +++
 .../coordinator/group/GroupMetadataTest.scala      |   866 +
 .../coordinator/group/MemberMetadataTest.scala     |    94 +
 .../TransactionCoordinatorConcurrencyTest.scala    |   642 +
 .../transaction/TransactionCoordinatorTest.scala   |  1674 ++
 .../transaction/TransactionLogTest.scala           |   241 +
 .../TransactionMarkerChannelManagerTest.scala      |   641 +
 ...sactionMarkerRequestCompletionHandlerTest.scala |   247 +
 .../transaction/TransactionMetadataTest.scala      |   770 +
 .../transaction/TransactionStateManagerTest.scala  |  1340 ++
 .../unit/kafka/docker/KafkaDockerWrapperTest.scala |   341 +
 .../kafka/integration/KafkaServerTestHarness.scala |   374 +
 .../MetricsDuringTopicCreationDeletionTest.scala   |   156 +
 .../unit/kafka/integration/MinIsrConfigTest.scala  |    39 +
 .../integration/UncleanLeaderElectionTest.scala    |   432 +
 .../log/AbstractLogCleanerIntegrationTest.scala    |   173 +
 .../unit/kafka/log/BrokerCompressionTest.scala     |   105 +
 .../unit/kafka/log/LogCleanerIntegrationTest.scala |   234 +
 .../kafka/log/LogCleanerLagIntegrationTest.scala   |   129 +
 .../unit/kafka/log/LogCleanerManagerTest.scala     |   884 +
 .../LogCleanerParameterizedIntegrationTest.scala   |   378 +
 .../test/scala/unit/kafka/log/LogCleanerTest.scala |  2394 ++
 .../scala/unit/kafka/log/LogConcurrencyTest.scala  |   190 +
 .../test/scala/unit/kafka/log/LogConfigTest.scala  |   466 +
 .../test/scala/unit/kafka/log/LogLoaderTest.scala  |  1643 ++
 .../test/scala/unit/kafka/log/LogManagerTest.scala |  1431 ++
 .../test/scala/unit/kafka/log/LogTestUtils.scala   |   300 +
 .../test/scala/unit/kafka/log/UnifiedLogTest.scala |  4548 ++++
 .../kafka/log/remote/RemoteIndexCacheTest.scala    |  1092 +
 .../unit/kafka/metrics/KafkaMetricsGroupTest.scala |    72 +
 .../scala/unit/kafka/metrics/MetricsTest.scala     |   251 +
 .../unit/kafka/network/ConnectionQuotasTest.scala  |   955 +
 .../scala/unit/kafka/network/ProcessorTest.scala   |    98 +
 .../unit/kafka/network/RequestChannelTest.scala    |   321 +
 .../kafka/network/RequestConvertToJsonTest.scala   |   133 +
 .../unit/kafka/network/SocketServerTest.scala      |  2421 ++
 .../scala/unit/kafka/raft/RaftManagerTest.scala    |   236 +
 .../kafka/security/authorizer/AuthorizerTest.scala |   709 +
 .../security/authorizer/BaseAuthorizerTest.scala   |   373 +
 .../server/AbstractApiVersionsRequestTest.scala    |   124 +
 .../server/AbstractCreateTopicsRequestTest.scala   |   195 +
 .../kafka/server/AbstractFetcherManagerTest.scala  |   348 +
 .../kafka/server/AbstractFetcherThreadTest.scala   |  1106 +
 .../AbstractFetcherThreadWithIbp26Test.scala       |    28 +
 .../kafka/server/AbstractMetadataRequestTest.scala |    62 +
 .../server/AddPartitionsToTxnManagerTest.scala     |   463 +
 .../AddPartitionsToTxnRequestServerTest.scala      |   216 +
 .../server/AllocateProducerIdsRequestTest.scala    |    89 +
 .../kafka/server/AlterPartitionManagerTest.scala   |   575 +
 .../server/AlterReplicaLogDirsRequestTest.scala    |   200 +
 ...rScramCredentialsRequestNotAuthorizedTest.scala |    92 +
 .../AlterUserScramCredentialsRequestTest.scala     |   485 +
 .../unit/kafka/server/ApiVersionManagerTest.scala  |   122 +
 .../unit/kafka/server/ApiVersionsRequestTest.scala |    96 +
 .../ApiVersionsResponseIntegrationTest.scala       |    83 +
 .../scala/unit/kafka/server/AuthHelperTest.scala   |   247 +
 .../kafka/server/BaseClientQuotaManagerTest.scala  |    86 +
 .../unit/kafka/server/BaseFetchRequestTest.scala   |   113 +
 .../scala/unit/kafka/server/BaseRequestTest.scala  |   151 +
 .../kafka/server/BrokerLifecycleManagerTest.scala  |   299 +
 .../unit/kafka/server/BrokerMetricNamesTest.scala  |    53 +
 .../server/BrokerRegistrationRequestTest.scala     |   173 +
 .../unit/kafka/server/ClientQuotaManagerTest.scala |   426 +
 .../kafka/server/ClientQuotasRequestTest.scala     |   606 +
 .../server/ClientRequestQuotaManagerTest.scala     |    91 +
 .../unit/kafka/server/ConfigAdminManagerTest.scala |   422 +
 .../server/ConsumerGroupDescribeRequestTest.scala  |   323 +
 .../server/ConsumerGroupHeartbeatRequestTest.scala |   706 +
 .../server/ConsumerProtocolMigrationTest.scala     |  1385 ++
 .../unit/kafka/server/ControllerApisTest.scala     |  1314 ++
 .../ControllerConfigurationValidatorTest.scala     |   214 +
 .../ControllerMutationQuotaManagerTest.scala       |   232 +
 .../kafka/server/ControllerMutationQuotaTest.scala |   448 +
 .../server/ControllerRegistrationManagerTest.scala |   270 +
 .../kafka/server/CreateTopicsRequestTest.scala     |   168 +
 .../server/CreateTopicsRequestWithPolicyTest.scala |   179 +
 .../DelegationTokenRequestsOnPlainTextTest.scala   |    76 +
 .../kafka/server/DelegationTokenRequestsTest.scala |   183 +
 ...nTokenRequestsWithDisableTokenFeatureTest.scala |    83 +
 .../kafka/server/DeleteGroupsRequestTest.scala     |   131 +
 .../kafka/server/DeleteRecordsRequestTest.scala    |   169 +
 .../kafka/server/DeleteTopicsRequestTest.scala     |   162 +
 ...leteTopicsRequestWithDeletionDisabledTest.scala |    78 +
 .../kafka/server/DescribeClusterRequestTest.scala  |   100 +
 .../kafka/server/DescribeGroupsRequestTest.scala   |   116 +
 .../kafka/server/DescribeLogDirsRequestTest.scala  |    82 +
 .../kafka/server/DescribeQuorumRequestTest.scala   |   101 +
 ...rScramCredentialsRequestNotAuthorizedTest.scala |    56 +
 .../DescribeUserScramCredentialsRequestTest.scala  |   136 +
 .../kafka/server/DynamicBrokerConfigTest.scala     |  1059 +
 .../kafka/server/DynamicConfigChangeTest.scala     |   610 +
 .../unit/kafka/server/EdgeCaseRequestTest.scala    |   201 +
 .../kafka/server/FetchRequestMaxBytesTest.scala    |   138 +
 .../scala/unit/kafka/server/FetchRequestTest.scala |   624 +
 .../scala/unit/kafka/server/FetchSessionTest.scala |  2002 ++
 .../unit/kafka/server/FetcherThreadTestUtils.scala |    37 +
 .../server/ForwardingManagerMetricsTest.scala      |   114 +
 .../unit/kafka/server/ForwardingManagerTest.scala  |   313 +
 .../server/GroupCoordinatorBaseRequestTest.scala   |   897 +
 .../unit/kafka/server/HeartbeatRequestTest.scala   |   195 +
 .../server/HighwatermarkPersistenceTest.scala      |   198 +
 .../unit/kafka/server/IsrExpirationTest.scala      |   263 +
 .../unit/kafka/server/JoinGroupRequestTest.scala   |   396 +
 .../scala/unit/kafka/server/KafkaApisTest.scala    | 10911 +++++++++
 .../scala/unit/kafka/server/KafkaConfigTest.scala  |  1814 ++
 .../KafkaMetricReporterExceptionHandlingTest.scala |   122 +
 .../kafka/server/KafkaMetricsReporterTest.scala    |    97 +
 .../unit/kafka/server/KafkaRaftServerTest.scala    |   322 +
 .../unit/kafka/server/LeaveGroupRequestTest.scala  |   213 +
 .../unit/kafka/server/ListGroupsRequestTest.scala  |   250 +
 .../unit/kafka/server/ListOffsetsRequestTest.scala |   273 +
 .../ListOffsetsRequestWithRemoteStoreTest.scala    |    45 +
 .../unit/kafka/server/LogDirFailureTest.scala      |   236 +
 .../scala/unit/kafka/server/LogOffsetTest.scala    |   261 +
 .../scala/unit/kafka/server/LogRecoveryTest.scala  |   271 +
 .../unit/kafka/server/MetadataCacheTest.scala      |  1057 +
 .../unit/kafka/server/MetadataRequestTest.scala    |   340 +
 .../unit/kafka/server/MockFetcherThread.scala      |   165 +
 .../unit/kafka/server/MockLeaderEndPoint.scala     |   278 +
 .../MockNodeToControllerChannelManager.scala       |   102 +
 .../unit/kafka/server/MockTierStateMachine.scala   |    41 +
 .../kafka/server/OffsetCommitRequestTest.scala     |   160 +
 .../kafka/server/OffsetDeleteRequestTest.scala     |   174 +
 .../unit/kafka/server/OffsetFetchRequestTest.scala |   538 +
 .../server/OffsetsForLeaderEpochRequestTest.scala  |   127 +
 .../unit/kafka/server/ProduceRequestTest.scala     |   301 +
 .../kafka/server/RegistrationTestContext.scala     |    78 +
 .../server/ReplicaAlterLogDirsThreadTest.scala     |  1199 +
 .../scala/unit/kafka/server/ReplicaFetchTest.scala |    76 +
 .../kafka/server/ReplicaFetcherThreadTest.scala    |   804 +
 .../server/ReplicaManagerConcurrencyTest.scala     |   500 +
 .../kafka/server/ReplicaManagerQuotasTest.scala    |   346 +
 .../unit/kafka/server/ReplicaManagerTest.scala     |  6129 +++++
 .../kafka/server/ReplicationQuotaManagerTest.scala |   124 +
 .../unit/kafka/server/ReplicationQuotasTest.scala  |   304 +
 .../scala/unit/kafka/server/RequestQuotaTest.scala |   841 +
 .../kafka/server/SaslApiVersionsRequestTest.scala  |   104 +
 .../unit/kafka/server/ServerMetricsTest.scala      |    49 +
 .../unit/kafka/server/ServerShutdownTest.scala     |   239 +
 .../test/scala/unit/kafka/server/ServerTest.scala  |    50 +
 .../server/ShareFetchAcknowledgeRequestTest.scala  |  2379 ++
 .../server/ShareGroupDescribeRequestTest.scala     |   141 +
 .../server/ShareGroupHeartbeatRequestTest.scala    |   901 +
 .../unit/kafka/server/SyncGroupRequestTest.scala   |   269 +
 .../server/ThrottledChannelExpirationTest.scala    |    85 +
 .../unit/kafka/server/TierStateMachineTest.scala   |   196 +
 .../kafka/server/TxnOffsetCommitRequestTest.scala  |   244 +
 .../server/epoch/LeaderEpochFileCacheTest.scala    |   669 +
 .../server/epoch/LeaderEpochIntegrationTest.scala  |   334 +
 .../server/epoch/OffsetsForLeaderEpochTest.scala   |   186 +
 .../server/epoch/util/MockBlockingSender.scala     |   156 +
 .../metadata/BrokerMetadataPublisherTest.scala     |   224 +
 .../unit/kafka/tools/DumpLogSegmentsTest.scala     |  1159 +
 .../scala/unit/kafka/tools/StorageToolTest.scala   |   777 +
 .../scala/unit/kafka/utils/CoreUtilsTest.scala     |   122 +
 .../src/test/scala/unit/kafka/utils/PoolTest.scala |    40 +
 .../scala/unit/kafka/utils/SchedulerTest.scala     |   206 +
 .../test/scala/unit/kafka/utils/TestUtils.scala    |  1528 ++
 doap_Kafka.rdf                                     |    50 +
 docker/README.md                                   |   215 +
 docker/common.py                                   |    46 +
 docker/docker_build_test.py                        |    84 +
 docker/docker_official_image_build_test.py         |    87 +
 docker/docker_official_images/.gitkeep             |     0
 docker/docker_official_images/3.7.0/jvm/Dockerfile |    95 +
 docker/docker_official_images/3.7.0/jvm/jsa_launch |    49 +
 docker/docker_official_images/3.7.0/jvm/launch     |    68 +
 .../3.7.0/jvm/resources/common-scripts/bash-config |    23 +
 .../3.7.0/jvm/resources/common-scripts/configure   |   121 +
 .../jvm/resources/common-scripts/configureDefaults |    28 +
 .../3.7.0/jvm/resources/common-scripts/run         |    38 +
 docker/docker_release.py                           |    74 +
 docker/examples/README.md                          |   245 +
 .../cluster/combined/plaintext/docker-compose.yml  |    83 +
 .../cluster/combined/ssl/docker-compose.yml        |   113 +
 .../cluster/isolated/plaintext/docker-compose.yml  |   143 +
 .../cluster/isolated/ssl/docker-compose.yml        |   173 +
 .../single-node/file-input/docker-compose.yml      |    37 +
 .../single-node/plaintext/docker-compose.yml       |    39 +
 .../single-node/ssl/docker-compose.yml             |    48 +
 .../fixtures/client-secrets/client-ssl.properties  |    26 +
 .../fixtures/client-secrets/client.keystore.jks    |   Bin 0 -> 4382 bytes
 .../examples/fixtures/file-input/server.properties |    31 +
 .../examples/fixtures/secrets/kafka.truststore.jks |   Bin 0 -> 1126 bytes
 .../examples/fixtures/secrets/kafka01.keystore.jks |   Bin 0 -> 4382 bytes
 .../examples/fixtures/secrets/kafka_keystore_creds |     1 +
 .../examples/fixtures/secrets/kafka_ssl_key_creds  |     1 +
 .../fixtures/secrets/kafka_truststore_creds        |     1 +
 docker/extract_docker_official_image_artifact.py   |    77 +
 docker/generate_kafka_pr_template.py               |    92 +
 docker/jvm/Dockerfile                              |    95 +
 docker/jvm/jsa_launch                              |    49 +
 docker/jvm/launch                                  |    68 +
 docker/native/Dockerfile                           |    76 +
 docker/native/README.md                            |    31 +
 docker/native/launch                               |    52 +
 docker/native/native-image-configs/jni-config.json |    35 +
 .../predefined-classes-config.json                 |     7 +
 .../native/native-image-configs/proxy-config.json  |     5 +
 .../native-image-configs/reflect-config.json       |  1271 +
 .../native-image-configs/resource-config.json      |    65 +
 .../native-image-configs/serialization-config.json |   128 +
 docker/native/native_command.sh                    |    43 +
 docker/prepare_docker_official_image_source.py     |    72 +
 docker/requirements.txt                            |    16 +
 docker/resources/common-scripts/bash-config        |    23 +
 docker/resources/common-scripts/configure          |   121 +
 docker/resources/common-scripts/configureDefaults  |    28 +
 docker/resources/common-scripts/run                |    38 +
 docker/test/__init__.py                            |    16 +
 docker/test/constants.py                           |    45 +
 docker/test/docker_sanity_test.py                  |   238 +
 docker/test/fixtures/file-input/server.properties  |    31 +
 .../test/fixtures/mode/combined/docker-compose.yml |   101 +
 .../test/fixtures/mode/isolated/docker-compose.yml |   170 +
 docker/test/fixtures/secrets/client-ssl.properties |    23 +
 docker/test/fixtures/secrets/client.keystore.jks   |   Bin 0 -> 4382 bytes
 docker/test/fixtures/secrets/kafka.truststore.jks  |   Bin 0 -> 1126 bytes
 docker/test/fixtures/secrets/kafka01.keystore.jks  |   Bin 0 -> 4382 bytes
 docker/test/fixtures/secrets/kafka02.keystore.jks  |   Bin 0 -> 4382 bytes
 docker/test/fixtures/secrets/kafka_keystore_creds  |     1 +
 docker/test/fixtures/secrets/kafka_ssl_key_creds   |     1 +
 .../test/fixtures/secrets/kafka_truststore_creds   |     1 +
 docs/README.md                                     |     4 +
 docs/api.html                                      |   110 +
 docs/configuration.html                            |   414 +
 docs/connect.html                                  |  1056 +
 docs/design.html                                   |   712 +
 docs/docker.html                                   |    58 +
 docs/documentation.html                            |   118 +
 docs/documentation/index.html                      |    18 +
 docs/documentation/streams/architecture.html       |    19 +
 docs/documentation/streams/core-concepts.html      |    19 +
 .../streams/developer-guide/app-reset-tool.html    |    19 +
 .../streams/developer-guide/config-streams.html    |    19 +
 .../streams/developer-guide/datatypes.html         |    19 +
 .../streams/developer-guide/dsl-api.html           |    19 +
 .../developer-guide/dsl-topology-naming.html       |    19 +
 .../streams/developer-guide/index.html             |    19 +
 .../developer-guide/interactive-queries.html       |    19 +
 .../streams/developer-guide/manage-topics.html     |    19 +
 .../streams/developer-guide/memory-mgmt.html       |    19 +
 .../streams/developer-guide/processor-api.html     |    19 +
 .../streams/developer-guide/running-app.html       |    19 +
 .../streams/developer-guide/security.html          |    19 +
 .../streams/developer-guide/testing.html           |    19 +
 .../streams/developer-guide/write-streams.html     |    19 +
 docs/documentation/streams/index.html              |    19 +
 docs/documentation/streams/quickstart.html         |    19 +
 docs/documentation/streams/tutorial.html           |    19 +
 docs/documentation/streams/upgrade-guide.html      |    19 +
 docs/ecosystem.html                                |    18 +
 docs/images/consumer-groups.png                    |   Bin 0 -> 26820 bytes
 .../images/creating-streams-iframe-placeholder.png |   Bin 0 -> 54371 bytes
 docs/images/icons/NYT.jpg                          |   Bin 0 -> 12605 bytes
 docs/images/icons/architecture--white.png          |   Bin 0 -> 812 bytes
 docs/images/icons/architecture.png                 |   Bin 0 -> 818 bytes
 docs/images/icons/documentation--white.png         |   Bin 0 -> 1758 bytes
 docs/images/icons/documentation.png                |   Bin 0 -> 1642 bytes
 docs/images/icons/line.png                         |   Bin 0 -> 676 bytes
 docs/images/icons/new-york.png                     |   Bin 0 -> 3381 bytes
 docs/images/icons/rabobank.png                     |   Bin 0 -> 3593 bytes
 docs/images/icons/tutorials--white.png             |   Bin 0 -> 1047 bytes
 docs/images/icons/tutorials.png                    |   Bin 0 -> 985 bytes
 docs/images/icons/zalando.png                      |   Bin 0 -> 2716 bytes
 .../images/intro_to_streams-iframe-placeholder.png |   Bin 0 -> 40352 bytes
 docs/images/kafka-apis.png                         |   Bin 0 -> 86640 bytes
 docs/images/kafka-logo-readme-dark.svg             |   217 +
 docs/images/kafka-logo-readme-light.svg            |   217 +
 docs/images/kafka_log.png                          |   Bin 0 -> 114789 bytes
 docs/images/kafka_multidc.png                      |   Bin 0 -> 33959 bytes
 docs/images/kafka_multidc_complex.png              |   Bin 0 -> 38559 bytes
 docs/images/log_anatomy.png                        |   Bin 0 -> 19579 bytes
 docs/images/log_cleaner_anatomy.png                |   Bin 0 -> 18638 bytes
 docs/images/log_compaction.png                     |   Bin 0 -> 41414 bytes
 docs/images/log_consumer.png                       |   Bin 0 -> 139658 bytes
 docs/images/mirror-maker.png                       |   Bin 0 -> 6579 bytes
 docs/images/producer_consumer.png                  |   Bin 0 -> 8691 bytes
 docs/images/streams-architecture-overview.jpg      |   Bin 0 -> 420929 bytes
 docs/images/streams-architecture-states.jpg        |   Bin 0 -> 147338 bytes
 docs/images/streams-architecture-tasks.jpg         |   Bin 0 -> 130435 bytes
 docs/images/streams-architecture-threads.jpg       |   Bin 0 -> 153622 bytes
 docs/images/streams-architecture-topology.jpg      |   Bin 0 -> 182199 bytes
 docs/images/streams-cache-and-commit-interval.png  |   Bin 0 -> 38648 bytes
 docs/images/streams-concepts-topology.jpg          |   Bin 0 -> 136983 bytes
 docs/images/streams-elastic-scaling-1.png          |   Bin 0 -> 88673 bytes
 docs/images/streams-elastic-scaling-2.png          |   Bin 0 -> 91141 bytes
 docs/images/streams-elastic-scaling-3.png          |   Bin 0 -> 88604 bytes
 docs/images/streams-interactive-queries-01.png     |   Bin 0 -> 80976 bytes
 docs/images/streams-interactive-queries-02.png     |   Bin 0 -> 73218 bytes
 docs/images/streams-interactive-queries-03.png     |   Bin 0 -> 79879 bytes
 docs/images/streams-interactive-queries-api-01.png |   Bin 0 -> 84438 bytes
 docs/images/streams-interactive-queries-api-02.png |   Bin 0 -> 100725 bytes
 docs/images/streams-session-windows-01.png         |   Bin 0 -> 49003 bytes
 docs/images/streams-session-windows-02.png         |   Bin 0 -> 55956 bytes
 docs/images/streams-sliding-windows.png            |   Bin 0 -> 38991 bytes
 docs/images/streams-stateful_operations.png        |   Bin 0 -> 123213 bytes
 docs/images/streams-table-duality-01.png           |   Bin 0 -> 14534 bytes
 docs/images/streams-table-duality-02.png           |   Bin 0 -> 56736 bytes
 docs/images/streams-table-duality-03.png           |   Bin 0 -> 91331 bytes
 docs/images/streams-table-updates-01.png           |   Bin 0 -> 78069 bytes
 docs/images/streams-table-updates-02.png           |   Bin 0 -> 91880 bytes
 docs/images/streams-time-windows-hopping.png       |   Bin 0 -> 110392 bytes
 docs/images/streams-time-windows-tumbling.png      |   Bin 0 -> 63888 bytes
 docs/images/streams-welcome.png                    |   Bin 0 -> 80530 bytes
 docs/images/tracking_high_level.png                |   Bin 0 -> 82759 bytes
 .../transforming_part_1-iframe-placeholder.png     |   Bin 0 -> 47515 bytes
 .../transforming_part_2-iframe-placeholder.png     |   Bin 0 -> 43720 bytes
 docs/implementation.html                           |   260 +
 docs/introduction.html                             |   220 +
 docs/js/templateData.js                            |    24 +
 docs/ops.html                                      |  4061 ++++
 docs/protocol.html                                 |   239 +
 docs/quickstart.html                               |   354 +
 docs/security.html                                 |  2336 ++
 docs/streams/architecture.html                     |   206 +
 docs/streams/core-concepts.html                    |   387 +
 docs/streams/developer-guide/app-reset-tool.html   |   184 +
 docs/streams/developer-guide/config-streams.html   |  1478 ++
 docs/streams/developer-guide/datatypes.html        |   238 +
 docs/streams/developer-guide/dsl-api.html          |  4363 ++++
 .../developer-guide/dsl-topology-naming.html       |   350 +
 docs/streams/developer-guide/index.html            |   106 +
 .../developer-guide/interactive-queries.html       |   503 +
 docs/streams/developer-guide/manage-topics.html    |   135 +
 docs/streams/developer-guide/memory-mgmt.html      |   280 +
 docs/streams/developer-guide/processor-api.html    |   628 +
 docs/streams/developer-guide/running-app.html      |   188 +
 docs/streams/developer-guide/security.html         |   190 +
 docs/streams/developer-guide/testing.html          |   396 +
 docs/streams/developer-guide/write-streams.html    |   225 +
 docs/streams/index.html                            |   355 +
 docs/streams/quickstart.html                       |   352 +
 docs/streams/tutorial.html                         |   608 +
 docs/streams/upgrade-guide.html                    |  1824 ++
 docs/toc.html                                      |   230 +
 docs/upgrade.html                                  |  2993 +++
 docs/uses.html                                     |    81 +
 docs/zk2kraft.html                                 |   212 +
 examples/README.md                                 |     9 +
 examples/bin/exactly-once-demo.sh                  |    23 +
 examples/bin/java-producer-consumer-demo.sh        |    22 +
 .../src/main/java/kafka/examples/Consumer.java     |   170 +
 .../examples/ExactlyOnceMessageProcessor.java      |   275 +
 .../kafka/examples/KafkaConsumerProducerDemo.java  |    73 +
 .../java/kafka/examples/KafkaExactlyOnceDemo.java  |   126 +
 .../main/java/kafka/examples/KafkaProperties.java  |    23 +
 .../src/main/java/kafka/examples/Producer.java     |   185 +
 examples/src/main/java/kafka/examples/Utils.java   |   106 +
 flaky_test_report.log                              | 22192 ++++++++++++++++++
 .../kafka/message/ApiMessageTypeGenerator.java     |   447 +
 .../org/apache/kafka/message/ClauseGenerator.java  |    25 +
 .../java/org/apache/kafka/message/CodeBuffer.java  |    77 +
 .../CoordinatorRecordJsonConvertersGenerator.java  |   209 +
 .../message/CoordinatorRecordTypeGenerator.java    |   258 +
 .../java/org/apache/kafka/message/EntityType.java  |    62 +
 .../java/org/apache/kafka/message/FieldSpec.java   |   666 +
 .../java/org/apache/kafka/message/FieldType.java   |   514 +
 .../org/apache/kafka/message/HeaderGenerator.java  |    94 +
 .../apache/kafka/message/IsNullConditional.java    |   128 +
 .../kafka/message/JsonConverterGenerator.java      |   448 +
 .../kafka/message/MessageClassGenerator.java       |    36 +
 .../apache/kafka/message/MessageDataGenerator.java |  1723 ++
 .../org/apache/kafka/message/MessageGenerator.java |   404 +
 .../java/org/apache/kafka/message/MessageSpec.java |   187 +
 .../org/apache/kafka/message/MessageSpecType.java  |    58 +
 .../message/MetadataJsonConvertersGenerator.java   |   123 +
 .../kafka/message/MetadataRecordTypeGenerator.java |   190 +
 .../apache/kafka/message/RequestListenerType.java  |    28 +
 .../org/apache/kafka/message/SchemaGenerator.java  |   374 +
 .../org/apache/kafka/message/StructRegistry.java   |   194 +
 .../java/org/apache/kafka/message/StructSpec.java  |   113 +
 .../main/java/org/apache/kafka/message/Target.java |    93 +
 .../apache/kafka/message/TypeClassGenerator.java   |    43 +
 .../apache/kafka/message/VersionConditional.java   |   220 +
 .../java/org/apache/kafka/message/Versions.java    |   199 +
 .../apache/kafka/message/checker/CheckerUtils.java |   154 +
 .../kafka/message/checker/EvolutionException.java  |    31 +
 .../kafka/message/checker/EvolutionVerifier.java   |   119 +
 .../apache/kafka/message/checker/FieldDomain.java  |   105 +
 .../kafka/message/checker/FieldSpecPair.java       |    48 +
 .../message/checker/FieldSpecPairIterator.java     |   111 +
 .../message/checker/MetadataSchemaCheckerTool.java |   119 +
 .../message/checker/UnificationException.java      |    30 +
 .../org/apache/kafka/message/checker/Unifier.java  |   205 +
 .../org/apache/kafka/message/CodeBufferTest.java   |    72 +
 .../org/apache/kafka/message/EntityTypeTest.java   |    83 +
 .../kafka/message/IsNullConditionalTest.java       |   120 +
 .../kafka/message/MessageDataGeneratorTest.java    |   330 +
 .../apache/kafka/message/MessageGeneratorTest.java |   146 +
 .../apache/kafka/message/StructRegistryTest.java   |   171 +
 .../org/apache/kafka/message/StructSpecTest.java   |    69 +
 .../kafka/message/VersionConditionalTest.java      |   243 +
 .../org/apache/kafka/message/VersionsTest.java     |   108 +
 .../kafka/message/checker/CheckerTestUtils.java    |   154 +
 .../kafka/message/checker/CheckerUtilsTest.java    |    90 +
 .../message/checker/EvolutionVerifierTest.java     |   202 +
 .../kafka/message/checker/FieldDomainTest.java     |    59 +
 .../checker/MetadataSchemaCheckerToolTest.java     |    68 +
 .../apache/kafka/message/checker/UnifierTest.java  |   224 +
 gradle.properties                                  |    32 +
 gradle/dependencies.gradle                         |   233 +
 gradle/openapi.template                            |    24 +
 gradle/resources/dependencycheck-suppressions.xml  |    32 +
 gradle/resources/rat-output-to-html.xsl            |   206 +
 gradle/spotbugs-exclude.xml                        |   561 +
 gradle/wrapper/gradle-wrapper.properties           |     8 +
 gradlew                                            |   262 +
 gradlewAll                                         |    25 +
 group-coordinator/.gitignore                       |     1 +
 .../assignor/ConsumerGroupPartitionAssignor.java   |    23 +
 .../group/api/assignor/GroupAssignment.java        |    61 +
 .../coordinator/group/api/assignor/GroupSpec.java  |    60 +
 .../group/api/assignor/MemberAssignment.java       |    32 +
 .../group/api/assignor/MemberSubscription.java     |    48 +
 .../group/api/assignor/PartitionAssignor.java      |    39 +
 .../api/assignor/PartitionAssignorException.java   |    34 +
 .../api/assignor/ShareGroupPartitionAssignor.java  |    26 +
 .../api/assignor/SubscribedTopicDescriber.java     |    46 +
 .../group/api/assignor/SubscriptionType.java       |    44 +
 .../group/api/assignor/package-info.java           |    21 +
 .../group/ConsumerGroupMigrationPolicy.java        |    79 +
 .../org/apache/kafka/coordinator/group/Group.java  |   197 +
 .../kafka/coordinator/group/GroupConfig.java       |   274 +
 .../coordinator/group/GroupConfigManager.java      |    95 +
 .../kafka/coordinator/group/GroupCoordinator.java  |   459 +
 .../coordinator/group/GroupCoordinatorConfig.java  |   659 +
 .../group/GroupCoordinatorRecordHelpers.java       |   838 +
 .../group/GroupCoordinatorRecordSerde.java         |    45 +
 .../coordinator/group/GroupCoordinatorService.java |  1379 ++
 .../coordinator/group/GroupCoordinatorShard.java   |   948 +
 .../coordinator/group/GroupMetadataManager.java    |  6486 ++++++
 .../kafka/coordinator/group/OffsetAndMetadata.java |   189 +
 .../kafka/coordinator/group/OffsetConfig.java      |    73 +
 .../group/OffsetExpirationCondition.java           |    36 +
 .../group/OffsetExpirationConditionImpl.java       |    62 +
 .../coordinator/group/OffsetMetadataManager.java   |  1135 +
 .../group/ShareGroupAutoOffsetResetStrategy.java   |   168 +
 .../org/apache/kafka/coordinator/group/Utils.java  |   238 +
 .../group/assignor/AssignorHelpers.java            |    54 +
 .../coordinator/group/assignor/RangeAssignor.java  |   316 +
 .../kafka/coordinator/group/assignor/RangeSet.java |   183 +
 .../coordinator/group/assignor/SimpleAssignor.java |   122 +
 .../group/assignor/UniformAssignor.java            |    90 +
 .../UniformHeterogeneousAssignmentBuilder.java     |   908 +
 .../UniformHomogeneousAssignmentBuilder.java       |   268 +
 .../coordinator/group/classic/ClassicGroup.java    |  1481 ++
 .../group/classic/ClassicGroupMember.java          |   436 +
 .../group/classic/ClassicGroupState.java           |   143 +
 .../group/metrics/GroupCoordinatorMetrics.java     |   465 +
 .../metrics/GroupCoordinatorMetricsShard.java      |   333 +
 .../metrics/GroupCoordinatorRuntimeMetrics.java    |    28 +
 .../kafka/coordinator/group/modern/Assignment.java |   105 +
 .../coordinator/group/modern/GroupSpecImpl.java    |   137 +
 .../group/modern/MemberAssignmentImpl.java         |    64 +
 .../coordinator/group/modern/MemberState.java      |    78 +
 .../MemberSubscriptionAndAssignmentImpl.java       |   104 +
 .../coordinator/group/modern/ModernGroup.java      |   592 +
 .../group/modern/ModernGroupMember.java            |   189 +
 .../group/modern/SubscribedTopicDescriberImpl.java |    97 +
 .../group/modern/SubscriptionCount.java            |   101 +
 .../group/modern/TargetAssignmentBuilder.java      |   544 +
 .../kafka/coordinator/group/modern/TopicIds.java   |   318 +
 .../coordinator/group/modern/TopicMetadata.java    |   132 +
 .../kafka/coordinator/group/modern/UnionSet.java   |   218 +
 .../group/modern/consumer/ConsumerGroup.java       |  1301 ++
 .../group/modern/consumer/ConsumerGroupMember.java |   529 +
 .../modern/consumer/CurrentAssignmentBuilder.java  |   321 +
 .../modern/consumer/ResolvedRegularExpression.java |    82 +
 .../coordinator/group/modern/share/ShareGroup.java |   290 +
 .../modern/share/ShareGroupAssignmentBuilder.java  |    93 +
 .../group/modern/share/ShareGroupConfig.java       |   182 +
 .../group/modern/share/ShareGroupMember.java       |   281 +
 .../group/streams/CurrentAssignmentBuilder.java    |   451 +
 .../coordinator/group/streams/MemberState.java     |    74 +
 .../streams/StreamsCoordinatorRecordHelpers.java   |   473 +
 .../group/streams/StreamsGroupMember.java          |   372 +
 .../coordinator/group/streams/StreamsTopology.java |    84 +
 .../group/streams/TargetAssignmentBuilder.java     |   351 +
 .../coordinator/group/streams/TasksTuple.java      |   133 +
 .../coordinator/group/streams/TopicMetadata.java   |    73 +
 .../group/streams/TopologyMetadata.java            |   105 +
 .../streams/assignor/AssignmentMemberSpec.java     |    60 +
 .../group/streams/assignor/GroupAssignment.java    |    33 +
 .../group/streams/assignor/GroupSpec.java          |    36 +
 .../group/streams/assignor/GroupSpecImpl.java      |    36 +
 .../group/streams/assignor/MemberAssignment.java   |    42 +
 .../group/streams/assignor/MockAssignor.java       |   106 +
 .../group/streams/assignor/ProcessState.java       |   149 +
 .../group/streams/assignor/StickyTaskAssignor.java |   437 +
 .../group/streams/assignor/TaskAssignor.java       |    43 +
 .../streams/assignor/TaskAssignorException.java    |    33 +
 .../coordinator/group/streams/assignor/TaskId.java |    41 +
 .../group/streams/assignor/TopologyDescriber.java  |    54 +
 .../group/streams/topics/ChangelogTopics.java      |   103 +
 .../streams/topics/ConfiguredInternalTopic.java    |    69 +
 .../streams/topics/ConfiguredSubtopology.java      |    62 +
 .../group/streams/topics/ConfiguredTopology.java   |    75 +
 .../topics/CopartitionedTopicsEnforcer.java        |   181 +
 .../group/streams/topics/InternalTopicManager.java |   309 +
 .../group/streams/topics/RepartitionTopics.java    |   177 +
 .../topics/TopicConfigurationException.java        |    46 +
 .../ConsumerGroupCurrentMemberAssignmentKey.json   |    28 +
 .../ConsumerGroupCurrentMemberAssignmentValue.json |    42 +
 .../message/ConsumerGroupMemberMetadataKey.json    |    28 +
 .../message/ConsumerGroupMemberMetadataValue.json  |    57 +
 .../common/message/ConsumerGroupMetadataKey.json   |    26 +
 .../common/message/ConsumerGroupMetadataValue.json |    26 +
 .../message/ConsumerGroupPartitionMetadataKey.json |    26 +
 .../ConsumerGroupPartitionMetadataValue.json       |    40 +
 .../message/ConsumerGroupRegularExpressionKey.json |    28 +
 .../ConsumerGroupRegularExpressionValue.json       |    27 +
 .../ConsumerGroupTargetAssignmentMemberKey.json    |    28 +
 .../ConsumerGroupTargetAssignmentMemberValue.json  |    31 +
 .../ConsumerGroupTargetAssignmentMetadataKey.json  |    26 +
 ...ConsumerGroupTargetAssignmentMetadataValue.json |    26 +
 .../resources/common/message/GroupMetadataKey.json |    26 +
 .../common/message/GroupMetadataValue.json         |    63 +
 .../common/message/LegacyOffsetCommitKey.json      |    30 +
 .../common/message/LegacyOffsetCommitValue.json    |    30 +
 .../resources/common/message/OffsetCommitKey.json  |    30 +
 .../common/message/OffsetCommitValue.json          |    37 +
 .../ShareGroupCurrentMemberAssignmentKey.json      |    29 +
 .../ShareGroupCurrentMemberAssignmentValue.json    |    41 +
 .../message/ShareGroupMemberMetadataKey.json       |    29 +
 .../message/ShareGroupMemberMetadataValue.json     |    33 +
 .../common/message/ShareGroupMetadataKey.json      |    27 +
 .../common/message/ShareGroupMetadataValue.json    |    27 +
 .../message/ShareGroupPartitionMetadataKey.json    |    27 +
 .../message/ShareGroupPartitionMetadataValue.json  |    41 +
 .../ShareGroupStatePartitionMetadataKey.json       |    27 +
 .../ShareGroupStatePartitionMetadataValue.json     |    45 +
 .../ShareGroupTargetAssignmentMemberKey.json       |    29 +
 .../ShareGroupTargetAssignmentMemberValue.json     |    32 +
 .../ShareGroupTargetAssignmentMetadataKey.json     |    27 +
 .../ShareGroupTargetAssignmentMetadataValue.json   |    27 +
 .../StreamsGroupCurrentMemberAssignmentKey.json    |    29 +
 .../StreamsGroupCurrentMemberAssignmentValue.json  |    51 +
 .../message/StreamsGroupMemberMetadataKey.json     |    29 +
 .../message/StreamsGroupMemberMetadataValue.json   |    59 +
 .../common/message/StreamsGroupMetadataKey.json    |    27 +
 .../common/message/StreamsGroupMetadataValue.json  |    27 +
 .../message/StreamsGroupPartitionMetadataKey.json  |    27 +
 .../StreamsGroupPartitionMetadataValue.json        |    41 +
 .../StreamsGroupTargetAssignmentMemberKey.json     |    29 +
 .../StreamsGroupTargetAssignmentMemberValue.json   |    39 +
 .../StreamsGroupTargetAssignmentMetadataKey.json   |    27 +
 .../StreamsGroupTargetAssignmentMetadataValue.json |    27 +
 .../common/message/StreamsGroupTopologyKey.json    |    27 +
 .../common/message/StreamsGroupTopologyValue.json  |    75 +
 .../apache/kafka/coordinator/group/Assertions.java |   380 +
 .../coordinator/group/AssignmentTestUtil.java      |   115 +
 .../coordinator/group/GroupConfigManagerTest.java  |    91 +
 .../kafka/coordinator/group/GroupConfigTest.java   |   226 +
 .../group/GroupCoordinatorConfigTest.java          |   236 +
 .../group/GroupCoordinatorRecordHelpersTest.java   |   821 +
 .../group/GroupCoordinatorRecordSerdeTest.java     |   254 +
 .../group/GroupCoordinatorServiceTest.java         |  2513 ++
 .../group/GroupCoordinatorShardTest.java           |  1355 ++
 .../group/GroupMetadataManagerTest.java            | 16355 +++++++++++++
 .../group/GroupMetadataManagerTestContext.java     |  1637 ++
 .../coordinator/group/MetadataImageBuilder.java    |    78 +
 .../coordinator/group/MockPartitionAssignor.java   |    57 +
 .../coordinator/group/NoOpPartitionAssignor.java   |    42 +
 .../coordinator/group/OffsetAndMetadataTest.java   |   180 +
 .../group/OffsetExpirationConditionImplTest.java   |    70 +
 .../group/OffsetMetadataManagerTest.java           |  3183 +++
 .../ShareGroupAutoOffsetResetStrategyTest.java     |   112 +
 .../group/assignor/GroupSpecImplTest.java          |   113 +
 .../OptimizedUniformAssignmentBuilderTest.java     |   674 +
 .../group/assignor/RangeAssignorTest.java          |   909 +
 .../coordinator/group/assignor/RangeSetTest.java   |   131 +
 .../group/assignor/SimpleAssignorTest.java         |   339 +
 .../UniformHeterogeneousAssignmentBuilderTest.java |   752 +
 .../group/classic/ClassicGroupMemberTest.java      |   324 +
 .../group/classic/ClassicGroupTest.java            |  1682 ++
 .../metrics/GroupCoordinatorMetricsShardTest.java  |    57 +
 .../group/metrics/GroupCoordinatorMetricsTest.java |   277 +
 .../group/metrics/MetricsTestUtils.java            |    64 +
 .../coordinator/group/modern/AssignmentTest.java   |    83 +
 .../group/modern/SubscribedTopicMetadataTest.java  |    82 +
 .../group/modern/TargetAssignmentBuilderTest.java  |   938 +
 .../coordinator/group/modern/TopicIdsTest.java     |   195 +
 .../group/modern/TopicMetadataTest.java            |    74 +
 .../coordinator/group/modern/UnionSetTest.java     |   143 +
 .../modern/consumer/ConsumerGroupBuilder.java      |   128 +
 .../modern/consumer/ConsumerGroupMemberTest.java   |   387 +
 .../group/modern/consumer/ConsumerGroupTest.java   |  2260 ++
 .../consumer/CurrentAssignmentBuilderTest.java     |   578 +
 .../consumer/ResolvedRegularExpressionTest.java    |    68 +
 .../share/ShareGroupAssignmentBuilderTest.java     |    96 +
 .../group/modern/share/ShareGroupBuilder.java      |   114 +
 .../group/modern/share/ShareGroupConfigTest.java   |   150 +
 .../group/modern/share/ShareGroupMemberTest.java   |   192 +
 .../group/modern/share/ShareGroupTest.java         |   722 +
 .../streams/CurrentAssignmentBuilderTest.java      |   825 +
 .../StreamsCoordinatorRecordHelpersTest.java       |   882 +
 .../group/streams/StreamsGroupMemberTest.java      |   433 +
 .../group/streams/StreamsTopologyTest.java         |   150 +
 .../group/streams/TargetAssignmentBuilderTest.java |   852 +
 .../group/streams/TaskAssignmentTestUtil.java      |    59 +
 .../coordinator/group/streams/TasksTupleTest.java  |   179 +
 .../group/streams/TopicMetadataTest.java           |   118 +
 .../group/streams/TopologyMetadataTest.java        |   126 +
 .../group/streams/assignor/GroupSpecImplTest.java  |    62 +
 .../group/streams/assignor/MockAssignorTest.java   |   267 +
 .../group/streams/assignor/ProcessStateTest.java   |   124 +
 .../streams/assignor/StickyTaskAssignorTest.java   |  1126 +
 .../group/streams/topics/ChangelogTopicsTest.java  |   142 +
 .../topics/ConfiguredInternalTopicTest.java        |    76 +
 .../streams/topics/ConfiguredSubtopologyTest.java  |   106 +
 .../streams/topics/ConfiguredTopologyTest.java     |   132 +
 .../topics/CopartitionedTopicsEnforcerTest.java    |   241 +
 .../streams/topics/InternalTopicManagerTest.java   |   179 +
 .../streams/topics/RepartitionTopicsTest.java      |   204 +
 .../topics/TopicConfigurationExceptionTest.java    |    48 +
 group-coordinator/src/test/resources/log4j2.yaml   |    31 +
 jmh-benchmarks/README.md                           |   130 +
 jmh-benchmarks/jmh.sh                              |    42 +
 .../apache/kafka/jmh/acl/AuthorizerBenchmark.java  |   213 +
 .../jmh/acl/StandardAuthorizerUpdateBenchmark.java |   132 +
 .../kafka/jmh/assignor/AssignorBenchmarkUtils.java |   299 +
 .../jmh/assignor/ClientSideAssignorBenchmark.java  |   291 +
 .../jmh/assignor/ServerSideAssignorBenchmark.java  |   260 +
 .../assignor/TargetAssignmentBuilderBenchmark.java |   204 +
 .../apache/kafka/jmh/cache/LRUCacheBenchmark.java  |    86 +
 .../kafka/jmh/common/FetchRequestBenchmark.java    |   140 +
 .../kafka/jmh/common/FetchResponseBenchmark.java   |   128 +
 .../ImplicitLinkedHashCollectionBenchmark.java     |   121 +
 .../jmh/common/ListOffsetRequestBenchmark.java     |    81 +
 .../jmh/common/MetadataResponseBenchmark.java      |    88 +
 .../kafka/jmh/common/ProduceRequestBenchmark.java  |    65 +
 .../apache/kafka/jmh/common/TopicBenchmark.java    |    54 +
 .../kafka/jmh/connect/JsonConverterBenchmark.java  |   443 +
 .../kafka/jmh/connect/ReplaceFieldBenchmark.java   |    82 +
 .../apache/kafka/jmh/connect/ValuesBenchmark.java  |   298 +
 .../jmh/consumer/SubscriptionStateBenchmark.java   |    96 +
 .../jmh/coordinator/RegexResolutionBenchmark.java  |   128 +
 .../kafka/jmh/core/TestPurgatoryPerformance.java   |   485 +
 .../jmh/fetcher/ReplicaFetcherThreadBenchmark.java |   344 +
 .../jmh/fetchsession/FetchSessionBenchmark.java    |   126 +
 .../org/apache/kafka/jmh/log/StressTestLog.java    |   216 +
 .../apache/kafka/jmh/log/TestLinearWriteSpeed.java |   339 +
 .../metadata/KRaftMetadataRequestBenchmark.java    |   246 +
 .../TopicsImageSingleRecordChangeBenchmark.java    |    91 +
 .../metadata/TopicsImageSnapshotLoadBenchmark.java |   113 +
 .../metadata/TopicsImageZonalOutageBenchmark.java  |   100 +
 .../kafka/jmh/metrics/HistogramBenchmark.java      |   122 +
 .../partition/PartitionMakeFollowerBenchmark.java  |   165 +
 .../UpdateFollowerFetchStateBenchmark.java         |   181 +
 .../jmh/producer/ProducerRecordBenchmark.java      |    48 +
 .../jmh/producer/ProducerRequestBenchmark.java     |    87 +
 .../jmh/producer/ProducerResponseBenchmark.java    |    80 +
 .../kafka/jmh/record/BaseRecordBatchBenchmark.java |   161 +
 .../CompressedRecordBatchValidationBenchmark.java  |    61 +
 .../jmh/record/RecordBatchIterationBenchmark.java  |    88 +
 ...UncompressedRecordBatchValidationBenchmark.java |    56 +
 .../apache/kafka/jmh/server/CheckpointBench.java   |   180 +
 .../kafka/jmh/server/PartitionCreationBench.java   |   214 +
 .../jmh/storage/ProducerStateManagerBench.java     |    99 +
 .../jmh/timeline/TimelineHashMapBenchmark.java     |    91 +
 .../apache/kafka/jmh/util/ByteUtilsBenchmark.java  |   583 +
 .../kafka/jmh/util/ConcurrentMapBenchmark.java     |   211 +
 .../org/apache/kafka/jmh/util/Crc32CBenchmark.java |    74 +
 licenses/CDDL+GPL-1.1                              |   760 +
 licenses/argparse-MIT                              |    23 +
 licenses/classgraph-MIT                            |    21 +
 licenses/eclipse-distribution-license-1.0          |    13 +
 licenses/eclipse-public-license-2.0                |    87 +
 licenses/hdrHistogram-BSD-2-clause                 |    41 +
 licenses/jline-BSD-3-clause                        |    35 +
 licenses/jopt-simple-MIT                           |    24 +
 licenses/jsr305-BSD-3-clause                       |    28 +
 licenses/paranamer-BSD-3-clause                    |    29 +
 licenses/pcollections-MIT                          |    24 +
 licenses/protobuf-java-BSD-3-clause                |    34 +
 licenses/re2j-GO                                   |    32 +
 licenses/slf4j-MIT                                 |    24 +
 licenses/zstd-jni-BSD-2-clause                     |    26 +
 metadata/.gitignore                                |     1 +
 .../errors/InvalidReplicaDirectoriesException.java |    36 +
 .../apache/kafka/controller/AclControlManager.java |   239 +
 .../controller/ActivationRecordsGenerator.java     |   181 +
 .../kafka/controller/BrokerControlState.java       |    46 +
 .../kafka/controller/BrokerControlStates.java      |    55 +
 .../kafka/controller/BrokerHeartbeatManager.java   |   485 +
 .../kafka/controller/BrokerHeartbeatTracker.java   |   146 +
 .../apache/kafka/controller/BrokerIdAndEpoch.java  |    57 +
 .../org/apache/kafka/controller/BrokersToElrs.java |   161 +
 .../org/apache/kafka/controller/BrokersToIsrs.java |   293 +
 .../controller/ClientQuotaControlManager.java      |   340 +
 .../kafka/controller/ClusterControlManager.java    |   858 +
 .../controller/ClusterFeatureSupportDescriber.java |    30 +
 .../controller/ConfigurationControlManager.java    |   723 +
 .../kafka/controller/ConfigurationValidator.java   |    49 +
 .../org/apache/kafka/controller/Controller.java    |   445 +
 .../kafka/controller/ControllerRequestContext.java |   114 +
 .../apache/kafka/controller/ControllerResult.java  |    89 +
 .../controller/ControllerResultAndOffset.java      |    69 +
 .../controller/DelegationTokenControlManager.java  |   367 +
 .../kafka/controller/EventPerformanceMonitor.java  |   212 +
 .../kafka/controller/FeatureControlManager.java    |   420 +
 .../apache/kafka/controller/LogReplayTracker.java  |    73 +
 .../kafka/controller/OffsetControlManager.java     |   426 +
 .../kafka/controller/PartitionChangeBuilder.java   |   590 +
 .../controller/PartitionReassignmentReplicas.java  |   168 +
 .../controller/PartitionReassignmentRevert.java    |   102 +
 .../org/apache/kafka/controller/PeriodicTask.java  |    73 +
 .../controller/PeriodicTaskControlManager.java     |   250 +
 .../apache/kafka/controller/PeriodicTaskFlag.java  |    28 +
 .../kafka/controller/ProducerIdControlManager.java |   122 +
 .../apache/kafka/controller/QuorumController.java  |  2210 ++
 .../apache/kafka/controller/QuorumFeatures.java    |   140 +
 .../controller/ReplicationControlManager.java      |  2472 ++
 .../org/apache/kafka/controller/ResultOrError.java |    92 +
 .../kafka/controller/ScramControlManager.java      |   350 +
 .../controller/errors/ControllerExceptions.java    |    87 +
 .../errors/EventHandlerExceptionInfo.java          |   227 +
 .../errors/PeriodicControlTaskException.java       |    27 +
 .../metrics/ControllerMetadataMetrics.java         |   242 +
 .../ControllerMetadataMetricsPublisher.java        |   153 +
 .../metrics/ControllerMetricsChanges.java          |   167 +
 .../metrics/QuorumControllerMetrics.java           |   243 +
 .../java/org/apache/kafka/image/AclsDelta.java     |   119 +
 .../java/org/apache/kafka/image/AclsImage.java     |    80 +
 .../org/apache/kafka/image/ClientQuotaDelta.java   |    77 +
 .../org/apache/kafka/image/ClientQuotaImage.java   |   118 +
 .../org/apache/kafka/image/ClientQuotasDelta.java  |    96 +
 .../org/apache/kafka/image/ClientQuotasImage.java  |   192 +
 .../java/org/apache/kafka/image/ClusterDelta.java  |   202 +
 .../java/org/apache/kafka/image/ClusterImage.java  |   112 +
 .../org/apache/kafka/image/ConfigurationDelta.java |    86 +
 .../org/apache/kafka/image/ConfigurationImage.java |   101 +
 .../apache/kafka/image/ConfigurationsDelta.java    |   113 +
 .../apache/kafka/image/ConfigurationsImage.java    |   100 +
 .../apache/kafka/image/DelegationTokenDelta.java   |   106 +
 .../apache/kafka/image/DelegationTokenImage.java   |    87 +
 .../java/org/apache/kafka/image/FeaturesDelta.java |   110 +
 .../java/org/apache/kafka/image/FeaturesImage.java |   128 +
 .../apache/kafka/image/LocalReplicaChanges.java    |   117 +
 .../java/org/apache/kafka/image/MetadataDelta.java |   460 +
 .../java/org/apache/kafka/image/MetadataImage.java |   200 +
 .../org/apache/kafka/image/MetadataProvenance.java |   106 +
 .../apache/kafka/image/MetadataVersionChange.java  |    77 +
 .../image/MetadataVersionChangeException.java      |    37 +
 .../org/apache/kafka/image/ProducerIdsDelta.java   |    59 +
 .../org/apache/kafka/image/ProducerIdsImage.java   |    77 +
 .../java/org/apache/kafka/image/ScramDelta.java    |   110 +
 .../java/org/apache/kafka/image/ScramImage.java    |   162 +
 .../java/org/apache/kafka/image/TopicDelta.java    |   227 +
 .../java/org/apache/kafka/image/TopicImage.java    |    92 +
 .../java/org/apache/kafka/image/TopicsDelta.java   |   262 +
 .../java/org/apache/kafka/image/TopicsImage.java   |   122 +
 .../apache/kafka/image/loader/LoaderManifest.java  |    36 +
 .../kafka/image/loader/LoaderManifestType.java     |    27 +
 .../kafka/image/loader/LogDeltaManifest.java       |   183 +
 .../kafka/image/loader/MetadataBatchLoader.java    |   278 +
 .../apache/kafka/image/loader/MetadataLoader.java  |   580 +
 .../kafka/image/loader/SnapshotManifest.java       |    83 +
 .../loader/metrics/MetadataLoaderMetrics.java      |   157 +
 .../apache/kafka/image/node/AclsImageByIdNode.java |    64 +
 .../org/apache/kafka/image/node/AclsImageNode.java |    54 +
 .../kafka/image/node/ClientQuotaImageNode.java     |    46 +
 .../kafka/image/node/ClientQuotasImageNode.java    |   157 +
 .../kafka/image/node/ClusterImageBrokersNode.java  |    62 +
 .../image/node/ClusterImageControllersNode.java    |    62 +
 .../apache/kafka/image/node/ClusterImageNode.java  |    56 +
 .../kafka/image/node/ConfigurationImageNode.java   |    62 +
 .../kafka/image/node/ConfigurationsImageNode.java  |    80 +
 .../kafka/image/node/DelegationTokenDataNode.java  |    87 +
 .../kafka/image/node/DelegationTokenImageNode.java |    51 +
 .../apache/kafka/image/node/FeaturesImageNode.java |    79 +
 .../apache/kafka/image/node/MetadataImageNode.java |    68 +
 .../apache/kafka/image/node/MetadataLeafNode.java  |    39 +
 .../org/apache/kafka/image/node/MetadataNode.java  |    69 +
 .../kafka/image/node/ProducerIdsImageNode.java     |    54 +
 .../apache/kafka/image/node/ProvenanceNode.java    |    57 +
 .../kafka/image/node/ScramCredentialDataNode.java  |    73 +
 .../apache/kafka/image/node/ScramImageNode.java    |    63 +
 .../kafka/image/node/ScramMechanismNode.java       |    47 +
 .../apache/kafka/image/node/TopicImageNode.java    |    66 +
 .../kafka/image/node/TopicsImageByIdNode.java      |    64 +
 .../kafka/image/node/TopicsImageByNameNode.java    |    52 +
 .../apache/kafka/image/node/TopicsImageNode.java   |    56 +
 .../image/node/printer/MetadataNodePrinter.java    |    51 +
 .../printer/MetadataNodeRedactionCriteria.java     |   105 +
 .../kafka/image/node/printer/NodeStringifier.java  |    67 +
 .../image/publisher/BrokerRegistrationTracker.java |   132 +
 .../ControllerRegistrationsPublisher.java          |    83 +
 .../kafka/image/publisher/MetadataPublisher.java   |    69 +
 .../kafka/image/publisher/SnapshotEmitter.java     |   164 +
 .../kafka/image/publisher/SnapshotGenerator.java   |   302 +
 .../publisher/metrics/SnapshotEmitterMetrics.java  |   103 +
 .../apache/kafka/image/writer/ImageReWriter.java   |    60 +
 .../org/apache/kafka/image/writer/ImageWriter.java |    65 +
 .../image/writer/ImageWriterClosedException.java   |    30 +
 .../kafka/image/writer/ImageWriterOptions.java     |    96 +
 .../kafka/image/writer/RaftSnapshotWriter.java     |    78 +
 .../kafka/image/writer/RecordListWriter.java       |    51 +
 .../image/writer/UnwritableMetadataException.java  |    48 +
 .../kafka/metadata/BrokerHeartbeatReply.java       |    92 +
 .../apache/kafka/metadata/BrokerRegistration.java  |   405 +
 .../metadata/BrokerRegistrationFencingChange.java  |    56 +
 ...okerRegistrationInControlledShutdownChange.java |    57 +
 .../kafka/metadata/BrokerRegistrationReply.java    |    49 +
 .../org/apache/kafka/metadata/BrokerState.java     |   110 +
 .../apache/kafka/metadata/ConfigRepository.java    |    63 +
 .../kafka/metadata/ControllerRegistration.java     |   230 +
 .../apache/kafka/metadata/DelegationTokenData.java |    95 +
 .../metadata/FinalizedControllerFeatures.java      |    77 +
 .../apache/kafka/metadata/KafkaConfigSchema.java   |   293 +
 .../org/apache/kafka/metadata/LeaderAndIsr.java    |   174 +
 .../org/apache/kafka/metadata/LeaderConstants.java |    32 +
 .../apache/kafka/metadata/LeaderRecoveryState.java |    74 +
 .../org/apache/kafka/metadata/ListenerInfo.java    |   389 +
 .../apache/kafka/metadata/MetadataRecordSerde.java |    30 +
 .../kafka/metadata/OptionalStringComparator.java   |    40 +
 .../kafka/metadata/PartitionRegistration.java      |   471 +
 .../java/org/apache/kafka/metadata/Replicas.java   |   245 +
 .../apache/kafka/metadata/ScramCredentialData.java |   123 +
 .../org/apache/kafka/metadata/VersionRange.java    |    87 +
 .../apache/kafka/metadata/authorizer/AclCache.java |   107 +
 .../kafka/metadata/authorizer/AclMutator.java      |    63 +
 .../authorizer/ClusterMetadataAuthorizer.java      |   167 +
 .../kafka/metadata/authorizer/StandardAcl.java     |   192 +
 .../authorizer/StandardAclRecordIterator.java      |    60 +
 .../metadata/authorizer/StandardAclWithId.java     |    89 +
 .../metadata/authorizer/StandardAuthorizer.java    |   211 +
 .../authorizer/StandardAuthorizerData.java         |   626 +
 .../metadata/bootstrap/BootstrapDirectory.java     |   134 +
 .../metadata/bootstrap/BootstrapMetadata.java      |   194 +
 .../kafka/metadata/placement/ClusterDescriber.java |    40 +
 .../metadata/placement/DefaultDirProvider.java     |    32 +
 .../metadata/placement/PartitionAssignment.java    |    74 +
 .../kafka/metadata/placement/PlacementSpec.java    |    83 +
 .../kafka/metadata/placement/ReplicaPlacer.java    |    43 +
 .../metadata/placement/StripedReplicaPlacer.java   |   444 +
 .../kafka/metadata/placement/TopicAssignment.java  |    59 +
 .../kafka/metadata/placement/UsableBroker.java     |    76 +
 .../kafka/metadata/properties/MetaProperties.java  |   272 +
 .../properties/MetaPropertiesEnsemble.java         |   605 +
 .../metadata/properties/MetaPropertiesVersion.java |    80 +
 .../kafka/metadata/properties/PropertiesUtils.java |   105 +
 .../metadata/publisher/FeaturesPublisher.java      |    68 +
 .../apache/kafka/metadata/storage/Formatter.java   |   521 +
 .../kafka/metadata/storage/FormatterException.java |    28 +
 .../apache/kafka/metadata/storage/ScramParser.java |   258 +
 .../kafka/metadata/util/BatchFileReader.java       |   184 +
 .../kafka/metadata/util/BatchFileWriter.java       |   121 +
 .../apache/kafka/metadata/util/RecordRedactor.java |    64 +
 .../kafka/metadata/util/SnapshotFileReader.java    |   216 +
 .../common/metadata/AbortTransactionRecord.json    |    27 +
 .../common/metadata/AccessControlEntryRecord.json  |    40 +
 .../common/metadata/BeginTransactionRecord.json    |    27 +
 .../metadata/BrokerRegistrationChangeRecord.json   |    36 +
 .../resources/common/metadata/ClearElrRecord.json  |    26 +
 .../common/metadata/ClientQuotaRecord.json         |    37 +
 .../resources/common/metadata/ConfigRecord.json    |    32 +
 .../common/metadata/DelegationTokenRecord.json     |    38 +
 .../common/metadata/EndTransactionRecord.json      |    24 +
 .../common/metadata/FeatureLevelRecord.json        |    31 +
 .../common/metadata/FenceBrokerRecord.json         |    28 +
 .../main/resources/common/metadata/NoOpRecord.json |    23 +
 .../common/metadata/PartitionChangeRecord.json     |    56 +
 .../resources/common/metadata/PartitionRecord.json |    54 +
 .../common/metadata/ProducerIdsRecord.json         |    30 +
 .../common/metadata/RegisterBrokerRecord.json      |    63 +
 .../common/metadata/RegisterControllerRecord.json  |    50 +
 .../metadata/RemoveAccessControlEntryRecord.json   |    26 +
 .../metadata/RemoveDelegationTokenRecord.json      |    26 +
 .../common/metadata/RemoveTopicRecord.json         |    26 +
 .../metadata/RemoveUserScramCredentialRecord.json  |    28 +
 .../resources/common/metadata/TopicRecord.json     |    28 +
 .../common/metadata/UnfenceBrokerRecord.json       |    28 +
 .../common/metadata/UnregisterBrokerRecord.json    |    28 +
 .../common/metadata/UserScramCredentialRecord.json |    36 +
 .../common/metadata/ZkMigrationRecord.json         |    35 +
 .../kafka/controller/AclControlManagerTest.java    |   369 +
 .../controller/ActivationRecordsGeneratorTest.java |   120 +
 .../controller/BrokerHeartbeatManagerTest.java     |   250 +
 .../controller/BrokerHeartbeatTrackerTest.java     |   126 +
 .../apache/kafka/controller/BrokerToElrsTest.java  |    72 +
 .../apache/kafka/controller/BrokersToIsrsTest.java |   107 +
 .../controller/ClientQuotaControlManagerTest.java  |   486 +
 .../controller/ClusterControlManagerTest.java      |   947 +
 .../ConfigurationControlManagerTest.java           |   501 +
 .../controller/ControllerRequestContextUtil.java   |    67 +
 .../controller/EventPerformanceMonitorTest.java    |   120 +
 .../controller/FeatureControlManagerTest.java      |   439 +
 .../kafka/controller/LogReplayTrackerTest.java     |    38 +
 .../apache/kafka/controller/MockAclMutator.java    |    92 +
 .../kafka/controller/OffsetControlManagerTest.java |   269 +
 .../controller/PartitionChangeBuilderTest.java     |  1258 +
 .../PartitionReassignmentReplicasTest.java         |   216 +
 .../PartitionReassignmentRevertTest.java           |   121 +
 .../controller/PeriodicTaskControlManagerTest.java |   300 +
 .../controller/ProducerIdControlManagerTest.java   |   165 +
 .../QuorumControllerIntegrationTestUtils.java      |   249 +
 .../QuorumControllerMetricsIntegrationTest.java    |   216 +
 .../kafka/controller/QuorumControllerTest.java     |  1756 ++
 .../kafka/controller/QuorumControllerTestEnv.java  |   202 +
 .../kafka/controller/QuorumFeaturesTest.java       |   118 +
 .../controller/ReplicationControlManagerTest.java  |  3335 +++
 .../apache/kafka/controller/ResultOrErrorTest.java |    68 +
 .../kafka/controller/ScramCredentialValueTest.java |    79 +
 .../errors/ControllerExceptionsTest.java           |   108 +
 .../errors/EventHandlerExceptionInfoTest.java      |   219 +
 .../ControllerMetadataMetricsPublisherTest.java    |   160 +
 .../metrics/ControllerMetadataMetricsTest.java     |   212 +
 .../metrics/ControllerMetricsChangesTest.java      |   175 +
 .../metrics/ControllerMetricsTestUtils.java        |   110 +
 .../metrics/QuorumControllerMetricsTest.java       |   177 +
 .../java/org/apache/kafka/image/AclsDeltaTest.java |   129 +
 .../java/org/apache/kafka/image/AclsImageTest.java |   122 +
 .../apache/kafka/image/ClientQuotasImageTest.java  |   143 +
 .../org/apache/kafka/image/ClusterImageTest.java   |   331 +
 .../kafka/image/ConfigurationsImageTest.java       |   142 +
 .../kafka/image/DelegationTokenImageTest.java      |   161 +
 .../org/apache/kafka/image/FakeSnapshotWriter.java |    93 +
 .../org/apache/kafka/image/FeaturesImageTest.java  |   169 +
 .../org/apache/kafka/image/ImageDowngradeTest.java |   210 +
 .../org/apache/kafka/image/MetadataImageTest.java  |   144 +
 .../kafka/image/MetadataVersionChangeTest.java     |    60 +
 .../apache/kafka/image/ProducerIdsImageTest.java   |   118 +
 .../org/apache/kafka/image/ScramImageTest.java     |   197 +
 .../org/apache/kafka/image/TopicsImageTest.java    |   637 +
 .../image/loader/MetadataBatchLoaderTest.java      |   479 +
 .../kafka/image/loader/MetadataLoaderTest.java     |   828 +
 .../loader/metrics/MetadataLoaderMetricsTest.java  |   162 +
 .../image/node/ClientQuotasImageNodeTest.java      |   135 +
 .../image/node/ClusterImageBrokersNodeTest.java    |    80 +
 .../node/ClusterImageControllersNodeTest.java      |    72 +
 .../kafka/image/node/ClusterImageNodeTest.java     |    59 +
 .../image/node/ConfigurationImageNodeTest.java     |    78 +
 .../image/node/ConfigurationsImageNodeTest.java    |    87 +
 .../image/node/ScramCredentialDataNodeTest.java    |    65 +
 .../kafka/image/node/TopicImageNodeTest.java       |    96 +
 .../printer/MetadataNodeRedactionCriteriaTest.java |   130 +
 .../image/node/printer/NodeStringifierTest.java    |    55 +
 .../publisher/BrokerRegistrationTrackerTest.java   |   152 +
 .../ControllerRegistrationsPublisherTest.java      |    99 +
 .../kafka/image/publisher/SnapshotEmitterTest.java |   166 +
 .../image/publisher/SnapshotGeneratorTest.java     |   241 +
 .../metrics/SnapshotEmitterMetricsTest.java        |   112 +
 .../kafka/image/writer/ImageReWriterTest.java      |    94 +
 .../kafka/image/writer/ImageWriterOptionsTest.java |    74 +
 .../kafka/image/writer/RaftSnapshotWriterTest.java |    61 +
 .../kafka/image/writer/RecordListWriterTest.java   |    62 +
 .../BrokerRegistrationFencingChangeTest.java       |    50 +
 ...RegistrationInControlledShutdownChangeTest.java |    48 +
 .../kafka/metadata/BrokerRegistrationTest.java     |   225 +
 .../org/apache/kafka/metadata/BrokerStateTest.java |    40 +
 .../apache/kafka/metadata/ConfigSynonymTest.java   |    49 +
 .../kafka/metadata/ControllerRegistrationTest.java |   138 +
 .../kafka/metadata/DelegationTokenDataTest.java    |   119 +
 .../kafka/metadata/FakeKafkaConfigSchema.java      |    60 +
 .../kafka/metadata/KafkaConfigSchemaTest.java      |   172 +
 .../apache/kafka/metadata/LeaderAndIsrTest.java    |    78 +
 .../kafka/metadata/LeaderRecoveryStateTest.java    |    89 +
 .../apache/kafka/metadata/ListenerInfoTest.java    |   217 +
 .../kafka/metadata/MetadataRecordSerdeTest.java    |   225 +
 .../kafka/metadata/MockConfigRepository.java       |    63 +
 .../kafka/metadata/MockConfigRepositoryTest.java   |    56 +
 .../metadata/OptionalStringComparatorTest.java     |    40 +
 .../kafka/metadata/PartitionRegistrationTest.java  |   463 +
 .../org/apache/kafka/metadata/RecordTestUtils.java |   382 +
 .../org/apache/kafka/metadata/ReplicasTest.java    |   128 +
 .../kafka/metadata/ScramCredentialDataTest.java    |   161 +
 .../apache/kafka/metadata/VersionRangeTest.java    |    62 +
 .../authorizer/ClusterMetadataAuthorizerTest.java  |   247 +
 .../authorizer/MockAuthorizableRequestContext.java |   161 +
 .../authorizer/StandardAclRecordIteratorTest.java  |    67 +
 .../kafka/metadata/authorizer/StandardAclTest.java |   120 +
 .../metadata/authorizer/StandardAclWithIdTest.java |    71 +
 .../authorizer/StandardAuthorizerPropertyTest.java |   300 +
 .../authorizer/StandardAuthorizerTest.java         |   732 +
 .../metadata/bootstrap/BootstrapDirectoryTest.java |   116 +
 .../metadata/bootstrap/BootstrapMetadataTest.java  |   138 +
 .../placement/PartitionAssignmentTest.java         |    79 +
 .../placement/StripedReplicaPlacerTest.java        |   306 +
 .../metadata/placement/TopicAssignmentTest.java    |    93 +
 .../properties/MetaPropertiesEnsembleTest.java     |   449 +
 .../metadata/properties/MetaPropertiesTest.java    |   183 +
 .../properties/MetaPropertiesVersionTest.java      |    99 +
 .../metadata/properties/PropertiesUtilsTest.java   |    93 +
 .../kafka/metadata/storage/FormatterTest.java      |   515 +
 .../kafka/metadata/storage/ScramParserTest.java    |   278 +
 .../metadata/util/BatchFileWriterReaderTest.java   |   111 +
 .../kafka/metadata/util/RecordRedactorTest.java    |   106 +
 .../org/apache/kafka/metalog/LocalLogManager.java  |   845 +
 .../apache/kafka/metalog/LocalLogManagerTest.java  |   172 +
 .../kafka/metalog/LocalLogManagerTestEnv.java      |   252 +
 .../kafka/metalog/MockMetaLogManagerListener.java  |   109 +
 metadata/src/test/resources/log4j2.yaml            |    36 +
 print.awk                                          |     1 +
 raft/.gitignore                                    |     1 +
 raft/README.md                                     |    51 +
 raft/config/kraft-log4j2.yaml                      |    39 +
 raft/config/kraft.properties                       |    20 +
 .../src/main/java/org/apache/kafka/raft/Batch.java |   225 +
 .../java/org/apache/kafka/raft/BatchReader.java    |    60 +
 .../java/org/apache/kafka/raft/CandidateState.java |   223 +
 .../java/org/apache/kafka/raft/ControlRecord.java  |   121 +
 .../java/org/apache/kafka/raft/DynamicVoter.java   |   190 +
 .../java/org/apache/kafka/raft/DynamicVoters.java  |   116 +
 .../java/org/apache/kafka/raft/ElectionState.java  |   217 +
 .../main/java/org/apache/kafka/raft/Endpoints.java |   303 +
 .../java/org/apache/kafka/raft/EpochState.java     |    62 +
 .../org/apache/kafka/raft/ExpirationService.java   |    32 +
 .../apache/kafka/raft/ExternalKRaftMetrics.java    |    26 +
 .../apache/kafka/raft/FileQuorumStateStore.java    |   220 +
 .../java/org/apache/kafka/raft/FollowerState.java  |   273 +
 .../main/java/org/apache/kafka/raft/Isolation.java |    22 +
 .../org/apache/kafka/raft/KafkaNetworkChannel.java |   200 +
 .../org/apache/kafka/raft/KafkaRaftClient.java     |  3885 ++++
 .../apache/kafka/raft/KafkaRaftClientDriver.java   |   127 +
 .../java/org/apache/kafka/raft/LeaderAndEpoch.java |    65 +
 .../java/org/apache/kafka/raft/LeaderState.java    |   889 +
 .../java/org/apache/kafka/raft/LogAppendInfo.java  |    31 +
 .../java/org/apache/kafka/raft/LogFetchInfo.java   |    33 +
 .../org/apache/kafka/raft/LogOffsetMetadata.java   |    66 +
 .../java/org/apache/kafka/raft/NetworkChannel.java |    47 +
 .../java/org/apache/kafka/raft/NomineeState.java   |    53 +
 .../java/org/apache/kafka/raft/OffsetAndEpoch.java |    68 +
 .../java/org/apache/kafka/raft/OffsetMetadata.java |    21 +
 .../org/apache/kafka/raft/ProspectiveState.java    |   182 +
 .../java/org/apache/kafka/raft/QuorumConfig.java   |   309 +
 .../java/org/apache/kafka/raft/QuorumState.java    |   948 +
 .../org/apache/kafka/raft/QuorumStateStore.java    |    55 +
 .../java/org/apache/kafka/raft/RaftClient.java     |   241 +
 .../java/org/apache/kafka/raft/RaftMessage.java    |    25 +
 .../org/apache/kafka/raft/RaftMessageQueue.java    |    58 +
 .../java/org/apache/kafka/raft/RaftRequest.java    |   115 +
 .../java/org/apache/kafka/raft/RaftResponse.java   |    78 +
 .../main/java/org/apache/kafka/raft/RaftUtil.java  |   768 +
 .../java/org/apache/kafka/raft/ReplicaKey.java     |    82 +
 .../java/org/apache/kafka/raft/ReplicatedLog.java  |   313 +
 .../java/org/apache/kafka/raft/RequestManager.java |   384 +
 .../java/org/apache/kafka/raft/ResignedState.java  |   179 +
 .../org/apache/kafka/raft/SegmentPosition.java     |    25 +
 .../kafka/raft/TimingWheelExpirationService.java   |    80 +
 .../org/apache/kafka/raft/UnattachedState.java     |   152 +
 .../org/apache/kafka/raft/ValidOffsetAndEpoch.java |    80 +
 .../main/java/org/apache/kafka/raft/VoterSet.java  |   480 +
 .../raft/errors/BufferAllocationException.java     |    29 +
 .../kafka/raft/errors/NotLeaderException.java      |    38 +
 .../apache/kafka/raft/errors/RaftException.java    |    39 +
 .../kafka/raft/internals/AddVoterHandler.java      |   353 +
 .../kafka/raft/internals/AddVoterHandlerState.java |    86 +
 .../kafka/raft/internals/BatchAccumulator.java     |   647 +
 .../apache/kafka/raft/internals/BatchBuilder.java  |   352 +
 .../kafka/raft/internals/BatchMemoryPool.java      |   148 +
 .../kafka/raft/internals/BlockingMessageQueue.java |    76 +
 .../apache/kafka/raft/internals/CloseListener.java |    22 +
 .../kafka/raft/internals/DefaultRequestSender.java |   110 +
 .../apache/kafka/raft/internals/EpochElection.java |   203 +
 .../kafka/raft/internals/FuturePurgatory.java      |    91 +
 .../apache/kafka/raft/internals/IdentitySerde.java |    43 +
 .../internals/KRaftControlRecordStateMachine.java  |   332 +
 .../kafka/raft/internals/KafkaRaftMetrics.java     |   288 +
 .../apache/kafka/raft/internals/LogHistory.java    |   117 +
 .../kafka/raft/internals/MemoryBatchReader.java    |    99 +
 .../kafka/raft/internals/RecordsBatchReader.java   |   127 +
 .../kafka/raft/internals/RecordsIterator.java      |   386 +
 .../kafka/raft/internals/RemoveVoterHandler.java   |   188 +
 .../raft/internals/RemoveVoterHandlerState.java    |    46 +
 .../apache/kafka/raft/internals/RequestSender.java |    53 +
 .../apache/kafka/raft/internals/StringSerde.java   |    47 +
 .../kafka/raft/internals/ThresholdPurgatory.java   |    94 +
 .../org/apache/kafka/raft/internals/TimeRatio.java |    82 +
 .../kafka/raft/internals/TreeMapLogHistory.java    |    77 +
 .../kafka/raft/internals/UpdateVoterHandler.java   |   228 +
 .../raft/internals/UpdateVoterHandlerState.java    |    72 +
 .../kafka/raft/internals/VoterSetHistory.java      |   150 +
 .../kafka/snapshot/FileRawSnapshotReader.java      |    94 +
 .../kafka/snapshot/FileRawSnapshotWriter.java      |   194 +
 .../kafka/snapshot/NotifyingRawSnapshotWriter.java |    87 +
 .../apache/kafka/snapshot/RawSnapshotReader.java   |    52 +
 .../apache/kafka/snapshot/RawSnapshotWriter.java   |    77 +
 .../kafka/snapshot/RecordsSnapshotReader.java      |   156 +
 .../kafka/snapshot/RecordsSnapshotWriter.java      |   264 +
 .../org/apache/kafka/snapshot/SnapshotPath.java    |    40 +
 .../org/apache/kafka/snapshot/SnapshotReader.java  |    64 +
 .../org/apache/kafka/snapshot/SnapshotWriter.java  |    86 +
 .../java/org/apache/kafka/snapshot/Snapshots.java  |   181 +
 .../resources/common/message/QuorumStateData.json  |    40 +
 .../org/apache/kafka/raft/CandidateStateTest.java  |   290 +
 .../org/apache/kafka/raft/ControlRecordTest.java   |    65 +
 .../org/apache/kafka/raft/DynamicVoterTest.java    |   183 +
 .../org/apache/kafka/raft/DynamicVotersTest.java   |   118 +
 .../org/apache/kafka/raft/ElectionStateTest.java   |   112 +
 .../java/org/apache/kafka/raft/EndpointsTest.java  |   363 +
 .../org/apache/kafka/raft/EpochElectionTest.java   |   139 +
 .../kafka/raft/FileQuorumStateStoreTest.java       |   232 +
 .../org/apache/kafka/raft/FollowerStateTest.java   |   143 +
 .../apache/kafka/raft/KafkaNetworkChannelTest.java |   398 +
 .../kafka/raft/KafkaRaftClientDriverTest.java      |    97 +
 .../kafka/raft/KafkaRaftClientPreVoteTest.java     |  1160 +
 .../kafka/raft/KafkaRaftClientReconfigTest.java    |  2482 ++
 .../kafka/raft/KafkaRaftClientSnapshotTest.java    |  2268 ++
 .../org/apache/kafka/raft/KafkaRaftClientTest.java |  4707 ++++
 .../org/apache/kafka/raft/LeaderStateTest.java     |   640 +
 .../apache/kafka/raft/MockExpirationService.java   |    78 +
 .../kafka/raft/MockExpirationServiceTest.java      |    56 +
 .../test/java/org/apache/kafka/raft/MockLog.java   |   746 +
 .../java/org/apache/kafka/raft/MockLogTest.java    |  1001 +
 .../org/apache/kafka/raft/MockMessageQueue.java    |    67 +
 .../org/apache/kafka/raft/MockNetworkChannel.java  |    89 +
 .../apache/kafka/raft/MockQuorumStateStore.java    |    50 +
 .../java/org/apache/kafka/raft/MockableRandom.java |    51 +
 .../apache/kafka/raft/ProspectiveStateTest.java    |   480 +
 .../org/apache/kafka/raft/QuorumStateTest.java     |  2678 +++
 .../apache/kafka/raft/RaftClientTestContext.java   |  2258 ++
 .../apache/kafka/raft/RaftEventSimulationTest.java |  1493 ++
 .../java/org/apache/kafka/raft/RaftUtilTest.java   |   666 +
 .../org/apache/kafka/raft/ReplicatedCounter.java   |   203 +
 .../org/apache/kafka/raft/RequestManagerTest.java  |   286 +
 .../org/apache/kafka/raft/ResignedStateTest.java   |   131 +
 .../org/apache/kafka/raft/UnattachedStateTest.java |   217 +
 .../apache/kafka/raft/ValidOffsetAndEpochTest.java |    53 +
 .../java/org/apache/kafka/raft/VoterSetTest.java   |   391 +
 .../kafka/raft/internals/BatchAccumulatorTest.java |   767 +
 .../kafka/raft/internals/BatchBuilderTest.java     |   126 +
 .../kafka/raft/internals/BatchMemoryPoolTest.java  |   140 +
 .../raft/internals/BlockingMessageQueueTest.java   |    60 +
 .../KRaftControlRecordStateMachineTest.java        |   464 +
 .../kafka/raft/internals/KafkaRaftMetricsTest.java |   532 +
 .../raft/internals/MemoryBatchReaderTest.java      |    71 +
 .../raft/internals/RecordsBatchReaderTest.java     |   148 +
 .../kafka/raft/internals/RecordsIteratorTest.java  |   508 +
 .../raft/internals/ThresholdPurgatoryTest.java     |   163 +
 .../apache/kafka/raft/internals/TimeRatioTest.java |    68 +
 .../raft/internals/TreeMapLogHistoryTest.java      |   110 +
 .../kafka/raft/internals/VoterSetHistoryTest.java  |   253 +
 .../apache/kafka/snapshot/FileRawSnapshotTest.java |   358 +
 .../kafka/snapshot/MockRawSnapshotReader.java      |    63 +
 .../kafka/snapshot/MockRawSnapshotWriter.java      |   105 +
 .../snapshot/NotifyingRawSnapshotWriterTest.java   |   126 +
 .../kafka/snapshot/RecordsSnapshotWriterTest.java  |   230 +
 .../kafka/snapshot/SnapshotWriterReaderTest.java   |   289 +
 .../org/apache/kafka/snapshot/SnapshotsTest.java   |   127 +
 raft/src/test/resources/log4j2.yaml                |    38 +
 release/README.md                                  |    59 +
 release/git.py                                     |   135 +
 release/gpg.py                                     |    92 +
 release/notes.py                                   |   176 +
 release/preferences.py                             |    93 +
 release/release.py                                 |   380 +
 release/requirements.txt                           |    19 +
 release/runtime.py                                 |   148 +
 release/svn.py                                     |    60 +
 release/templates.py                               |   298 +
 release/textfiles.py                               |    75 +
 .../java/org/apache/kafka/admin/AdminUtils.java    |   254 +
 .../org/apache/kafka/admin/BrokerMetadata.java     |    52 +
 .../org/apache/kafka/common/ClientIdAndBroker.java |    38 +
 .../java/org/apache/kafka/common/DirectoryId.java  |   144 +
 .../org/apache/kafka/deferred/DeferredEvent.java   |    31 +
 .../apache/kafka/deferred/DeferredEventQueue.java  |   124 +
 .../apache/kafka/metadata/AssignmentsHelper.java   |   118 +
 .../java/org/apache/kafka/queue/EventQueue.java    |   263 +
 .../org/apache/kafka/queue/KafkaEventQueue.java    |   553 +
 .../server/common/AdminCommandFailedException.java |    28 +
 .../server/common/AdminOperationException.java     |    28 +
 .../kafka/server/common/ApiMessageAndVersion.java  |    62 +
 .../apache/kafka/server/common/CheckpointFile.java |   214 +
 .../common/ControllerRequestCompletionHandler.java |    30 +
 .../kafka/server/common/DirectoryEventHandler.java |    46 +
 .../common/EligibleLeaderReplicasVersion.java      |    82 +
 .../org/apache/kafka/server/common/Feature.java    |   329 +
 .../apache/kafka/server/common/FeatureVersion.java |    57 +
 .../kafka/server/common/FinalizedFeatures.java     |    43 +
 .../apache/kafka/server/common/GroupVersion.java   |    82 +
 .../apache/kafka/server/common/KRaftVersion.java   |   109 +
 .../kafka/server/common/MetadataVersion.java       |   434 +
 .../server/common/MetadataVersionValidator.java    |    41 +
 .../common/NodeToControllerChannelManager.java     |    39 +
 .../apache/kafka/server/common/OffsetAndEpoch.java |    55 +
 .../kafka/server/common/ProducerIdsBlock.java      |   114 +
 .../apache/kafka/server/common/RequestLocal.java   |    72 +
 .../apache/kafka/server/common/StopPartition.java  |    65 +
 .../kafka/server/common/TestFeatureVersion.java    |    59 +
 .../kafka/server/common/TopicIdPartition.java      |    34 +
 .../server/common/TopicOptionalIdPartition.java    |   101 +
 .../kafka/server/common/TransactionVersion.java    |    95 +
 .../server/common/UnitTestFeatureVersion.java      |   361 +
 .../serialization/AbstractApiMessageSerde.java     |   120 +
 .../common/serialization/BytesApiMessageSerde.java |    68 +
 .../serialization/MetadataParseException.java      |    36 +
 .../server/common/serialization/RecordSerde.java   |    58 +
 .../apache/kafka/server/config/ConfigSynonym.java  |    77 +
 .../org/apache/kafka/server/config/ConfigType.java |    34 +
 .../apache/kafka/server/config/QuotaConfig.java    |   254 +
 .../kafka/server/config/ServerLogConfigs.java      |   164 +
 .../server/config/ServerTopicConfigSynonyms.java   |   144 +
 .../kafka/server/config/ZooKeeperInternals.java    |    27 +
 .../apache/kafka/server/fault/FaultHandler.java    |    45 +
 .../kafka/server/fault/FaultHandlerException.java  |    39 +
 .../kafka/server/fault/LoggingFaultHandler.java    |    54 +
 .../fault/ProcessTerminatingFaultHandler.java      |    98 +
 .../kafka/server/immutable/ImmutableMap.java       |    64 +
 .../server/immutable/ImmutableNavigableSet.java    |    59 +
 .../kafka/server/immutable/ImmutableSet.java       |    60 +
 .../pcollections/PCollectionsImmutableMap.java     |   224 +
 .../PCollectionsImmutableNavigableSet.java         |   276 +
 .../pcollections/PCollectionsImmutableSet.java     |   189 +
 .../kafka/server/metrics/FilteringJmxReporter.java |    57 +
 .../kafka/server/metrics/KafkaMetricsGroup.java    |   175 +
 .../kafka/server/metrics/KafkaYammerMetrics.java   |   183 +
 .../apache/kafka/server/mutable/BoundedList.java   |   211 +
 .../mutable/BoundedListTooLongException.java       |    33 +
 .../kafka/server/network/BrokerEndPoint.java       |    27 +
 .../network/ConnectionDisconnectListener.java      |    36 +
 .../kafka/server/network/EndpointReadyFutures.java |   214 +
 .../server/network/KafkaAuthorizerServerInfo.java  |   108 +
 .../kafka/server/purgatory/DelayedOperation.java   |   156 +
 .../server/purgatory/DelayedOperationKey.java      |    25 +
 .../purgatory/DelayedOperationPurgatory.java       |   417 +
 .../kafka/server/purgatory/GroupJoinKey.java       |    49 +
 .../kafka/server/purgatory/GroupSyncKey.java       |    49 +
 .../apache/kafka/server/purgatory/MemberKey.java   |    51 +
 .../purgatory/TopicPartitionOperationKey.java      |    62 +
 .../org/apache/kafka/server/quota/QuotaType.java   |    50 +
 .../org/apache/kafka/server/quota/QuotaUtils.java  |    79 +
 .../apache/kafka/server/quota/SensorAccess.java    |    83 +
 .../kafka/server/record/BrokerCompressionType.java |    59 +
 .../kafka/server/share/SharePartitionKey.java      |   154 +
 .../share/persister/DefaultStatePersister.java     |   554 +
 .../persister/DeleteShareGroupStateParameters.java |    60 +
 .../persister/DeleteShareGroupStateResult.java     |    61 +
 .../share/persister/GroupTopicPartitionData.java   |    90 +
 .../InitializeShareGroupStateParameters.java       |    61 +
 .../persister/InitializeShareGroupStateResult.java |    62 +
 .../share/persister/NoOpShareStatePersister.java   |   106 +
 .../server/share/persister/PartitionAllData.java   |    36 +
 .../server/share/persister/PartitionData.java      |   157 +
 .../server/share/persister/PartitionErrorData.java |    28 +
 .../server/share/persister/PartitionFactory.java   |    65 +
 .../server/share/persister/PartitionIdData.java    |    26 +
 .../persister/PartitionIdLeaderEpochData.java      |    26 +
 .../server/share/persister/PartitionInfoData.java  |    25 +
 .../share/persister/PartitionStateBatchData.java   |    34 +
 .../server/share/persister/PartitionStateData.java |    28 +
 .../share/persister/PartitionStateErrorData.java   |    32 +
 .../share/persister/PartitionStateSummaryData.java |    32 +
 .../kafka/server/share/persister/Persister.java    |    73 +
 .../share/persister/PersisterParameters.java       |    24 +
 .../server/share/persister/PersisterResult.java    |    24 +
 .../share/persister/PersisterStateBatch.java       |   137 +
 .../share/persister/PersisterStateManager.java     |  1309 ++
 .../persister/ReadShareGroupStateParameters.java   |    66 +
 .../share/persister/ReadShareGroupStateResult.java |    72 +
 .../ReadShareGroupStateSummaryParameters.java      |    74 +
 .../ReadShareGroupStateSummaryResult.java          |    63 +
 .../ShareCoordinatorMetadataCacheHelper.java       |    31 +
 .../kafka/server/share/persister/TopicData.java    |    67 +
 .../persister/WriteShareGroupStateParameters.java  |    70 +
 .../persister/WriteShareGroupStateResult.java      |    62 +
 .../kafka/server/storage/log/FetchIsolation.java   |    40 +
 .../kafka/server/storage/log/FetchParams.java      |   135 +
 .../server/storage/log/FetchPartitionData.java     |    58 +
 .../log/UnexpectedAppendOffsetException.java       |    35 +
 .../kafka/server/util/CommandDefaultOptions.java   |    41 +
 .../apache/kafka/server/util/CommandLineUtils.java |   249 +
 .../java/org/apache/kafka/server/util/Csv.java     |    57 +
 .../org/apache/kafka/server/util/Deadline.java     |    72 +
 .../org/apache/kafka/server/util/FileLock.java     |    94 +
 .../org/apache/kafka/server/util/FutureUtils.java  |   147 +
 .../kafka/server/util/InterBrokerSendThread.java   |   258 +
 .../java/org/apache/kafka/server/util/Json.java    |   108 +
 .../apache/kafka/server/util/KafkaScheduler.java   |   190 +
 .../server/util/RequestAndCompletionHandler.java   |    28 +
 .../org/apache/kafka/server/util/Scheduler.java    |    59 +
 .../kafka/server/util/ShutdownableThread.java      |   155 +
 .../kafka/server/util/ThroughputThrottler.java     |   138 +
 .../kafka/server/util/TranslatedValueMapView.java  |   116 +
 .../apache/kafka/server/util/json/DecodeJson.java  |   127 +
 .../apache/kafka/server/util/json/JsonArray.java   |    67 +
 .../apache/kafka/server/util/json/JsonObject.java  |    82 +
 .../apache/kafka/server/util/json/JsonValue.java   |   128 +
 .../kafka/server/util/timer/SystemTimer.java       |   121 +
 .../kafka/server/util/timer/SystemTimerReaper.java |    84 +
 .../org/apache/kafka/server/util/timer/Timer.java  |    41 +
 .../apache/kafka/server/util/timer/TimerTask.java  |    54 +
 .../kafka/server/util/timer/TimerTaskEntry.java    |    54 +
 .../kafka/server/util/timer/TimerTaskList.java     |   131 +
 .../kafka/server/util/timer/TimingWheel.java       |   185 +
 .../org/apache/kafka/timeline/BaseHashTable.java   |   258 +
 .../main/java/org/apache/kafka/timeline/Delta.java |    31 +
 .../java/org/apache/kafka/timeline/Revertable.java |    37 +
 .../java/org/apache/kafka/timeline/Snapshot.java   |    98 +
 .../apache/kafka/timeline/SnapshotRegistry.java    |   370 +
 .../kafka/timeline/SnapshottableHashTable.java     |   443 +
 .../org/apache/kafka/timeline/TimelineHashMap.java |   405 +
 .../org/apache/kafka/timeline/TimelineHashSet.java |   254 +
 .../org/apache/kafka/timeline/TimelineInteger.java |   121 +
 .../org/apache/kafka/timeline/TimelineLong.java    |   121 +
 .../org/apache/kafka/timeline/TimelineObject.java  |   120 +
 .../org/apache/kafka/common/DirectoryIdTest.java   |    90 +
 .../kafka/deferred/DeferredEventQueueTest.java     |   101 +
 .../kafka/metadata/AssignmentsHelperTest.java      |    96 +
 .../apache/kafka/queue/KafkaEventQueueTest.java    |   428 +
 .../apache/kafka/server/common/FeatureTest.java    |   293 +
 .../kafka/server/common/FinalizedFeaturesTest.java |    39 +
 .../kafka/server/common/KRaftVersionTest.java      |   113 +
 .../kafka/server/common/MetadataVersionTest.java   |   312 +
 .../common/MetadataVersionValidatorTest.java       |    33 +
 .../kafka/server/common/ProducerIdsBlockTest.java  |    71 +
 .../server/fault/LoggingFaultHandlerTest.java      |    57 +
 .../kafka/server/fault/MockFaultHandler.java       |    69 +
 .../fault/ProcessTerminatingFaultHandlerTest.java  |    89 +
 .../kafka/server/immutable/DelegationChecker.java  |   180 +
 .../pcollections/PCollectionsImmutableMapTest.java |   311 +
 .../PCollectionsImmutableNavigableSetTest.java     |   423 +
 .../pcollections/PCollectionsImmutableSetTest.java |   269 +
 .../server/metrics/KafkaMetricsGroupTest.java      |    37 +
 .../server/metrics/KafkaYammerMetricsTest.java     |    99 +
 .../kafka/server/mutable/BoundedListTest.java      |   212 +
 .../server/network/EndpointReadyFuturesTest.java   |   171 +
 .../server/purgatory/DelayedOperationTest.java     |   331 +
 .../apache/kafka/server/quota/QuotaUtilsTest.java  |   143 +
 .../server/record/BrokerCompressionTypeTest.java   |    54 +
 .../share/persister/DefaultStatePersisterTest.java |  1439 ++
 .../share/persister/PersisterStateManagerTest.java |  3594 +++
 .../kafka/server/util/CommandLineUtilsTest.java    |   270 +
 .../java/org/apache/kafka/server/util/CsvTest.java |    73 +
 .../org/apache/kafka/server/util/DeadlineTest.java |    70 +
 .../org/apache/kafka/server/util/FileLockTest.java |   100 +
 .../apache/kafka/server/util/FutureUtilsTest.java  |   126 +
 .../server/util/InterBrokerSendThreadTest.java     |   365 +
 .../org/apache/kafka/server/util/JsonTest.java     |   235 +
 .../org/apache/kafka/server/util/MockRandom.java   |    44 +
 .../apache/kafka/server/util/MockScheduler.java    |   192 +
 .../org/apache/kafka/server/util/MockTime.java     |    43 +
 .../kafka/server/util/ShutdownableThreadTest.java  |   134 +
 .../server/util/TranslatedValueMapViewTest.java    |   109 +
 .../apache/kafka/server/util/timer/MockTimer.java  |    93 +
 .../server/util/timer/SystemTimerReaperTest.java   |    70 +
 .../kafka/server/util/timer/TimerTaskListTest.java |   114 +
 .../apache/kafka/server/util/timer/TimerTest.java  |   155 +
 .../apache/kafka/timeline/BaseHashTableTest.java   |   146 +
 .../kafka/timeline/SnapshotRegistryTest.java       |   121 +
 .../kafka/timeline/SnapshottableHashTableTest.java |   316 +
 .../apache/kafka/timeline/TimelineHashMapTest.java |   117 +
 .../apache/kafka/timeline/TimelineHashSetTest.java |   106 +
 .../apache/kafka/timeline/TimelineIntegerTest.java |    91 +
 .../apache/kafka/timeline/TimelineLongTest.java    |    91 +
 .../apache/kafka/timeline/TimelineObjectTest.java  |    90 +
 .../kafka/timeline/TrackingSnapshotRegistry.java   |    56 +
 server-common/src/test/resources/log4j2.yaml       |    35 +
 .../kafka/network/ConnectionQuotaEntity.java       |    96 +
 .../network/ConnectionThrottledException.java      |    33 +
 .../apache/kafka/network/RequestConvertToJson.java |   804 +
 .../java/org/apache/kafka/network/Session.java     |    34 +
 .../apache/kafka/network/SocketServerConfigs.java  |   228 +
 .../kafka/network/TooManyConnectionsException.java |    33 +
 .../network/metrics/RequestChannelMetrics.java     |    59 +
 .../kafka/network/metrics/RequestMetrics.java      |   232 +
 .../apache/kafka/security/CredentialProvider.java  |    54 +
 .../apache/kafka/security/authorizer/AclEntry.java |    89 +
 .../kafka/security/authorizer/AuthorizerUtils.java |    31 +
 .../java/org/apache/kafka/server/ActionQueue.java  |    33 +
 .../java/org/apache/kafka/server/Assignment.java   |    71 +
 .../apache/kafka/server/AssignmentsManager.java    |   487 +
 .../server/AssignmentsManagerDeadlineFunction.java |    96 +
 .../org/apache/kafka/server/BrokerFeatures.java    |   155 +
 .../apache/kafka/server/ClientMetricsManager.java  |   687 +
 .../apache/kafka/server/DelayedActionQueue.java    |    51 +
 .../java/org/apache/kafka/server/ProcessRole.java  |    34 +
 .../apache/kafka/server/ServerSocketFactory.java   |    62 +
 .../kafka/server/config/AbstractKafkaConfig.java   |    72 +
 .../server/config/ClientQuotaManagerConfig.java    |    40 +
 .../config/DelegationTokenManagerConfigs.java      |    52 +
 .../apache/kafka/server/config/KRaftConfigs.java   |   141 +
 .../kafka/server/config/ReplicationConfigs.java    |   178 +
 .../config/ReplicationQuotaManagerConfig.java      |    47 +
 .../apache/kafka/server/config/ServerConfigs.java  |   154 +
 .../kafka/server/metrics/BrokerServerMetrics.java  |   187 +
 .../kafka/server/metrics/ClientMetricsConfigs.java |   197 +
 .../server/metrics/ClientMetricsInstance.java      |   141 +
 .../metrics/ClientMetricsInstanceMetadata.java     |    66 +
 .../metrics/ClientMetricsReceiverPlugin.java       |    57 +
 .../metrics/DefaultClientTelemetryPayload.java     |    61 +
 .../server/metrics/LinuxIoMetricsCollector.java    |   113 +
 .../apache/kafka/server/metrics/MetricConfigs.java |    81 +
 .../java/org/apache/kafka/server/package-info.java |    20 +
 .../kafka/server/quota/ThrottleCallback.java       |    22 +
 .../kafka/server/quota/ThrottledChannel.java       |    72 +
 .../kafka/server/share/CachedSharePartition.java   |   172 +
 .../share/ErroneousAndValidPartitionData.java      |    66 +
 .../acknowledge/ShareAcknowledgementBatch.java     |    60 +
 .../kafka/server/share/context/FinalContext.java   |    65 +
 .../server/share/context/ShareFetchContext.java    |    86 +
 .../server/share/context/ShareSessionContext.java  |   247 +
 .../share/fetch/DelayedShareFetchGroupKey.java     |    62 +
 .../server/share/fetch/DelayedShareFetchKey.java   |    25 +
 .../share/fetch/DelayedShareFetchPartitionKey.java |    58 +
 .../share/fetch/PartitionMaxBytesStrategy.java     |    77 +
 .../share/fetch/PartitionRotateStrategy.java       |   106 +
 .../server/share/fetch/ShareAcquiredRecords.java   |    72 +
 .../kafka/server/share/fetch/ShareFetch.java       |   228 +
 .../kafka/server/share/session/LastUsedKey.java    |    66 +
 .../kafka/server/share/session/ShareSession.java   |   163 +
 .../server/share/session/ShareSessionCache.java    |   162 +
 .../server/share/session/ShareSessionKey.java      |    60 +
 .../kafka/network/RequestConvertToJsonTest.java    |   131 +
 .../kafka/network/SocketServerConfigsTest.java     |   107 +
 .../org/apache/kafka/server/AssignmentTest.java    |   126 +
 .../AssignmentsManagerDeadlineFunctionTest.java    |    82 +
 .../kafka/server/AssignmentsManagerTest.java       |   521 +
 .../apache/kafka/server/BrokerFeaturesTest.java    |   132 +
 .../kafka/server/ClientMetricsManagerTest.java     |  1321 ++
 .../server/metrics/BrokerServerMetricsTest.java    |   159 +
 .../metrics/ClientMetricsInstanceMetadataTest.java |   144 +
 .../server/metrics/ClientMetricsInstanceTest.java  |    90 +
 .../metrics/ClientMetricsReceiverPluginTest.java   |    63 +
 .../server/metrics/ClientMetricsTestUtils.java     |   106 +
 .../metrics/LinuxIoMetricsCollectorTest.java       |    92 +
 .../kafka/server/quota/ThrottledChannelTest.java   |    56 +
 .../server/share/CachedSharePartitionTest.java     |    63 +
 .../share/fetch/DelayedShareFetchKeyTest.java      |    59 +
 .../share/fetch/PartitionMaxBytesStrategyTest.java |    89 +
 .../share/fetch/PartitionRotateStrategyTest.java   |    99 +
 .../kafka/server/share/fetch/ShareFetchTest.java   |   205 +
 .../server/share/fetch/ShareFetchTestUtils.java    |    77 +
 .../share/session/ShareSessionCacheTest.java       |   115 +
 .../server/share/session/ShareSessionTest.java     |    55 +
 settings.gradle                                    |   118 +
 .../share/PersisterStateBatchCombiner.java         |   402 +
 .../kafka/coordinator/share/ShareCoordinator.java  |   123 +
 .../coordinator/share/ShareCoordinatorConfig.java  |   170 +
 .../share/ShareCoordinatorOffsetsManager.java      |   122 +
 .../share/ShareCoordinatorRecordHelpers.java       |    84 +
 .../share/ShareCoordinatorRecordSerde.java         |    43 +
 .../coordinator/share/ShareCoordinatorService.java |   922 +
 .../coordinator/share/ShareCoordinatorShard.java   |   851 +
 .../kafka/coordinator/share/ShareGroupOffset.java  |   174 +
 .../share/metrics/ShareCoordinatorMetrics.java     |   187 +
 .../metrics/ShareCoordinatorMetricsShard.java      |    64 +
 .../metrics/ShareCoordinatorRuntimeMetrics.java    |    31 +
 .../resources/common/message/ShareSnapshotKey.json |    33 +
 .../common/message/ShareSnapshotValue.json         |    46 +
 .../resources/common/message/ShareUpdateKey.json   |    33 +
 .../resources/common/message/ShareUpdateValue.json |    44 +
 .../share/PersisterStateBatchCombinerTest.java     |   445 +
 .../share/ShareCoordinatorOffsetsManagerTest.java  |   209 +
 .../share/ShareCoordinatorRecordHelpersTest.java   |   136 +
 .../share/ShareCoordinatorRecordSerdeTest.java     |   233 +
 .../share/ShareCoordinatorServiceTest.java         |  1671 ++
 .../share/ShareCoordinatorShardTest.java           |  1182 +
 .../share/ShareCoordinatorTestConfig.java          |    70 +
 .../share/metrics/ShareCoordinatorMetricsTest.java |   123 +
 .../org/apache/kafka/shell/InteractiveShell.java   |   171 +
 .../java/org/apache/kafka/shell/MetadataShell.java |   295 +
 .../kafka/shell/command/CatCommandHandler.java     |   127 +
 .../kafka/shell/command/CdCommandHandler.java      |   118 +
 .../apache/kafka/shell/command/CommandUtils.java   |   153 +
 .../org/apache/kafka/shell/command/Commands.java   |   164 +
 .../shell/command/ErroneousCommandHandler.java     |    61 +
 .../kafka/shell/command/ExitCommandHandler.java    |    96 +
 .../kafka/shell/command/FindCommandHandler.java    |   133 +
 .../kafka/shell/command/HelpCommandHandler.java    |    96 +
 .../kafka/shell/command/HistoryCommandHandler.java |   116 +
 .../kafka/shell/command/LsCommandHandler.java      |   300 +
 .../kafka/shell/command/ManCommandHandler.java     |   116 +
 .../kafka/shell/command/NoOpCommandHandler.java    |    47 +
 .../kafka/shell/command/PwdCommandHandler.java     |    95 +
 .../kafka/shell/command/TreeCommandHandler.java    |   123 +
 .../org/apache/kafka/shell/glob/GlobComponent.java |   179 +
 .../org/apache/kafka/shell/glob/GlobVisitor.java   |   156 +
 .../apache/kafka/shell/node/LocalShellNode.java    |    62 +
 .../org/apache/kafka/shell/node/RootShellNode.java |    52 +
 .../kafka/shell/node/printer/ShellNodePrinter.java |    61 +
 .../kafka/shell/state/MetadataShellPublisher.java  |    59 +
 .../kafka/shell/state/MetadataShellState.java      |    57 +
 .../kafka/shell/MetadataShellIntegrationTest.java  |   124 +
 .../apache/kafka/shell/command/CommandTest.java    |    69 +
 .../kafka/shell/command/CommandUtilsTest.java      |    51 +
 .../kafka/shell/command/LsCommandHandlerTest.java  |    97 +
 .../apache/kafka/shell/glob/GlobComponentTest.java |    75 +
 .../apache/kafka/shell/glob/GlobVisitorTest.java   |   198 +
 shell/src/test/resources/log4j2.yaml               |    32 +
 .../server/log/remote/storage/LogSegmentData.java  |   140 +
 .../log/remote/storage/RemoteLogMetadata.java      |    62 +
 .../remote/storage/RemoteLogMetadataManager.java   |   243 +
 .../log/remote/storage/RemoteLogSegmentId.java     |    90 +
 .../remote/storage/RemoteLogSegmentMetadata.java   |   419 +
 .../storage/RemoteLogSegmentMetadataUpdate.java    |   123 +
 .../log/remote/storage/RemoteLogSegmentState.java  |   115 +
 .../storage/RemotePartitionDeleteMetadata.java     |    94 +
 .../remote/storage/RemotePartitionDeleteState.java |   109 +
 .../storage/RemoteResourceNotFoundException.java   |    39 +
 .../log/remote/storage/RemoteStorageException.java |    37 +
 .../log/remote/storage/RemoteStorageManager.java   |   153 +
 .../log/remote/storage/RemoteStorageMetrics.java   |   154 +
 .../server/log/remote/storage/package-info.java    |    20 +
 .../log/remote/storage/LogSegmentDataTest.java     |    55 +
 .../storage/NoOpRemoteLogMetadataManager.java      |    94 +
 .../remote/storage/NoOpRemoteStorageManager.java   |    63 +
 .../storage/RemoteLogSegmentMetadataTest.java      |    78 +
 .../ClassLoaderAwareRemoteLogMetadataManager.java  |   145 +
 .../remote/metadata/storage/ConsumerManager.java   |   146 +
 .../log/remote/metadata/storage/ConsumerTask.java  |   482 +
 .../remote/metadata/storage/ProducerManager.java   |    99 +
 .../storage/RemoteLogLeaderEpochState.java         |   190 +
 .../metadata/storage/RemoteLogMetadataCache.java   |   349 +
 .../storage/RemoteLogMetadataTopicPartitioner.java |    60 +
 .../storage/RemoteLogSegmentMetadataSnapshot.java  |   276 +
 .../RemotePartitionMetadataEventHandler.java       |    58 +
 .../storage/RemotePartitionMetadataStore.java      |   177 +
 .../TopicBasedRemoteLogMetadataManager.java        |   588 +
 .../TopicBasedRemoteLogMetadataManagerConfig.java  |   239 +
 .../serialization/RemoteLogMetadataSerde.java      |   120 +
 .../serialization/RemoteLogMetadataTransform.java  |    52 +
 .../RemoteLogSegmentMetadataSnapshotTransform.java |    80 +
 .../RemoteLogSegmentMetadataTransform.java         |   104 +
 .../RemoteLogSegmentMetadataUpdateTransform.java   |    64 +
 .../RemotePartitionDeleteMetadataTransform.java    |    54 +
 .../server/log/remote/quota/RLMQuotaManager.java   |   115 +
 .../log/remote/quota/RLMQuotaManagerConfig.java    |    59 +
 .../server/log/remote/quota/RLMQuotaMetrics.java   |    43 +
 .../ClassLoaderAwareRemoteStorageManager.java      |    99 +
 .../CustomMetadataSizeLimitExceededException.java  |    20 +
 .../log/remote/storage/RemoteLogManagerConfig.java |   507 +
 .../CheckpointFileWithFailureHandler.java          |    82 +
 .../checkpoint/CleanShutdownFileHandler.java       |   114 +
 .../checkpoint/LazyOffsetCheckpoints.java          |    61 +
 .../checkpoint/LeaderEpochCheckpointFile.java      |    85 +
 .../internals/checkpoint/OffsetCheckpointFile.java |   106 +
 .../internals/checkpoint/OffsetCheckpoints.java    |    25 +
 .../internals/checkpoint/PartitionMetadata.java    |    42 +
 .../checkpoint/PartitionMetadataFile.java          |   141 +
 .../checkpoint/PartitionMetadataReadBuffer.java    |    85 +
 .../internals/epoch/LeaderEpochFileCache.java      |   537 +
 .../kafka/storage/internals/log/AbortedTxn.java    |   117 +
 .../kafka/storage/internals/log/AbstractIndex.java |   563 +
 .../kafka/storage/internals/log/AppendOrigin.java  |    45 +
 .../internals/log/AsyncOffsetReadFutureHolder.java |    30 +
 .../kafka/storage/internals/log/BatchMetadata.java |    79 +
 .../kafka/storage/internals/log/CleanerConfig.java |   135 +
 .../kafka/storage/internals/log/CompletedTxn.java  |    75 +
 .../internals/log/CorruptIndexException.java       |    23 +
 .../internals/log/CorruptSnapshotException.java    |    27 +
 .../kafka/storage/internals/log/EpochEntry.java    |    51 +
 .../kafka/storage/internals/log/FetchDataInfo.java |    60 +
 .../kafka/storage/internals/log/IndexEntry.java    |    22 +
 .../log/IndexOffsetOverflowException.java          |    30 +
 .../storage/internals/log/IndexSearchType.java     |    21 +
 .../kafka/storage/internals/log/LastRecord.java    |    59 +
 .../kafka/storage/internals/log/LazyIndex.java     |   248 +
 .../storage/internals/log/LeaderHwChange.java      |    23 +
 .../storage/internals/log/LoadedLogOffsets.java    |    65 +
 .../kafka/storage/internals/log/LocalLog.java      |  1075 +
 .../kafka/storage/internals/log/LogAppendInfo.java |   258 +
 .../internals/log/LogCleaningAbortedException.java |    23 +
 .../kafka/storage/internals/log/LogConfig.java     |   672 +
 .../internals/log/LogDirFailureChannel.java        |    77 +
 .../kafka/storage/internals/log/LogFileUtils.java  |   214 +
 .../kafka/storage/internals/log/LogLoader.java     |   563 +
 .../storage/internals/log/LogOffsetMetadata.java   |   103 +
 .../storage/internals/log/LogOffsetSnapshot.java   |    75 +
 .../storage/internals/log/LogOffsetsListener.java  |    36 +
 .../kafka/storage/internals/log/LogReadInfo.java   |    60 +
 .../kafka/storage/internals/log/LogSegment.java    |   893 +
 .../log/LogSegmentOffsetOverflowException.java     |    36 +
 .../kafka/storage/internals/log/LogSegments.java   |   351 +
 .../log/LogStartOffsetIncrementReason.java         |    37 +
 .../kafka/storage/internals/log/LogTruncation.java |    38 +
 .../kafka/storage/internals/log/LogValidator.java  |   626 +
 .../kafka/storage/internals/log/OffsetIndex.java   |   247 +
 .../kafka/storage/internals/log/OffsetMap.java     |    33 +
 .../storage/internals/log/OffsetPosition.java      |    70 +
 .../storage/internals/log/OffsetResultHolder.java  |   145 +
 .../internals/log/OffsetsOutOfOrderException.java  |    27 +
 .../storage/internals/log/ProducerAppendInfo.java  |   244 +
 .../storage/internals/log/ProducerStateEntry.java  |   180 +
 .../internals/log/ProducerStateManager.java        |   711 +
 .../internals/log/ProducerStateManagerConfig.java  |    43 +
 .../internals/log/RecordValidationException.java   |    42 +
 .../storage/internals/log/RemoteIndexCache.java    |   736 +
 .../storage/internals/log/RemoteLogReadResult.java |    29 +
 .../internals/log/RemoteStorageFetchInfo.java      |    54 +
 .../internals/log/RemoteStorageThreadPool.java     |    72 +
 .../kafka/storage/internals/log/RollParams.java    |    58 +
 .../internals/log/SegmentDeletionReason.java       |    23 +
 .../storage/internals/log/SkimpyOffsetMap.java     |   241 +
 .../kafka/storage/internals/log/SnapshotFile.java  |    80 +
 .../kafka/storage/internals/log/StorageAction.java |    28 +
 .../internals/log/ThreadShutdownException.java     |    23 +
 .../log/ThrottledReplicaListValidator.java         |    52 +
 .../kafka/storage/internals/log/TimeIndex.java     |   288 +
 .../storage/internals/log/TimestampOffset.java     |    77 +
 .../storage/internals/log/TransactionIndex.java    |   272 +
 .../internals/log/TxnIndexSearchResult.java        |    30 +
 .../kafka/storage/internals/log/TxnMetadata.java   |    51 +
 .../kafka/storage/internals/log/UnifiedLog.java    |   209 +
 .../storage/internals/log/VerificationGuard.java   |    62 +
 .../internals/log/VerificationStateEntry.java      |    90 +
 .../kafka/storage/internals/utils/Throttler.java   |   105 +
 .../storage/log/metrics/BrokerTopicMetrics.java    |   429 +
 .../storage/log/metrics/BrokerTopicStats.java      |   271 +
 .../main/resources/message/ProducerSnapshot.json   |    85 +
 .../message/RemoteLogSegmentMetadataRecord.json    |   142 +
 .../RemoteLogSegmentMetadataSnapshotRecord.json    |   108 +
 .../RemoteLogSegmentMetadataUpdateRecord.json      |    90 +
 .../RemotePartitionDeleteMetadataRecord.json       |    68 +
 ...assLoaderAwareRemoteLogMetadataManagerTest.java |    51 +
 .../remote/metadata/storage/ConsumerTaskTest.java  |   480 +
 .../storage/RemoteLogLeaderEpochStateTest.java     |   207 +
 .../storage/RemoteLogMetadataCacheTest.java        |   162 +
 .../storage/RemoteLogMetadataFormatterTest.java    |    79 +
 .../storage/RemoteLogMetadataManagerTestUtils.java |   105 +
 .../storage/RemoteLogMetadataSerdeTest.java        |   119 +
 .../storage/RemoteLogMetadataTransformTest.java    |    84 +
 .../storage/RemoteLogSegmentLifecycleTest.java     |   358 +
 ...picBasedRemoteLogMetadataManagerConfigTest.java |   135 +
 ...ogMetadataManagerMultipleSubscriptionsTest.java |   181 +
 ...icBasedRemoteLogMetadataManagerRestartTest.java |   121 +
 .../TopicBasedRemoteLogMetadataManagerTest.java    |   310 +
 ...oteLogSegmentMetadataSnapshotTransformTest.java |    62 +
 .../RemoteLogSegmentMetadataTransformTest.java     |    63 +
 ...emoteLogSegmentMetadataUpdateTransformTest.java |    63 +
 .../log/remote/quota/RLMQuotaManagerTest.java      |   119 +
 .../ClassLoaderAwareRemoteStorageManagerTest.java  |    46 +
 .../log/remote/storage/LocalTieredStorage.java     |   576 +
 .../storage/LocalTieredStorageCondition.java       |   228 +
 .../remote/storage/LocalTieredStorageEvent.java    |   177 +
 .../remote/storage/LocalTieredStorageHistory.java  |   116 +
 .../remote/storage/LocalTieredStorageListener.java |    74 +
 .../remote/storage/LocalTieredStorageSnapshot.java |   103 +
 .../log/remote/storage/LocalTieredStorageTest.java |   661 +
 .../storage/LocalTieredStorageTraverser.java       |    40 +
 .../remote/storage/RemoteLogManagerConfigTest.java |   130 +
 .../storage/RemoteLogMetadataManagerTest.java      |   159 +
 .../remote/storage/RemoteLogSegmentFileset.java    |   277 +
 .../storage/RemoteTopicPartitionDirectory.java     |   170 +
 .../storage/RemoteTopicPartitionDirectoryTest.java |    48 +
 .../server/log/remote/storage/Transferer.java      |    33 +
 .../checkpoint/CleanShutdownFileHandlerTest.java   |    81 +
 ...rEpochCheckpointFileWithFailureHandlerTest.java |    82 +
 ...OffsetCheckpointFileWithFailureHandlerTest.java |   165 +
 .../checkpoint/PartitionMetadataFileTest.java      |    98 +
 .../kafka/storage/internals/log/LocalLogTest.java  |   754 +
 .../internals/log/LogOffsetMetadataTest.java       |    83 +
 .../storage/internals/log/LogSegmentTest.java      |   887 +
 .../storage/internals/log/LogSegmentsTest.java     |   279 +
 .../kafka/storage/internals/log/LogTestUtils.java  |    36 +
 .../storage/internals/log/LogValidatorTest.java    |  2056 ++
 .../storage/internals/log/OffsetIndexTest.java     |   270 +
 .../kafka/storage/internals/log/OffsetMapTest.java |   108 +
 .../internals/log/ProducerStateManagerTest.java    |  1356 ++
 .../kafka/storage/internals/log/TimeIndexTest.java |   205 +
 .../internals/log/TransactionIndexTest.java        |   225 +
 .../internals/log/VerificationGuardTest.java       |    53 +
 .../storage/internals/utils/ThrottlerTest.java     |   116 +
 .../java/org/apache/kafka/tiered/storage/README.md |    11 +
 .../tiered/storage/TieredStorageTestAction.java    |    36 +
 .../tiered/storage/TieredStorageTestBuilder.java   |   423 +
 .../tiered/storage/TieredStorageTestContext.java   |   369 +
 .../tiered/storage/TieredStorageTestHarness.java   |   162 +
 .../tiered/storage/TieredStorageTestReport.java    |    72 +
 .../tiered/storage/actions/AlterLogDirAction.java  |    80 +
 .../tiered/storage/actions/BounceBrokerAction.java |    41 +
 .../tiered/storage/actions/ConsumeAction.java      |   197 +
 .../storage/actions/CreatePartitionsAction.java    |    43 +
 .../tiered/storage/actions/CreateTopicAction.java  |    53 +
 .../storage/actions/DeleteRecordsAction.java       |    86 +
 .../tiered/storage/actions/DeleteTopicAction.java  |    86 +
 .../storage/actions/EraseBrokerStorageAction.java  |    54 +
 .../storage/actions/ExpectBrokerInISRAction.java   |    58 +
 .../actions/ExpectEmptyRemoteStorageAction.java    |    52 +
 .../tiered/storage/actions/ExpectLeaderAction.java |   113 +
 .../actions/ExpectLeaderEpochCheckpointAction.java |    72 +
 .../storage/actions/ExpectListOffsetsAction.java   |    69 +
 .../ExpectTopicIdToMatchInRemoteStorageAction.java |    61 +
 ...tUserTopicMappedToMetadataPartitionsAction.java |    74 +
 .../tiered/storage/actions/ProduceAction.java      |   166 +
 .../storage/actions/ReassignReplicaAction.java     |    78 +
 .../storage/actions/ShrinkReplicaAction.java       |    83 +
 .../tiered/storage/actions/StartBrokerAction.java  |    41 +
 .../tiered/storage/actions/StopBrokerAction.java   |    41 +
 .../storage/actions/UpdateBrokerConfigAction.java  |    53 +
 .../storage/actions/UpdateTopicConfigAction.java   |    52 +
 .../storage/integration/AlterLogDirTest.java       |    68 +
 .../integration/BaseDeleteSegmentsTest.java        |    72 +
 .../integration/BaseReassignReplicaTest.java       |   102 +
 .../DeleteSegmentsByRetentionSizeTest.java         |    30 +
 .../DeleteSegmentsByRetentionTimeTest.java         |    30 +
 ...eleteSegmentsDueToLogStartOffsetBreachTest.java |    92 +
 .../storage/integration/DeleteTopicTest.java       |    77 +
 .../integration/DisableRemoteLogOnTopicTest.java   |   129 +
 .../integration/EnableRemoteLogOnTopicTest.java    |    89 +
 ...FetchFromLeaderWithCorruptedCheckpointTest.java |    85 +
 .../storage/integration/ListOffsetsTest.java       |   127 +
 .../OffloadAndConsumeFromLeaderTest.java           |   135 +
 .../OffloadAndTxnConsumeFromLeaderTest.java        |   108 +
 .../storage/integration/PartitionsExpandTest.java  |   107 +
 .../integration/ReassignReplicaExpandTest.java     |    32 +
 .../integration/ReassignReplicaMoveTest.java       |    32 +
 .../integration/ReassignReplicaShrinkTest.java     |   106 +
 .../RollAndOffloadActiveSegmentTest.java           |    75 +
 .../TransactionsWithTieredStoreTest.java           |   126 +
 .../kafka/tiered/storage/specs/ConsumableSpec.java |    70 +
 .../kafka/tiered/storage/specs/DeletableSpec.java  |    72 +
 .../storage/specs/ExpandPartitionCountSpec.java    |    69 +
 .../kafka/tiered/storage/specs/FetchableSpec.java  |    60 +
 .../kafka/tiered/storage/specs/KeyValueSpec.java   |    75 +
 .../tiered/storage/specs/OffloadableSpec.java      |    73 +
 .../tiered/storage/specs/OffloadedSegmentSpec.java |    87 +
 .../kafka/tiered/storage/specs/ProducableSpec.java |    81 +
 .../storage/specs/RemoteDeleteSegmentSpec.java     |    89 +
 .../tiered/storage/specs/RemoteFetchCount.java     |   145 +
 .../tiered/storage/specs/RemoteFetchSpec.java      |    77 +
 .../kafka/tiered/storage/specs/TopicSpec.java      |   106 +
 .../tiered/storage/utils/BrokerLocalStorage.java   |   233 +
 .../storage/utils/DumpLocalTieredStorage.java      |    29 +
 .../storage/utils/LocalTieredStorageOutput.java    |   105 +
 .../storage/utils/RecordsKeyValueMatcher.java      |   180 +
 .../storage/utils/TieredStorageTestUtils.java      |   197 +
 storage/src/test/resources/log4j2.yaml             |    57 +
 storage/storage-2024-12-15.log                     |   610 +
 storage/storage-2025-01-23.log                     |   540 +
 storage/storage.log                                | 23212 +++++++++++++++++++
 streams/.gitignore                                 |     1 +
 .../examples/pageview/JsonTimestampExtractor.java  |    46 +
 .../examples/pageview/PageViewTypedDemo.java       |   250 +
 .../examples/pageview/PageViewUntypedDemo.java     |   120 +
 .../kafka/streams/examples/pipe/PipeDemo.java      |    75 +
 .../examples/temperature/TemperatureDemo.java      |   129 +
 .../streams/examples/wordcount/WordCountDemo.java  |   112 +
 .../examples/wordcount/WordCountProcessorDemo.java |   153 +
 .../wordcount/WordCountTransformerDemo.java        |   160 +
 .../examples/docs/DeveloperGuideTesting.java       |   184 +
 .../examples/wordcount/WordCountDemoTest.java      |   127 +
 .../examples/wordcount/WordCountProcessorTest.java |    72 +
 .../wordcount/WordCountTransformerTest.java        |    93 +
 .../integration/AbstractJoinIntegrationTest.java   |   296 +
 .../integration/AdjustStreamThreadCountTest.java   |   480 +
 .../ConsistencyVectorIntegrationTest.java          |   219 +
 .../EOSUncleanShutdownIntegrationTest.java         |   166 +
 .../integration/EmitOnChangeIntegrationTest.java   |   171 +
 .../streams/integration/EosIntegrationTest.java    |  1262 +
 .../FineGrainedAutoResetIntegrationTest.java       |   438 +
 .../streams/integration/ForeignKeyJoinSuite.java   |    51 +
 .../GlobalKTableEOSIntegrationTest.java            |   554 +
 .../integration/GlobalKTableIntegrationTest.java   |   407 +
 .../integration/GlobalStateReprocessTest.java      |   203 +
 .../integration/GlobalThreadShutDownOrderTest.java |   243 +
 ...HandlingSourceTopicDeletionIntegrationTest.java |   128 +
 ...ighAvailabilityTaskAssignorIntegrationTest.java |   338 +
 .../streams/integration/IQv2IntegrationTest.java   |   463 +
 .../integration/IQv2StoreIntegrationTest.java      |  2053 ++
 .../IQv2VersionedStoreIntegrationTest.java         |   380 +
 .../integration/InternalTopicIntegrationTest.java  |   264 +
 .../JoinGracePeriodDurabilityIntegrationTest.java  |   228 +
 .../integration/JoinStoreIntegrationTest.java      |   183 +
 .../JoinWithIncompleteMetadataIntegrationTest.java |   114 +
 .../KStreamAggregationDedupIntegrationTest.java    |   272 +
 .../KStreamAggregationIntegrationTest.java         |  1136 +
 .../integration/KStreamKStreamIntegrationTest.java |   190 +
 .../KStreamRepartitionIntegrationTest.java         |   870 +
 .../integration/KTableEfficientRangeQueryTest.java |   235 +
 ...yInnerJoinCustomPartitionerIntegrationTest.java |   345 +
 ...bleForeignKeyInnerJoinMultiIntegrationTest.java |   284 +
 .../KTableKTableForeignKeyJoinDistributedTest.java |   240 +
 .../KTableKTableForeignKeyJoinIntegrationTest.java |  1175 +
 ...reignKeyJoinMaterializationIntegrationTest.java |   183 +
 .../KTableSourceTopicRestartIntegrationTest.java   |   252 +
 .../KafkaStreamsCloseOptionsIntegrationTest.java   |   192 +
 .../KafkaStreamsTelemetryIntegrationTest.java      |   552 +
 .../streams/integration/KafkaStreamsWrapper.java   |    58 +
 .../integration/LagFetchIntegrationTest.java       |   368 +
 .../integration/MetricsIntegrationTest.java        |   763 +
 .../MetricsReporterIntegrationTest.java            |   131 +
 .../integration/NamedTopologyIntegrationTest.java  |   782 +
 .../OptimizedKTableIntegrationTest.java            |   225 +
 .../integration/PauseResumeIntegrationTest.java    |   419 +
 .../PositionRestartIntegrationTest.java            |   673 +
 .../ProcessingExceptionHandlerIntegrationTest.java |   480 +
 .../PurgeRepartitionTopicIntegrationTest.java      |   228 +
 .../integration/QueryableStateIntegrationTest.java |  1296 ++
 .../integration/RangeQueryIntegrationTest.java     |   282 +
 .../integration/RegexSourceIntegrationTest.java    |   502 +
 .../RelaxedNullKeyRequirementJoinTest.java         |   152 +
 .../ResetPartitionTimeIntegrationTest.java         |   186 +
 .../integration/RestoreIntegrationTest.java        |   875 +
 .../integration/RocksDBMetricsIntegrationTest.java |   314 +
 .../SelfJoinUpgradeIntegrationTest.java            |   279 +
 .../SlidingWindowedKStreamIntegrationTest.java     |   458 +
 .../SmokeTestDriverIntegrationTest.java            |   178 +
 .../StandbyTaskCreationIntegrationTest.java        |   197 +
 .../integration/StandbyTaskEOSIntegrationTest.java |   397 +
 ...tandbyTaskEOSMultiRebalanceIntegrationTest.java |   302 +
 .../integration/StateDirectoryIntegrationTest.java |   277 +
 .../integration/StoreQueryIntegrationTest.java     |   677 +
 .../kafka/streams/integration/StoreQuerySuite.java |    48 +
 .../integration/StoreUpgradeIntegrationTest.java   |  1059 +
 .../StreamStreamJoinIntegrationTest.java           |   517 +
 .../StreamTableJoinIntegrationTest.java            |   204 +
 ...bleJoinTopologyOptimizationIntegrationTest.java |   260 +
 .../StreamTableJoinWithGraceIntegrationTest.java   |   133 +
 ...amsUncaughtExceptionHandlerIntegrationTest.java |   374 +
 .../StreamsUpgradeTestIntegrationTest.java         |   133 +
 .../SuppressionDurabilityIntegrationTest.java      |   315 +
 .../integration/SuppressionIntegrationTest.java    |   542 +
 .../SwallowUnknownTopicErrorIntegrationTest.java   |   193 +
 .../integration/TableTableJoinIntegrationTest.java |  1046 +
 .../integration/TaskAssignorIntegrationTest.java   |   166 +
 .../integration/TaskMetadataIntegrationTest.java   |   202 +
 .../TestingMetricsInterceptingAdminClient.java     |   445 +
 .../TimeWindowedKStreamIntegrationTest.java        |   492 +
 .../VersionedKeyValueStoreIntegrationTest.java     |   844 +
 .../integration/utils/CompositeStateListener.java  |    49 +
 .../integration/utils/EmbeddedKafkaCluster.java    |   452 +
 .../integration/utils/IntegrationTestUtils.java    |  1408 ++
 .../src/test/resources/log4j2.yaml                 |    65 +
 ...bleJoinScalaIntegrationTestImplicitSerdes.scala |   175 +
 .../kafka/streams/integration/WordCountTest.scala  |   250 +
 ...StreamToTableJoinScalaIntegrationTestBase.scala |   144 +
 .../utils/StreamToTableJoinTestData.scala          |    60 +
 streams/quickstart/java/pom.xml                    |    36 +
 .../META-INF/maven/archetype-metadata.xml          |    34 +
 .../src/main/resources/archetype-resources/pom.xml |   120 +
 .../src/main/java/LineSplit.java                   |    72 +
 .../archetype-resources/src/main/java/Pipe.java    |    67 +
 .../src/main/java/WordCount.java                   |    81 +
 .../src/main/resources/log4j2.yaml                 |    32 +
 .../resources/projects/basic/archetype.properties  |    18 +
 .../src/test/resources/projects/basic/goal.txt     |     1 +
 streams/quickstart/pom.xml                         |   121 +
 .../org/apache/kafka/streams/AutoOffsetReset.java  |   103 +
 .../apache/kafka/streams/ClientInstanceIds.java    |    53 +
 .../apache/kafka/streams/KafkaClientSupplier.java  |    78 +
 .../org/apache/kafka/streams/KafkaStreams.java     |  2160 ++
 .../org/apache/kafka/streams/KeyQueryMetadata.java |   103 +
 .../java/org/apache/kafka/streams/KeyValue.java    |    83 +
 .../java/org/apache/kafka/streams/LagInfo.java     |    91 +
 .../apache/kafka/streams/StoreQueryParameters.java |   129 +
 .../org/apache/kafka/streams/StreamsBuilder.java   |   591 +
 .../org/apache/kafka/streams/StreamsConfig.java    |  2091 ++
 .../org/apache/kafka/streams/StreamsMetadata.java  |   104 +
 .../org/apache/kafka/streams/StreamsMetrics.java   |   142 +
 .../org/apache/kafka/streams/TaskMetadata.java     |    87 +
 .../org/apache/kafka/streams/ThreadMetadata.java   |   114 +
 .../java/org/apache/kafka/streams/Topology.java    |  1176 +
 .../org/apache/kafka/streams/TopologyConfig.java   |   347 +
 .../apache/kafka/streams/TopologyDescription.java  |   190 +
 .../streams/errors/BrokerNotFoundException.java    |    42 +
 .../errors/DefaultProductionExceptionHandler.java  |    55 +
 .../errors/DeserializationExceptionHandler.java    |    98 +
 .../kafka/streams/errors/ErrorHandlerContext.java  |   150 +
 .../streams/errors/InvalidStateStoreException.java |    38 +
 .../InvalidStateStorePartitionException.java       |    40 +
 .../apache/kafka/streams/errors/LockException.java |    40 +
 .../errors/LogAndContinueExceptionHandler.java     |    77 +
 .../LogAndContinueProcessingExceptionHandler.java  |    52 +
 .../streams/errors/LogAndFailExceptionHandler.java |    77 +
 .../LogAndFailProcessingExceptionHandler.java      |    52 +
 .../errors/MissingSourceTopicException.java        |    26 +
 .../streams/errors/ProcessingExceptionHandler.java |    61 +
 .../streams/errors/ProcessorStateException.java    |    39 +
 .../streams/errors/ProductionExceptionHandler.java |   156 +
 .../errors/StateStoreMigratedException.java        |    38 +
 .../errors/StateStoreNotAvailableException.java    |    38 +
 .../kafka/streams/errors/StreamsException.java     |    75 +
 .../streams/errors/StreamsNotStartedException.java |    39 +
 .../errors/StreamsRebalancingException.java        |    36 +
 .../streams/errors/StreamsStoppedException.java    |    39 +
 .../errors/StreamsUncaughtExceptionHandler.java    |    56 +
 .../streams/errors/TaskAssignmentException.java    |    39 +
 .../streams/errors/TaskCorruptedException.java     |    50 +
 .../streams/errors/TaskIdFormatException.java      |    42 +
 .../streams/errors/TaskMigratedException.java      |    36 +
 .../kafka/streams/errors/TopologyException.java    |    39 +
 .../streams/errors/UnknownStateStoreException.java |    36 +
 .../streams/errors/UnknownTopologyException.java   |    35 +
 .../internals/DefaultErrorHandlerContext.java      |   108 +
 .../internals/FailedProcessingException.java       |    43 +
 .../apache/kafka/streams/errors/package-info.java  |    20 +
 .../apache/kafka/streams/internals/ApiUtils.java   |    90 +
 .../streams/internals/AutoOffsetResetInternal.java |    45 +
 .../streams/internals/ClientInstanceIdsImpl.java   |    62 +
 .../streams/internals/StreamsConfigUtils.java      |    83 +
 .../kafka/streams/internals/UpgradeFromValues.java |    58 +
 .../streams/internals/metrics/ClientMetrics.java   |   172 +
 .../StreamsClientMetricsDelegatingReporter.java    |    79 +
 .../StreamsThreadMetricsDelegatingReporter.java    |    86 +
 .../apache/kafka/streams/kstream/Aggregator.java   |    56 +
 .../org/apache/kafka/streams/kstream/Branched.java |   166 +
 .../kafka/streams/kstream/BranchedKStream.java     |   180 +
 .../kafka/streams/kstream/CogroupedKStream.java    |   323 +
 .../org/apache/kafka/streams/kstream/Consumed.java |   336 +
 .../apache/kafka/streams/kstream/EmitStrategy.java |   113 +
 .../kafka/streams/kstream/ForeachAction.java       |    44 +
 .../kafka/streams/kstream/ForeachProcessor.java    |    38 +
 .../apache/kafka/streams/kstream/GlobalKTable.java |    75 +
 .../org/apache/kafka/streams/kstream/Grouped.java  |   195 +
 .../apache/kafka/streams/kstream/Initializer.java  |    41 +
 .../apache/kafka/streams/kstream/JoinWindows.java  |   271 +
 .../org/apache/kafka/streams/kstream/Joined.java   |   306 +
 .../kafka/streams/kstream/KGroupedStream.java      |   581 +
 .../kafka/streams/kstream/KGroupedTable.java       |   706 +
 .../org/apache/kafka/streams/kstream/KStream.java  |  3029 +++
 .../org/apache/kafka/streams/kstream/KTable.java   |  2454 ++
 .../kafka/streams/kstream/KeyValueMapper.java      |    57 +
 .../apache/kafka/streams/kstream/Materialized.java |   395 +
 .../org/apache/kafka/streams/kstream/Merger.java   |    37 +
 .../org/apache/kafka/streams/kstream/Named.java    |    87 +
 .../kafka/streams/kstream/NamedOperation.java      |    32 +
 .../apache/kafka/streams/kstream/Predicate.java    |    44 +
 .../org/apache/kafka/streams/kstream/Printed.java  |   136 +
 .../org/apache/kafka/streams/kstream/Produced.java |   197 +
 .../org/apache/kafka/streams/kstream/Reducer.java  |    49 +
 .../kafka/streams/kstream/Repartitioned.java       |   171 +
 .../kstream/SessionWindowedCogroupedKStream.java   |   267 +
 .../kstream/SessionWindowedDeserializer.java       |    92 +
 .../streams/kstream/SessionWindowedKStream.java    |   666 +
 .../streams/kstream/SessionWindowedSerializer.java |    97 +
 .../kafka/streams/kstream/SessionWindows.java      |   176 +
 .../kafka/streams/kstream/SlidingWindows.java      |   163 +
 .../apache/kafka/streams/kstream/StreamJoined.java |   429 +
 .../apache/kafka/streams/kstream/Suppressed.java   |   199 +
 .../apache/kafka/streams/kstream/TableJoined.java  |   135 +
 .../kstream/TimeWindowedCogroupedKStream.java      |   255 +
 .../streams/kstream/TimeWindowedDeserializer.java  |   128 +
 .../kafka/streams/kstream/TimeWindowedKStream.java |   671 +
 .../streams/kstream/TimeWindowedSerializer.java    |    98 +
 .../apache/kafka/streams/kstream/TimeWindows.java  |   204 +
 .../apache/kafka/streams/kstream/Transformer.java  |   100 +
 .../kafka/streams/kstream/TransformerSupplier.java |    53 +
 .../kafka/streams/kstream/UnlimitedWindows.java    |   131 +
 .../apache/kafka/streams/kstream/ValueJoiner.java  |    53 +
 .../kafka/streams/kstream/ValueJoinerWithKey.java  |    58 +
 .../apache/kafka/streams/kstream/ValueMapper.java  |    49 +
 .../kafka/streams/kstream/ValueMapperWithKey.java  |    51 +
 .../kafka/streams/kstream/ValueTransformer.java    |   102 +
 .../streams/kstream/ValueTransformerSupplier.java  |    51 +
 .../streams/kstream/ValueTransformerWithKey.java   |   108 +
 .../kstream/ValueTransformerWithKeySupplier.java   |    50 +
 .../org/apache/kafka/streams/kstream/Window.java   |   140 +
 .../org/apache/kafka/streams/kstream/Windowed.java |    83 +
 .../kafka/streams/kstream/WindowedSerdes.java      |    88 +
 .../org/apache/kafka/streams/kstream/Windows.java  |    77 +
 .../AbstractConfigurableStoreFactory.java          |    56 +
 ...bstractKStreamTimeWindowAggregateProcessor.java |   232 +
 .../streams/kstream/internals/AbstractStream.java  |   120 +
 .../kstream/internals/BranchedInternal.java        |    49 +
 .../kstream/internals/BranchedKStreamImpl.java     |   119 +
 .../kafka/streams/kstream/internals/Change.java    |    60 +
 .../kstream/internals/ChangedDeserializer.java     |   151 +
 .../kstream/internals/ChangedSerializer.java       |   154 +
 .../kstream/internals/CogroupedKStreamImpl.java    |   150 +
 .../internals/CogroupedStreamAggregateBuilder.java |   281 +
 .../kstream/internals/ConsumedInternal.java        |    58 +
 .../kstream/internals/ForeachProcessor.java        |    35 +
 .../streams/kstream/internals/FullChangeSerde.java |    86 +
 .../kstream/internals/FullTimeWindowedSerde.java   |    32 +
 .../kstream/internals/GlobalKTableImpl.java        |    41 +
 .../streams/kstream/internals/GroupedInternal.java |    40 +
 .../internals/GroupedStreamAggregateBuilder.java   |   170 +
 .../kstream/internals/InternalNameProvider.java    |    23 +
 .../kstream/internals/InternalStreamsBuilder.java  |   709 +
 .../kstream/internals/JoinWindowsInternal.java     |    30 +
 .../streams/kstream/internals/JoinedInternal.java  |    51 +
 .../kstream/internals/KGroupedStreamImpl.java      |   263 +
 .../kstream/internals/KGroupedTableImpl.java       |   249 +
 .../internals/KStreamAggProcessorSupplier.java     |    26 +
 .../kstream/internals/KStreamAggregate.java        |   185 +
 .../streams/kstream/internals/KStreamBranch.java   |    61 +
 .../streams/kstream/internals/KStreamFilter.java   |    48 +
 .../streams/kstream/internals/KStreamFlatMap.java  |    52 +
 .../kstream/internals/KStreamFlatMapValues.java    |    48 +
 .../kstream/internals/KStreamGlobalKTableJoin.java |    47 +
 .../streams/kstream/internals/KStreamImpl.java     |  1310 ++
 .../streams/kstream/internals/KStreamImplJoin.java |   264 +
 .../kstream/internals/KStreamJoinWindow.java       |    72 +
 .../kstream/internals/KStreamKStreamJoin.java      |   325 +
 .../internals/KStreamKStreamJoinLeftSide.java      |    72 +
 .../internals/KStreamKStreamJoinRightSide.java     |    71 +
 .../kstream/internals/KStreamKStreamSelfJoin.java  |   154 +
 .../kstream/internals/KStreamKTableJoin.java       |    64 +
 .../internals/KStreamKTableJoinProcessor.java      |   179 +
 .../streams/kstream/internals/KStreamMap.java      |    51 +
 .../kstream/internals/KStreamMapValues.java        |    45 +
 .../streams/kstream/internals/KStreamPeek.java     |    46 +
 .../streams/kstream/internals/KStreamPrint.java    |    52 +
 .../streams/kstream/internals/KStreamReduce.java   |   181 +
 .../internals/KStreamSessionWindowAggregate.java   |   403 +
 .../internals/KStreamSlidingWindowAggregate.java   |   521 +
 .../kstream/internals/KStreamWindowAggregate.java  |   233 +
 .../streams/kstream/internals/KTableAggregate.java |   151 +
 .../streams/kstream/internals/KTableFilter.java    |   229 +
 .../streams/kstream/internals/KTableImpl.java      |  1429 ++
 .../internals/KTableKTableAbstractJoin.java        |    72 +
 ...TableKTableAbstractJoinValueGetterSupplier.java |    43 +
 .../kstream/internals/KTableKTableInnerJoin.java   |   194 +
 .../kstream/internals/KTableKTableJoinMerger.java  |   150 +
 .../kstream/internals/KTableKTableLeftJoin.java    |   203 +
 .../kstream/internals/KTableKTableOuterJoin.java   |   211 +
 .../kstream/internals/KTableKTableRightJoin.java   |   194 +
 .../streams/kstream/internals/KTableMapValues.java |   203 +
 .../KTableMaterializedValueGetterSupplier.java     |    62 +
 .../kstream/internals/KTablePassThrough.java       |   104 +
 .../kstream/internals/KTableProcessorSupplier.java |    40 +
 .../streams/kstream/internals/KTableReduce.java    |   142 +
 .../kstream/internals/KTableRepartitionMap.java    |   221 +
 .../internals/KTableRepartitionMapSupplier.java    |    40 +
 .../streams/kstream/internals/KTableSource.java    |   179 +
 .../internals/KTableSourceValueGetterSupplier.java |    61 +
 .../kstream/internals/KTableTransformValues.java   |   204 +
 .../kstream/internals/KTableValueGetter.java       |    45 +
 .../internals/KTableValueGetterSupplier.java       |    24 +
 .../internals/KeyValueStoreMaterializer.java       |   107 +
 .../kstream/internals/MaterializedInternal.java    |   125 +
 .../internals/MaterializedStoreFactory.java        |    87 +
 .../streams/kstream/internals/NamedInternal.java   |    96 +
 .../internals/OuterStreamJoinStoreFactory.java     |   213 +
 .../streams/kstream/internals/PassThrough.java     |    37 +
 .../kstream/internals/PrintForeachAction.java      |    67 +
 .../streams/kstream/internals/PrintedInternal.java |    34 +
 .../kstream/internals/ProducedInternal.java        |    45 +
 .../kstream/internals/RepartitionedInternal.java   |    53 +
 .../internals/SessionCacheFlushListener.java       |    47 +
 .../internals/SessionStoreMaterializer.java        |   113 +
 .../streams/kstream/internals/SessionWindow.java   |    60 +
 .../SessionWindowedCogroupedKStreamImpl.java       |   109 +
 .../internals/SessionWindowedKStreamImpl.java      |   255 +
 .../internals/SlidingWindowStoreMaterializer.java  |   119 +
 .../SlidingWindowedCogroupedKStreamImpl.java       |    97 +
 .../internals/SlidingWindowedKStreamImpl.java      |   211 +
 .../kstream/internals/StreamJoinedInternal.java    |    94 +
 .../internals/StreamJoinedStoreFactory.java        |   164 +
 .../kstream/internals/StreamStreamJoinUtil.java    |    61 +
 .../internals/SubscriptionStoreFactory.java        |   116 +
 .../kstream/internals/TableJoinedInternal.java     |    39 +
 .../streams/kstream/internals/TimeWindow.java      |    68 +
 .../TimeWindowedCogroupedKStreamImpl.java          |   100 +
 .../kstream/internals/TimeWindowedKStreamImpl.java |   244 +
 .../internals/TimestampedCacheFlushListener.java   |    60 +
 .../internals/TimestampedTupleForwarder.java       |    65 +
 .../streams/kstream/internals/UnlimitedWindow.java |    63 +
 .../kstream/internals/WindowStoreMaterializer.java |   112 +
 .../kstream/internals/WindowedSerializer.java      |    25 +
 .../internals/WindowedStreamPartitioner.java       |    55 +
 .../internals/WrappingNullableDeserializer.java    |    24 +
 .../kstream/internals/WrappingNullableSerde.java   |    67 +
 .../internals/WrappingNullableSerializer.java      |    24 +
 .../kstream/internals/WrappingNullableUtils.java   |   108 +
 .../emitstrategy/WindowCloseStrategy.java          |    31 +
 .../emitstrategy/WindowUpdateStrategy.java         |    30 +
 .../internals/foreignkeyjoin/CombinedKey.java      |    64 +
 .../foreignkeyjoin/CombinedKeySchema.java          |   108 +
 .../foreignkeyjoin/ForeignKeyExtractor.java        |    48 +
 .../ForeignTableJoinProcessorSupplier.java         |   152 +
 .../ResponseJoinProcessorSupplier.java             |   134 +
 .../SubscriptionJoinProcessorSupplier.java         |   142 +
 .../SubscriptionReceiveProcessorSupplier.java      |   143 +
 .../SubscriptionResponseWrapper.java               |    99 +
 .../SubscriptionResponseWrapperSerde.java          |   145 +
 .../SubscriptionSendProcessorSupplier.java         |   215 +
 .../foreignkeyjoin/SubscriptionWrapper.java        |   142 +
 .../foreignkeyjoin/SubscriptionWrapperSerde.java   |   239 +
 .../internals/graph/BaseJoinProcessorNode.java     |    86 +
 .../internals/graph/BaseRepartitionNode.java       |   154 +
 .../graph/ForeignJoinSubscriptionSendNode.java     |    40 +
 .../internals/graph/ForeignTableJoinNode.java      |    39 +
 .../kstream/internals/graph/GlobalStoreNode.java   |    80 +
 .../internals/graph/GracePeriodGraphNode.java      |    38 +
 .../internals/graph/GraphGraceSearchUtil.java      |    64 +
 .../streams/kstream/internals/graph/GraphNode.java |   170 +
 .../GroupedTableOperationRepartitionNode.java      |   120 +
 .../internals/graph/KTableKTableJoinNode.java      |   220 +
 .../NodesWithRelaxedNullKeyJoinDownstream.java     |    54 +
 .../graph/OptimizableRepartitionNode.java          |   111 +
 .../internals/graph/ProcessorGraphNode.java        |    54 +
 .../internals/graph/ProcessorParameters.java       |   110 +
 .../graph/ProcessorToStateConnectorNode.java       |    74 +
 .../kstream/internals/graph/SourceGraphNode.java   |    76 +
 .../kstream/internals/graph/StateStoreNode.java    |    46 +
 .../kstream/internals/graph/StreamSinkNode.java    |    75 +
 .../kstream/internals/graph/StreamSourceNode.java  |    92 +
 .../internals/graph/StreamStreamJoinNode.java      |   169 +
 .../internals/graph/StreamTableJoinNode.java       |    82 +
 .../kstream/internals/graph/StreamToTableNode.java |    44 +
 .../kstream/internals/graph/TableFilterNode.java   |    41 +
 .../internals/graph/TableRepartitionMapNode.java   |    41 +
 .../kstream/internals/graph/TableSourceNode.java   |   173 +
 .../kstream/internals/graph/TableSuppressNode.java |    27 +
 .../graph/UnoptimizableRepartitionNode.java        |   100 +
 .../graph/VersionedSemanticsGraphNode.java         |    33 +
 .../graph/WindowedStreamProcessorNode.java         |    38 +
 .../internals/suppress/BufferConfigInternal.java   |    56 +
 .../internals/suppress/BufferFullStrategy.java     |    22 +
 .../internals/suppress/EagerBufferConfigImpl.java  |   110 +
 .../suppress/FinalResultsSuppressionBuilder.java   |    79 +
 .../suppress/KTableSuppressProcessorSupplier.java  |   232 +
 .../internals/suppress/NamedSuppressed.java        |    28 +
 .../internals/suppress/StrictBufferConfigImpl.java |   125 +
 .../internals/suppress/SuppressedInternal.java     |   118 +
 .../internals/suppress/TimeDefinitions.java        |    63 +
 .../apache/kafka/streams/kstream/package-info.java |    21 +
 .../org/apache/kafka/streams/package-info.java     |    20 +
 .../processor/BatchingStateRestoreCallback.java    |    45 +
 .../kafka/streams/processor/Cancellable.java       |    32 +
 .../kafka/streams/processor/CommitCallback.java    |    31 +
 .../streams/processor/ConnectedStoreProvider.java  |   105 +
 .../processor/ExtractRecordMetadataTimestamp.java  |    76 +
 .../streams/processor/FailOnInvalidTimestamp.java  |    75 +
 .../processor/LogAndSkipOnInvalidTimestamp.java    |    69 +
 .../kafka/streams/processor/ProcessorContext.java  |   319 +
 .../kafka/streams/processor/PunctuationType.java   |    37 +
 .../apache/kafka/streams/processor/Punctuator.java |    49 +
 .../kafka/streams/processor/RecordContext.java     |   113 +
 .../streams/processor/StandbyUpdateListener.java   |    85 +
 .../streams/processor/StateRestoreCallback.java    |    26 +
 .../streams/processor/StateRestoreListener.java    |   110 +
 .../apache/kafka/streams/processor/StateStore.java |   140 +
 .../kafka/streams/processor/StateStoreContext.java |   147 +
 .../kafka/streams/processor/StreamPartitioner.java |    68 +
 .../org/apache/kafka/streams/processor/TaskId.java |   148 +
 .../streams/processor/TimestampExtractor.java      |    51 +
 .../org/apache/kafka/streams/processor/To.java     |    99 +
 .../streams/processor/TopicNameExtractor.java      |    34 +
 .../UsePartitionTimeOnInvalidTimestamp.java        |    67 +
 .../processor/WallclockTimestampExtractor.java     |    46 +
 .../processor/api/ContextualFixedKeyProcessor.java |    45 +
 .../streams/processor/api/ContextualProcessor.java |    46 +
 .../streams/processor/api/FixedKeyProcessor.java   |    62 +
 .../processor/api/FixedKeyProcessorContext.java    |    94 +
 .../processor/api/FixedKeyProcessorSupplier.java   |    48 +
 .../streams/processor/api/FixedKeyRecord.java      |   157 +
 .../api/InternalFixedKeyRecordFactory.java         |    40 +
 .../streams/processor/api/ProcessingContext.java   |   216 +
 .../kafka/streams/processor/api/Processor.java     |    63 +
 .../streams/processor/api/ProcessorContext.java    |    93 +
 .../streams/processor/api/ProcessorSupplier.java   |    53 +
 .../streams/processor/api/ProcessorWrapper.java    |    85 +
 .../apache/kafka/streams/processor/api/Record.java |   193 +
 .../streams/processor/api/RecordMetadata.java      |    70 +
 .../api/WrappedFixedKeyProcessorSupplier.java      |    29 +
 .../processor/api/WrappedProcessorSupplier.java    |    29 +
 .../kafka/streams/processor/api/package-info.java  |    21 +
 .../processor/assignment/ApplicationState.java     |    53 +
 .../processor/assignment/AssignmentConfigs.java    |   204 +
 .../assignment/KafkaStreamsAssignment.java         |   178 +
 .../processor/assignment/KafkaStreamsState.java    |   109 +
 .../streams/processor/assignment/ProcessId.java    |    72 +
 .../processor/assignment/TaskAssignmentUtils.java  |  1046 +
 .../streams/processor/assignment/TaskAssignor.java |   104 +
 .../streams/processor/assignment/TaskInfo.java     |    57 +
 .../processor/assignment/TaskTopicPartition.java   |    57 +
 .../assignment/assignors/StickyTaskAssignor.java   |   470 +
 .../assignment/assignors/package-info.java         |    21 +
 .../streams/processor/assignment/package-info.java |    21 +
 .../internals/AbstractPartitionGroup.java          |    89 +
 .../internals/AbstractProcessorContext.java        |   280 +
 .../internals/AbstractReadOnlyDecorator.java       |   323 +
 .../internals/AbstractReadWriteDecorator.java      |   322 +
 .../streams/processor/internals/AbstractTask.java  |   212 +
 .../processor/internals/ActiveTaskCreator.java     |   282 +
 .../processor/internals/ChangelogReader.java       |    77 +
 .../ChangelogRecordDeserializationHelper.java      |    74 +
 .../processor/internals/ChangelogRegister.java     |    43 +
 .../processor/internals/ChangelogTopics.java       |   138 +
 .../streams/processor/internals/ClientUtils.java   |   241 +
 .../processor/internals/ConfigurableStore.java     |    25 +
 .../processor/internals/CorruptedRecord.java       |    60 +
 .../internals/DefaultKafkaClientSupplier.java      |    56 +
 .../processor/internals/DefaultStateUpdater.java   |  1133 +
 .../internals/DefaultStreamPartitioner.java        |    48 +
 .../ForwardingDisabledProcessorContext.java        |   158 +
 .../internals/GlobalProcessorContextImpl.java      |   159 +
 .../processor/internals/GlobalStateMaintainer.java |    39 +
 .../processor/internals/GlobalStateManager.java    |    32 +
 .../internals/GlobalStateManagerImpl.java          |   553 +
 .../processor/internals/GlobalStateUpdateTask.java |   173 +
 .../processor/internals/GlobalStreamThread.java    |   498 +
 .../internals/InternalProcessorContext.java        |   135 +
 .../processor/internals/InternalTopicConfig.java   |   107 +
 .../processor/internals/InternalTopicManager.java  |   897 +
 .../internals/InternalTopicProperties.java         |    42 +
 .../internals/InternalTopologyBuilder.java         |  2336 ++
 .../processor/internals/NoOpProcessorWrapper.java  |    81 +
 .../processor/internals/PartitionGroup.java        |   396 +
 .../processor/internals/PartitionGrouper.java      |   125 +
 .../processor/internals/ProcessingThread.java      |    28 +
 .../processor/internals/ProcessorContextImpl.java  |   369 +
 .../processor/internals/ProcessorContextUtils.java |    88 +
 .../processor/internals/ProcessorMetadata.java     |   145 +
 .../streams/processor/internals/ProcessorNode.java |   283 +
 .../internals/ProcessorNodePunctuator.java         |    26 +
 .../internals/ProcessorRecordContext.java          |   216 +
 .../processor/internals/ProcessorStateManager.java |   812 +
 .../processor/internals/ProcessorTopology.java     |   259 +
 .../processor/internals/PunctuationQueue.java      |    88 +
 .../processor/internals/PunctuationSchedule.java   |   110 +
 .../streams/processor/internals/QuickUnion.java    |    72 +
 .../streams/processor/internals/ReadOnlyTask.java  |   249 +
 .../RecordBatchingStateRestoreCallback.java        |    32 +
 .../processor/internals/RecordCollector.java       |    92 +
 .../processor/internals/RecordCollectorImpl.java   |   595 +
 .../processor/internals/RecordDeserializer.java    |   140 +
 .../streams/processor/internals/RecordQueue.java   |   263 +
 .../internals/RepartitionTopicConfig.java          |    98 +
 .../processor/internals/RepartitionTopics.java     |   293 +
 .../streams/processor/internals/SerdeGetter.java   |    51 +
 .../streams/processor/internals/SinkNode.java      |   127 +
 .../streams/processor/internals/SourceNode.java    |   110 +
 .../kafka/streams/processor/internals/Stamped.java |    56 +
 .../streams/processor/internals/StampedRecord.java |    62 +
 .../streams/processor/internals/StandbyTask.java   |   365 +
 .../processor/internals/StandbyTaskCreator.java    |   173 +
 .../processor/internals/StateDirectory.java        |   809 +
 .../streams/processor/internals/StateManager.java  |    60 +
 .../processor/internals/StateManagerUtil.java      |   194 +
 .../internals/StateRestoreCallbackAdapter.java     |    52 +
 .../streams/processor/internals/StateUpdater.java  |   247 +
 .../internals/StaticTopicNameExtractor.java        |    60 +
 .../processor/internals/StoreBuilderWrapper.java   |   139 +
 .../processor/internals/StoreChangelogReader.java  |  1127 +
 .../StoreDelegatingProcessorSupplier.java          |    47 +
 .../streams/processor/internals/StoreFactory.java  |   154 +
 .../streams/processor/internals/StreamTask.java    |  1421 ++
 .../streams/processor/internals/StreamThread.java  |  1809 ++
 .../internals/StreamThreadTotalBlockedTime.java    |    60 +
 .../processor/internals/StreamsMetadataState.java  |   583 +
 .../internals/StreamsPartitionAssignor.java        |  1712 ++
 .../processor/internals/StreamsProducer.java       |   337 +
 .../internals/StreamsRebalanceListener.java        |   123 +
 .../internals/SynchronizedPartitionGroup.java      |   108 +
 .../kafka/streams/processor/internals/Task.java    |   276 +
 .../streams/processor/internals/TaskAction.java    |    22 +
 .../streams/processor/internals/TaskAndAction.java |    87 +
 .../processor/internals/TaskExecutionMetadata.java |   149 +
 .../streams/processor/internals/TaskExecutor.java  |   290 +
 .../streams/processor/internals/TaskManager.java   |  2238 ++
 .../processor/internals/TaskMetadataImpl.java      |   106 +
 .../kafka/streams/processor/internals/Tasks.java   |   349 +
 .../streams/processor/internals/TasksRegistry.java |    85 +
 .../processor/internals/ThreadMetadataImpl.java    |   147 +
 .../internals/ThreadStateTransitionValidator.java  |    24 +
 .../streams/processor/internals/ToInternal.java    |    45 +
 .../internals/TopicPartitionMetadata.java          |   114 +
 .../processor/internals/TopologyMetadata.java      |   692 +
 .../UnwindowedUnversionedChangelogTopicConfig.java |    88 +
 .../internals/VersionedChangelogTopicConfig.java   |   112 +
 .../internals/WindowedChangelogTopicConfig.java    |   104 +
 .../internals/assignment/AssignmentInfo.java       |   501 +
 .../assignment/AssignorConfiguration.java          |   301 +
 .../internals/assignment/AssignorError.java        |    49 +
 .../BalanceSubtopologyGraphConstructor.java        |   249 +
 .../internals/assignment/ClientState.java          |   567 +
 .../internals/assignment/ClientStateTask.java      |    45 +
 .../ClientTagAwareStandbyTaskAssignor.java         |   400 +
 .../assignment/ConstrainedPrioritySet.java         |    93 +
 .../assignment/ConsumerProtocolUtils.java          |   114 +
 .../assignment/CopartitionedTopicsEnforcer.java    |   183 +
 .../assignment/DefaultApplicationState.java        |    90 +
 .../assignment/DefaultKafkaStreamsState.java       |   166 +
 .../assignment/DefaultStandbyTaskAssignor.java     |    66 +
 .../internals/assignment/DefaultTaskInfo.java      |    63 +
 .../assignment/DefaultTaskTopicPartition.java      |   106 +
 .../assignment/FallbackPriorTaskAssignor.java      |    51 +
 .../processor/internals/assignment/Graph.java      |   519 +
 .../assignment/HighAvailabilityTaskAssignor.java   |   299 +
 .../assignment/LegacyStickyTaskAssignor.java       |   392 +
 .../internals/assignment/LegacyTaskAssignor.java   |    35 +
 .../assignment/MinTrafficGraphConstructor.java     |   146 +
 .../assignment/RackAwareGraphConstructor.java      |   144 +
 .../RackAwareGraphConstructorFactory.java          |    65 +
 .../assignment/RackAwareTaskAssignor.java          |   506 +
 .../processor/internals/assignment/RackUtils.java  |   160 +
 .../internals/assignment/ReferenceContainer.java   |    42 +
 .../assignment/StandbyTaskAssignmentUtils.java     |    69 +
 .../internals/assignment/StandbyTaskAssignor.java  |    58 +
 .../assignment/StandbyTaskAssignorFactory.java     |    46 +
 .../StreamsAssignmentProtocolVersions.java         |    37 +
 .../internals/assignment/SubscriptionInfo.java     |   376 +
 .../internals/assignment/TaskMovement.java         |   322 +
 .../internals/metrics/ProcessorNodeMetrics.java    |   213 +
 .../internals/metrics/StreamsMetricsImpl.java      |   952 +
 .../processor/internals/metrics/TaskMetrics.java   |   353 +
 .../processor/internals/metrics/ThreadMetrics.java |   386 +
 .../processor/internals/metrics/TopicMetrics.java  |    92 +
 .../namedtopology/AddNamedTopologyResult.java      |    60 +
 .../KafkaStreamsNamedTopologyWrapper.java          |   446 +
 .../internals/namedtopology/NamedTopology.java     |    53 +
 .../namedtopology/NamedTopologyBuilder.java        |    44 +
 .../NamedTopologyStoreQueryParameters.java         |    85 +
 .../namedtopology/RemoveNamedTopologyResult.java   |   115 +
 .../internals/tasks/DefaultTaskExecutor.java       |   301 +
 .../internals/tasks/DefaultTaskManager.java        |   386 +
 .../processor/internals/tasks/TaskExecutor.java    |    90 +
 .../internals/tasks/TaskExecutorCreator.java       |    26 +
 .../processor/internals/tasks/TaskManager.java     |   155 +
 .../kafka/streams/processor/package-info.java      |    21 +
 .../apache/kafka/streams/query/FailureReason.java  |    70 +
 .../org/apache/kafka/streams/query/KeyQuery.java   |    74 +
 .../streams/query/MultiVersionedKeyQuery.java      |   138 +
 .../org/apache/kafka/streams/query/Position.java   |   179 +
 .../apache/kafka/streams/query/PositionBound.java  |    88 +
 .../java/org/apache/kafka/streams/query/Query.java |    35 +
 .../apache/kafka/streams/query/QueryConfig.java    |    35 +
 .../apache/kafka/streams/query/QueryResult.java    |   155 +
 .../org/apache/kafka/streams/query/RangeQuery.java |   133 +
 .../apache/kafka/streams/query/ResultOrder.java    |    24 +
 .../kafka/streams/query/StateQueryRequest.java     |   223 +
 .../kafka/streams/query/StateQueryResult.java      |   119 +
 .../kafka/streams/query/TimestampedKeyQuery.java   |    76 +
 .../kafka/streams/query/TimestampedRangeQuery.java |   136 +
 .../kafka/streams/query/VersionedKeyQuery.java     |    88 +
 .../apache/kafka/streams/query/WindowKeyQuery.java |    67 +
 .../kafka/streams/query/WindowRangeQuery.java      |    69 +
 .../query/internals/AbstractQueryResult.java       |    80 +
 .../streams/query/internals/FailedQueryResult.java |    99 +
 .../query/internals/InternalQueryResultUtil.java   |    51 +
 .../query/internals/SucceededQueryResult.java      |   111 +
 .../apache/kafka/streams/query/package-info.java   |    20 +
 .../streams/state/BuiltInDslStoreSuppliers.java    |   108 +
 .../kafka/streams/state/DslKeyValueParams.java     |    73 +
 .../kafka/streams/state/DslSessionParams.java      |    91 +
 .../kafka/streams/state/DslStoreSuppliers.java     |    63 +
 .../kafka/streams/state/DslWindowParams.java       |   141 +
 .../org/apache/kafka/streams/state/HostInfo.java   |   112 +
 .../streams/state/KeyValueBytesStoreSupplier.java  |    33 +
 .../kafka/streams/state/KeyValueIterator.java      |    44 +
 .../apache/kafka/streams/state/KeyValueStore.java  |    75 +
 .../kafka/streams/state/QueryableStoreType.java    |    51 +
 .../kafka/streams/state/QueryableStoreTypes.java   |   187 +
 .../kafka/streams/state/ReadOnlyKeyValueStore.java |   136 +
 .../kafka/streams/state/ReadOnlySessionStore.java  |   420 +
 .../kafka/streams/state/ReadOnlyWindowStore.java   |   210 +
 .../kafka/streams/state/RocksDBConfigSetter.java   |    60 +
 .../streams/state/SessionBytesStoreSupplier.java   |    47 +
 .../apache/kafka/streams/state/SessionStore.java   |   132 +
 .../apache/kafka/streams/state/StateSerdes.java    |   215 +
 .../apache/kafka/streams/state/StoreBuilder.java   |    87 +
 .../apache/kafka/streams/state/StoreSupplier.java  |    47 +
 .../org/apache/kafka/streams/state/Stores.java     |   566 +
 .../kafka/streams/state/TimestampedBytesStore.java |    34 +
 .../streams/state/TimestampedKeyValueStore.java    |    25 +
 .../streams/state/TimestampedWindowStore.java      |    34 +
 .../kafka/streams/state/ValueAndTimestamp.java     |   107 +
 .../kafka/streams/state/VersionedBytesStore.java   |    41 +
 .../streams/state/VersionedBytesStoreSupplier.java |    46 +
 .../streams/state/VersionedKeyValueStore.java      |   137 +
 .../kafka/streams/state/VersionedRecord.java       |    93 +
 .../streams/state/VersionedRecordIterator.java     |    36 +
 .../streams/state/WindowBytesStoreSupplier.java    |    62 +
 .../apache/kafka/streams/state/WindowStore.java    |   193 +
 .../kafka/streams/state/WindowStoreIterator.java   |    37 +
 ...stractDualSchemaRocksDBSegmentedBytesStore.java |   332 +
 .../AbstractMergedSortedCacheStoreIterator.java    |   208 +
 .../AbstractRocksDBSegmentedBytesStore.java        |   407 +
 ...tractRocksDBTimeOrderedSegmentedBytesStore.java |   296 +
 .../streams/state/internals/AbstractSegments.java  |   242 +
 .../state/internals/AbstractStoreBuilder.java      |    90 +
 .../streams/state/internals/BatchWritingStore.java |    28 +
 .../BlockBasedTableConfigWithAccessibleCache.java  |    35 +
 .../kafka/streams/state/internals/BufferKey.java   |    72 +
 .../kafka/streams/state/internals/BufferValue.java |   169 +
 .../state/internals/CacheFlushListener.java        |    33 +
 .../streams/state/internals/CacheFunction.java     |    25 +
 .../streams/state/internals/CachedStateStore.java  |    45 +
 .../state/internals/CachingKeyValueStore.java      |   506 +
 .../state/internals/CachingSessionStore.java       |   506 +
 .../state/internals/CachingWindowStore.java        |   599 +
 .../internals/ChangeLoggingKeyValueBytesStore.java |   134 +
 .../ChangeLoggingListValueBytesStore.java          |    55 +
 .../internals/ChangeLoggingSessionBytesStore.java  |   115 +
 ...ChangeLoggingTimestampedKeyValueBytesStore.java |    60 +
 .../ChangeLoggingTimestampedWindowBytesStore.java  |    43 +
 .../ChangeLoggingVersionedKeyValueBytesStore.java  |    68 +
 .../internals/ChangeLoggingWindowBytesStore.java   |   141 +
 .../state/internals/CompositeKeyValueIterator.java |    69 +
 .../internals/CompositeReadOnlyKeyValueStore.java  |   173 +
 .../internals/CompositeReadOnlySessionStore.java   |   240 +
 .../internals/CompositeReadOnlyWindowStore.java    |   186 +
 .../streams/state/internals/ContextualRecord.java  |    83 +
 .../DelegatingPeekingKeyValueIterator.java         |    87 +
 .../streams/state/internals/ExceptionUtils.java    |    46 +
 .../state/internals/FilteredCacheIterator.java     |   101 +
 .../state/internals/GlobalStateStoreProvider.java  |    54 +
 .../streams/state/internals/HasNextCondition.java  |    24 +
 .../InMemoryKeyValueBytesStoreSupplier.java        |    45 +
 .../state/internals/InMemoryKeyValueStore.java     |   298 +
 .../InMemorySessionBytesStoreSupplier.java         |    58 +
 .../state/internals/InMemorySessionStore.java      |   585 +
 .../InMemoryTimeOrderedKeyValueChangeBuffer.java   |   565 +
 .../InMemoryWindowBytesStoreSupplier.java          |    89 +
 .../state/internals/InMemoryWindowStore.java       |   683 +
 .../state/internals/KeyValueIteratorFacade.java    |    52 +
 .../streams/state/internals/KeyValueIterators.java |    68 +
 .../streams/state/internals/KeyValueSegment.java   |    81 +
 .../streams/state/internals/KeyValueSegments.java  |    70 +
 .../state/internals/KeyValueStoreBuilder.java      |    64 +
 .../state/internals/KeyValueStoreWrapper.java      |   158 +
 ...ValueToTimestampedKeyValueByteStoreAdapter.java |   238 +
 ...yValueToTimestampedKeyValueIteratorAdapter.java |    59 +
 .../streams/state/internals/LRUCacheEntry.java     |    95 +
 .../streams/state/internals/LeftOrRightValue.java  |    98 +
 .../internals/LeftOrRightValueDeserializer.java    |    74 +
 .../state/internals/LeftOrRightValueSerde.java     |    33 +
 .../internals/LeftOrRightValueSerializer.java      |    88 +
 .../streams/state/internals/ListValueStore.java    |   169 +
 .../state/internals/ListValueStoreBuilder.java     |    63 +
 .../state/internals/LogicalKeyValueSegment.java    |   371 +
 .../state/internals/LogicalKeyValueSegments.java   |   145 +
 .../state/internals/LogicalSegmentIterator.java    |   138 +
 .../state/internals/ManagedKeyValueIterator.java   |    31 +
 .../kafka/streams/state/internals/Maybe.java       |    89 +
 .../streams/state/internals/MemoryLRUCache.java    |   234 +
 .../state/internals/MemoryNavigableLRUCache.java   |   164 +
 ...ergedSortedCacheKeyValueBytesStoreIterator.java |    61 +
 .../MergedSortedCacheSessionStoreIterator.java     |    70 +
 .../MergedSortedCacheWindowStoreIterator.java      |    78 +
 ...rgedSortedCacheWindowStoreKeyValueIterator.java |   102 +
 .../streams/state/internals/MeteredIterator.java   |    30 +
 .../state/internals/MeteredKeyValueStore.java      |   548 +
 .../MeteredMultiVersionedKeyQueryIterator.java     |    82 +
 .../state/internals/MeteredSessionStore.java       |   504 +
 .../internals/MeteredTimestampedKeyValueStore.java |   373 +
 .../internals/MeteredTimestampedWindowStore.java   |    58 +
 .../internals/MeteredVersionedKeyValueStore.java   |   378 +
 .../state/internals/MeteredWindowStore.java        |   520 +
 .../internals/MeteredWindowStoreIterator.java      |    97 +
 .../internals/MeteredWindowedKeyValueIterator.java |   107 +
 .../kafka/streams/state/internals/Murmur3.java     |   548 +
 .../kafka/streams/state/internals/NamedCache.java  |   415 +
 .../state/internals/NextIteratorFunction.java      |    24 +
 .../streams/state/internals/OffsetCheckpoint.java  |   221 +
 .../streams/state/internals/OrderedBytes.java      |    80 +
 .../state/internals/PeekingKeyValueIterator.java   |    25 +
 .../streams/state/internals/PositionSerde.java     |   107 +
 .../state/internals/PrefixedSessionKeySchemas.java |   388 +
 .../state/internals/PrefixedWindowKeySchemas.java  |   403 +
 .../state/internals/QueryableStoreProvider.java    |    74 +
 .../internals/ReadOnlyKeyValueStoreFacade.java     |    70 +
 .../state/internals/ReadOnlyWindowStoreFacade.java |   124 +
 .../streams/state/internals/RecordConverter.java   |    23 +
 .../streams/state/internals/RecordConverters.java  |    59 +
 ...tionsToDbOptionsColumnFamilyOptionsAdapter.java |  1782 ++
 .../RocksDBKeyValueBytesStoreSupplier.java         |    50 +
 .../state/internals/RocksDBRangeIterator.java      |    88 +
 .../internals/RocksDBSegmentedBytesStore.java      |    28 +
 .../state/internals/RocksDBSessionStore.java       |   154 +
 .../streams/state/internals/RocksDBStore.java      |  1019 +
 .../RocksDBTimeOrderedKeyValueBuffer.java          |   360 +
 .../RocksDBTimeOrderedKeyValueBytesStore.java      |    89 +
 ...cksDBTimeOrderedKeyValueBytesStoreSupplier.java |    41 +
 ...cksDBTimeOrderedSessionSegmentedBytesStore.java |   169 +
 .../internals/RocksDBTimeOrderedSessionStore.java  |   164 +
 ...ocksDBTimeOrderedWindowSegmentedBytesStore.java |   129 +
 .../internals/RocksDBTimeOrderedWindowStore.java   |   199 +
 .../RocksDBTimestampedSegmentedBytesStore.java     |    28 +
 .../state/internals/RocksDBTimestampedStore.java   |   475 +
 .../internals/RocksDBTimestampedWindowStore.java   |    29 +
 .../state/internals/RocksDBVersionedStore.java     |  1015 +
 .../RocksDBVersionedStoreRestoreWriteBuffer.java   |   271 +
 ...RocksDBVersionedStoreSegmentValueFormatter.java |   674 +
 .../state/internals/RocksDBWindowStore.java        |   144 +
 ...IndexedTimeOrderedWindowBytesStoreSupplier.java |   169 +
 .../streams/state/internals/RocksDbIterator.java   |    94 +
 .../RocksDbSessionBytesStoreSupplier.java          |    64 +
 ...ocksDbTimeOrderedSessionBytesStoreSupplier.java |    69 +
 ...RocksDbVersionedKeyValueBytesStoreSupplier.java |    82 +
 .../internals/RocksDbWindowBytesStoreSupplier.java |   131 +
 .../kafka/streams/state/internals/Segment.java     |    29 +
 .../streams/state/internals/SegmentIterator.java   |   106 +
 .../state/internals/SegmentedBytesStore.java       |   228 +
 .../state/internals/SegmentedCacheFunction.java    |    88 +
 .../kafka/streams/state/internals/Segments.java    |    44 +
 .../streams/state/internals/SessionKeySchema.java  |   199 +
 .../state/internals/SessionStoreBuilder.java       |    68 +
 .../state/internals/StateStoreProvider.java        |    43 +
 .../streams/state/internals/StoreQueryUtils.java   |   503 +
 .../state/internals/StoreSerdeInitializer.java     |    60 +
 .../internals/StreamThreadStateStoreProvider.java  |   121 +
 .../state/internals/StreamsMetadataImpl.java       |   184 +
 .../kafka/streams/state/internals/ThreadCache.java |   413 +
 .../internals/TimeOrderedCachingWindowStore.java   |   721 +
 .../state/internals/TimeOrderedKeyValueBuffer.java |    99 +
 ...yValueBufferChangelogDeserializationHelper.java |   158 +
 .../state/internals/TimestampedKeyAndJoinSide.java |   100 +
 .../TimestampedKeyAndJoinSideDeserializer.java     |    82 +
 .../internals/TimestampedKeyAndJoinSideSerde.java  |    30 +
 .../TimestampedKeyAndJoinSideSerializer.java       |    74 +
 .../internals/TimestampedKeyValueStoreBuilder.java |   179 +
 .../state/internals/TimestampedSegment.java        |    81 +
 .../state/internals/TimestampedSegments.java       |    70 +
 .../internals/TimestampedWindowStoreBuilder.java   |   218 +
 .../internals/ValueAndTimestampDeserializer.java   |    97 +
 .../state/internals/ValueAndTimestampSerde.java    |    32 +
 .../internals/ValueAndTimestampSerializer.java     |   133 +
 .../internals/VersionedKeyValueStoreBuilder.java   |    79 +
 .../VersionedKeyValueToBytesStoreAdapter.java      |   183 +
 .../streams/state/internals/WindowKeySchema.java   |   248 +
 .../state/internals/WindowStoreBuilder.java        |    90 +
 .../internals/WindowStoreIteratorWrapper.java      |   127 +
 .../WindowToTimestampedWindowByteStoreAdapter.java |   215 +
 .../internals/WrappedSessionStoreIterator.java     |    61 +
 .../streams/state/internals/WrappedStateStore.java |   146 +
 .../state/internals/WrappingStoreProvider.java     |    71 +
 .../state/internals/metrics/NamedCacheMetrics.java |    60 +
 .../state/internals/metrics/RocksDBMetrics.java    |   803 +
 .../internals/metrics/RocksDBMetricsRecorder.java  |   513 +
 .../metrics/RocksDBMetricsRecordingTrigger.java    |    64 +
 .../state/internals/metrics/StateStoreMetrics.java |   517 +
 .../apache/kafka/streams/state/package-info.java   |    20 +
 .../common/message/SubscriptionInfoData.json       |   184 +
 .../kafka/common/metrics/SensorAccessor.java       |    35 +
 .../apache/kafka/streams/AutoOffsetResetTest.java  |    88 +
 .../org/apache/kafka/streams/EqualityCheck.java    |   153 +
 .../org/apache/kafka/streams/KafkaStreamsTest.java |  1912 ++
 .../org/apache/kafka/streams/KeyValueTest.java     |    74 +
 .../apache/kafka/streams/KeyValueTimestamp.java    |    63 +
 .../apache/kafka/streams/StreamsBuilderTest.java   |  2390 ++
 .../apache/kafka/streams/StreamsConfigTest.java    |  1558 ++
 .../org/apache/kafka/streams/TopologyTest.java     |  2472 ++
 .../kafka/streams/TopologyTestDriverWrapper.java   |    71 +
 .../org/apache/kafka/streams/TopologyWrapper.java  |    39 +
 .../kafka/streams/internals/ApiUtilsTest.java      |   108 +
 .../internals/metrics/ClientMetricsTest.java       |   203 +
 ...StreamsClientMetricsDelegatingReporterTest.java |   106 +
 ...StreamsThreadMetricsDelegatingReporterTest.java |   120 +
 .../kafka/streams/kstream/JoinWindowsTest.java     |   219 +
 .../kafka/streams/kstream/MaterializedTest.java    |   111 +
 .../apache/kafka/streams/kstream/NamedTest.java    |    50 +
 .../apache/kafka/streams/kstream/PrintedTest.java  |   132 +
 .../kstream/RepartitionTopicNamingTest.java        |   725 +
 .../kstream/SessionWindowedDeserializerTest.java   |    72 +
 .../kstream/SessionWindowedSerializerTest.java     |    72 +
 .../kafka/streams/kstream/SessionWindowsTest.java  |   108 +
 .../kafka/streams/kstream/SlidingWindowsTest.java  |    94 +
 .../kafka/streams/kstream/SuppressedTest.java      |   215 +
 .../kstream/TimeWindowedDeserializerTest.java      |    92 +
 .../kstream/TimeWindowedSerializerTest.java        |    73 +
 .../kafka/streams/kstream/TimeWindowsTest.java     |   179 +
 .../streams/kstream/UnlimitedWindowsTest.java      |    83 +
 .../apache/kafka/streams/kstream/WindowTest.java   |    89 +
 .../kafka/streams/kstream/WindowedSerdesTest.java  |   165 +
 .../kstream/internals/AbstractStreamTest.java      |   124 +
 .../kstream/internals/ChangedSerdeTest.java        |   179 +
 .../internals/CogroupedKStreamImplTest.java        |  1266 +
 .../kstream/internals/FullChangeSerdeTest.java     |   119 +
 .../kstream/internals/GlobalKTableJoinsTest.java   |   106 +
 .../internals/InternalStreamsBuilderTest.java      |  1330 ++
 .../kstream/internals/KGroupedStreamImplTest.java  |   803 +
 .../kstream/internals/KGroupedTableImplTest.java   |   378 +
 .../kstream/internals/KStreamFilterTest.java       |    96 +
 .../kstream/internals/KStreamFlatMapTest.java      |    99 +
 .../internals/KStreamFlatMapValuesTest.java        |   120 +
 .../kstream/internals/KStreamForeachTest.java      |    96 +
 .../internals/KStreamGlobalKTableJoinTest.java     |   266 +
 .../internals/KStreamGlobalKTableLeftJoinTest.java |   276 +
 .../streams/kstream/internals/KStreamImplTest.java |  2581 +++
 .../KStreamImplValueJoinerWithKeyTest.java         |   235 +
 .../kstream/internals/KStreamKStreamJoinTest.java  |  2056 ++
 .../internals/KStreamKStreamLeftJoinTest.java      |  1316 ++
 .../internals/KStreamKStreamOuterJoinTest.java     |  1454 ++
 .../internals/KStreamKStreamSelfJoinTest.java      |   339 +
 .../kstream/internals/KStreamKTableJoinTest.java   |   526 +
 .../internals/KStreamKTableLeftJoinTest.java       |   202 +
 .../streams/kstream/internals/KStreamMapTest.java  |    90 +
 .../kstream/internals/KStreamMapValuesTest.java    |    93 +
 .../streams/kstream/internals/KStreamPeekTest.java |    81 +
 .../kstream/internals/KStreamPrintTest.java        |    89 +
 .../kstream/internals/KStreamProcessorApiTest.java |   132 +
 .../kstream/internals/KStreamRepartitionTest.java  |   173 +
 .../kstream/internals/KStreamSelectKeyTest.java    |    84 +
 ...KStreamSessionWindowAggregateProcessorTest.java |   628 +
 .../KStreamSlidingWindowAggregateTest.java         |  1851 ++
 .../kstream/internals/KStreamSplitTest.java        |   151 +
 .../internals/KStreamWindowAggregateTest.java      |  1138 +
 .../kstream/internals/KTableAggregateTest.java     |   519 +
 .../kstream/internals/KTableFilterTest.java        |   560 +
 .../streams/kstream/internals/KTableImplTest.java  |   604 +
 .../KTableKTableForeignKeyJoinScenarioTest.java    |   383 +
 .../internals/KTableKTableInnerJoinTest.java       |   482 +
 .../internals/KTableKTableLeftJoinTest.java        |   547 +
 .../internals/KTableKTableOuterJoinTest.java       |   439 +
 .../internals/KTableKTableRightJoinTest.java       |    70 +
 .../kstream/internals/KTableMapKeysTest.java       |    79 +
 .../kstream/internals/KTableMapValuesTest.java     |   323 +
 .../kstream/internals/KTableReduceTest.java        |    84 +
 .../kstream/internals/KTableSourceTest.java        |   357 +
 .../internals/KTableTransformValuesTest.java       |   560 +
 .../internals/MaterializedInternalTest.java        |   156 +
 .../kstream/internals/NamedInternalTest.java       |    76 +
 .../internals/SessionCacheFlushListenerTest.java   |    55 +
 .../kstream/internals/SessionWindowTest.java       |   123 +
 .../SessionWindowedCogroupedKStreamImplTest.java   |   339 +
 .../internals/SessionWindowedKStreamImplTest.java  |   443 +
 .../SlidingWindowedCogroupedKStreamImplTest.java   |   266 +
 .../internals/SlidingWindowedKStreamImplTest.java  |   439 +
 .../kstream/internals/SuppressScenarioTest.java    |   884 +
 .../kstream/internals/SuppressTopologyTest.java    |   246 +
 .../streams/kstream/internals/TimeWindowTest.java  |   138 +
 .../TimeWindowedCogroupedKStreamImplTest.java      |   325 +
 .../internals/TimeWindowedKStreamImplTest.java     |   501 +
 .../TimestampedCacheFlushListenerTest.java         |    77 +
 .../internals/TimestampedTupleForwarderTest.java   |   112 +
 .../kstream/internals/UnlimitedWindowTest.java     |    41 +
 .../internals/WindowedStreamPartitionerTest.java   |    84 +
 .../foreignkeyjoin/CombinedKeySchemaTest.java      |    91 +
 .../ForeignTableJoinProcessorSupplierTests.java    |   207 +
 .../ResponseJoinProcessorSupplierTest.java         |   275 +
 .../SubscriptionJoinProcessorSupplierTest.java     |   385 +
 .../SubscriptionReceiveProcessorSupplierTest.java  |   527 +
 .../SubscriptionResponseWrapperSerdeTest.java      |   163 +
 .../SubscriptionSendProcessorSupplierTest.java     |   656 +
 .../SubscriptionWrapperSerdeTest.java              |   263 +
 .../internals/graph/GraphGraceSearchUtilTest.java  |   281 +
 .../kstream/internals/graph/StreamsGraphTest.java  |   488 +
 .../internals/graph/TableSourceNodeTest.java       |    86 +
 .../KTableSuppressProcessorMetricsTest.java        |   216 +
 .../suppress/KTableSuppressProcessorTest.java      |   498 +
 .../kstream/internals/suppress/SuppressSuite.java  |    51 +
 .../processor/FailOnInvalidTimestampTest.java      |    39 +
 .../LogAndSkipOnInvalidTimestampTest.java          |    61 +
 .../kafka/streams/processor/ReadOnlyStoreTest.java |   133 +
 .../streams/processor/TimestampExtractorTest.java  |    52 +
 .../UsePartitionTimeOnInvalidTimestampTest.java    |    57 +
 .../processor/WallclockTimestampExtractorTest.java |    63 +
 .../internals/AbstractProcessorContextTest.java    |   282 +
 .../processor/internals/ActiveTaskCreatorTest.java |   316 +
 .../processor/internals/ChangelogTopicsTest.java   |   204 +
 .../processor/internals/ClientUtilsTest.java       |   278 +
 .../internals/CopartitionedTopicsEnforcerTest.java |   211 +
 .../internals/DefaultStateUpdaterTest.java         |  1889 ++
 .../ForwardingDisabledProcessorContextTest.java    |    47 +
 .../internals/GlobalProcessorContextImplTest.java  |   223 +
 .../internals/GlobalStateManagerImplTest.java      |  1207 +
 .../processor/internals/GlobalStateTaskTest.java   |   336 +
 .../internals/GlobalStreamThreadTest.java          |   432 +
 ...ghAvailabilityStreamsPartitionAssignorTest.java |   311 +
 .../internals/InternalTopicConfigTest.java         |   141 +
 .../internals/InternalTopicManagerTest.java        |  1906 ++
 .../internals/InternalTopologyBuilderTest.java     |  1474 ++
 .../internals/KeyValueStoreMaterializerTest.java   |   276 +
 .../processor/internals/MockChangelogReader.java   |    98 +
 .../processor/internals/MockStreamsMetrics.java    |    28 +
 .../processor/internals/NamedTopologyTest.java     |   405 +
 .../processor/internals/PartitionGroupTest.java    |   997 +
 .../processor/internals/PartitionGrouperTest.java  |   103 +
 .../internals/ProcessorContextImplTest.java        |   957 +
 .../processor/internals/ProcessorContextTest.java  |    80 +
 .../processor/internals/ProcessorMetadataTest.java |   164 +
 .../processor/internals/ProcessorNodeTest.java     |   378 +
 .../internals/ProcessorRecordContextTest.java      |   114 +
 .../internals/ProcessorStateManagerTest.java       |  1258 +
 .../internals/ProcessorTopologyFactories.java      |    55 +
 .../processor/internals/ProcessorTopologyTest.java |  1324 ++
 .../processor/internals/PunctuationQueueTest.java  |   156 +
 .../processor/internals/QuickUnionTest.java        |    95 +
 .../RackAwarenessStreamsPartitionAssignorTest.java |   552 +
 .../processor/internals/ReadOnlyTaskTest.java      |   231 +
 .../processor/internals/RecordCollectorTest.java   |  2054 ++
 .../internals/RecordDeserializerTest.java          |   300 +
 .../processor/internals/RecordQueueTest.java       |   509 +
 .../internals/RepartitionOptimizingTest.java       |   450 +
 .../internals/RepartitionTopicConfigTest.java      |    58 +
 .../processor/internals/RepartitionTopicsTest.java |   440 +
 .../RepartitionWithMergeOptimizingTest.java        |   298 +
 .../streams/processor/internals/SinkNodeTest.java  |   120 +
 .../processor/internals/SourceNodeTest.java        |   190 +
 .../processor/internals/StandbyTaskTest.java       |   609 +
 .../processor/internals/StateConsumerTest.java     |   150 +
 .../processor/internals/StateDirectoryTest.java    |  1010 +
 .../processor/internals/StateManagerStub.java      |    77 +
 .../processor/internals/StateManagerUtilTest.java  |   251 +
 .../internals/StateRestoreCallbackAdapterTest.java |   155 +
 .../internals/StoreChangelogReaderTest.java        |  1399 ++
 .../processor/internals/StreamTaskTest.java        |  3456 +++
 .../processor/internals/StreamThreadTest.java      |  3756 +++
 .../StreamThreadTotalBlockedTimeTest.java          |   115 +
 .../internals/StreamsAssignmentScaleTest.java      |   311 +
 .../internals/StreamsMetadataStateTest.java        |   407 +
 .../internals/StreamsPartitionAssignorTest.java    |  2961 +++
 .../processor/internals/StreamsProducerTest.java   |   985 +
 .../internals/StreamsRebalanceListenerTest.java    |   167 +
 .../internals/SynchronizedPartitionGroupTest.java  |   203 +
 .../processor/internals/TaskAndActionTest.java     |    87 +
 .../internals/TaskExecutionMetadataTest.java       |   125 +
 .../processor/internals/TaskExecutorTest.java      |    62 +
 .../processor/internals/TaskManagerTest.java       |  5048 ++++
 .../processor/internals/TaskMetadataImplTest.java  |   156 +
 .../streams/processor/internals/TaskSuite.java     |    43 +
 .../streams/processor/internals/TasksTest.java     |   210 +
 .../internals/ThreadMetadataImplTest.java          |   243 +
 .../internals/TopicPartitionMetadataTest.java      |   107 +
 .../processor/internals/TopologyMetadataTest.java  |    84 +
 .../internals/WriteConsistencyVectorTest.java      |   145 +
 .../internals/assignment/AssignmentInfoTest.java   |   243 +
 .../internals/assignment/AssignmentTestUtils.java  |  1041 +
 .../assignment/AssignorConfigurationTest.java      |    83 +
 .../internals/assignment/ClientStateTest.java      |   572 +
 .../ClientTagAwareStandbyTaskAssignorTest.java     |   854 +
 .../assignment/ConstrainedPrioritySetTest.java     |   112 +
 .../assignment/CustomStickyTaskAssignorTest.java   |   916 +
 .../assignment/FallbackPriorTaskAssignorTest.java  |    78 +
 .../processor/internals/assignment/GraphTest.java  |   521 +
 .../HighAvailabilityTaskAssignorTest.java          |  1751 ++
 .../assignment/KafkaStreamsAssignmentTest.java     |    51 +
 .../assignment/KafkaStreamsStateTest.java          |    92 +
 .../assignment/LegacyStickyTaskAssignorTest.java   |  1358 ++
 .../assignment/LegacySubscriptionInfoSerde.java    |   282 +
 .../RackAwareGraphConstructorFactoryTest.java      |    46 +
 .../assignment/RackAwareGraphConstructorTest.java  |   296 +
 .../assignment/RackAwareTaskAssignorTest.java      |  1243 +
 .../assignment/StandbyTaskAssignmentUtilsTest.java |   136 +
 .../assignment/StandbyTaskAssignorFactoryTest.java |   103 +
 .../internals/assignment/SubscriptionInfoTest.java |   501 +
 .../assignment/TaskAssignmentUtilsTest.java        |   583 +
 .../assignment/TaskAssignorConvergenceTest.java    |   628 +
 .../internals/assignment/TaskMovementTest.java     |   325 +
 .../metrics/ProcessorNodeMetricsTest.java          |   154 +
 .../internals/metrics/StreamsMetricsImplTest.java  |  1385 ++
 .../internals/metrics/TaskMetricsTest.java         |   264 +
 .../internals/metrics/ThreadMetricsTest.java       |   482 +
 .../internals/metrics/TopicMetricsTest.java        |   118 +
 .../internals/tasks/DefaultTaskExecutorTest.java   |   272 +
 .../internals/tasks/DefaultTaskManagerTest.java    |   461 +
 .../internals/testutil/ConsumerRecordUtil.java     |    50 +
 .../internals/testutil/DummyStreamsConfig.java     |    41 +
 .../streams/query/MultiVersionedKeyQueryTest.java  |    32 +
 .../kafka/streams/query/PositionBoundTest.java     |    96 +
 .../apache/kafka/streams/query/PositionTest.java   |   224 +
 .../kafka/streams/query/StateQueryResultTest.java  |    62 +
 .../kafka/streams/query/VersionedKeyQueryTest.java |    39 +
 .../apache/kafka/streams/state/HostInfoTest.java   |    53 +
 .../streams/state/KeyValueStoreTestDriver.java     |   441 +
 .../kafka/streams/state/NoOpWindowStore.java       |   139 +
 .../kafka/streams/state/StateSerdesTest.java       |   140 +
 .../org/apache/kafka/streams/state/StoresTest.java |   327 +
 .../kafka/streams/state/StreamsMetadataTest.java   |   146 +
 ...ctDualSchemaRocksDBSegmentedBytesStoreTest.java |  1710 ++
 .../state/internals/AbstractKeyValueStoreTest.java |   664 +
 .../AbstractRocksDBSegmentedBytesStoreTest.java    |   917 +
 .../internals/AbstractRocksDBWindowStoreTest.java  |   792 +
 .../internals/AbstractSessionBytesStoreTest.java   |  1025 +
 .../internals/AbstractWindowBytesStoreTest.java    |  1197 +
 ...ockBasedTableConfigWithAccessibleCacheTest.java |    55 +
 .../streams/state/internals/BufferValueTest.java   |   209 +
 .../state/internals/CacheFlushListenerStub.java    |    48 +
 .../CachingInMemoryKeyValueStoreTest.java          |   642 +
 .../internals/CachingInMemorySessionStoreTest.java |   873 +
 .../CachingPersistentSessionStoreTest.java         |   904 +
 .../CachingPersistentWindowStoreTest.java          |  1102 +
 .../ChangeLoggingKeyValueBytesStoreTest.java       |   276 +
 .../ChangeLoggingSessionBytesStoreTest.java        |   190 +
 ...geLoggingTimestampedKeyValueBytesStoreTest.java |   214 +
 ...angeLoggingTimestampedWindowBytesStoreTest.java |   135 +
 ...angeLoggingVersionedKeyValueBytesStoreTest.java |   215 +
 .../ChangeLoggingWindowBytesStoreTest.java         |   151 +
 .../CompositeReadOnlyKeyValueStoreTest.java        |   533 +
 .../CompositeReadOnlySessionStoreTest.java         |   198 +
 .../CompositeReadOnlyWindowStoreTest.java          |   527 +
 .../state/internals/ContextualRecordTest.java      |    79 +
 .../DelegatingPeekingKeyValueIteratorTest.java     |   100 +
 .../state/internals/FilteredCacheIteratorTest.java |   134 +
 .../internals/GlobalStateStoreProviderTest.java    |   237 +
 .../internals/InMemoryKeyValueLoggedStoreTest.java |    43 +
 .../state/internals/InMemoryKeyValueStoreTest.java |   449 +
 .../state/internals/InMemoryLRUCacheStoreTest.java |   164 +
 .../state/internals/InMemorySessionStoreTest.java  |    62 +
 ...nMemoryTimeOrderedKeyValueChangeBufferTest.java |    66 +
 .../state/internals/InMemoryWindowStoreTest.java   |   188 +
 .../internals/KeyValueIteratorFacadeTest.java      |    80 +
 .../state/internals/KeyValueSegmentTest.java       |   129 +
 .../state/internals/KeyValueSegmentsTest.java      |   355 +
 .../state/internals/KeyValueStoreBuilderTest.java  |   154 +
 .../state/internals/KeyValueStoreWrapperTest.java  |   341 +
 .../internals/LeftOrRightValueSerializerTest.java  |    79 +
 .../state/internals/ListValueStoreTest.java        |   209 +
 .../internals/LogicalKeyValueSegmentTest.java      |   505 +
 .../internals/LogicalKeyValueSegmentsTest.java     |   241 +
 .../kafka/streams/state/internals/MaybeTest.java   |    79 +
 ...dSortedCacheKeyValueBytesStoreIteratorTest.java |   279 +
 ...SortedCacheWrappedSessionStoreIteratorTest.java |   156 +
 ...dSortedCacheWrappedWindowStoreIteratorTest.java |   265 +
 ...acheWrappedWindowStoreKeyValueIteratorTest.java |   268 +
 .../state/internals/MeteredKeyValueStoreTest.java  |   574 +
 .../state/internals/MeteredSessionStoreTest.java   |   754 +
 .../MeteredTimestampedKeyValueStoreTest.java       |   536 +
 .../MeteredTimestampedWindowStoreTest.java         |   267 +
 .../MeteredVersionedKeyValueStoreTest.java         |   474 +
 .../state/internals/MeteredWindowStoreTest.java    |   536 +
 .../internals/MonotonicProcessorRecordContext.java |    51 +
 .../kafka/streams/state/internals/Murmur3Test.java |    71 +
 .../streams/state/internals/NamedCacheTest.java    |   251 +
 .../state/internals/OffsetCheckpointTest.java      |   190 +
 .../internals/QueryableStoreProviderTest.java      |   134 +
 .../internals/ReadOnlyKeyValueStoreFacadeTest.java |   107 +
 .../internals/ReadOnlyWindowStoreFacadeTest.java   |   192 +
 .../state/internals/ReadOnlyWindowStoreStub.java   |   437 +
 .../state/internals/RecordConvertersTest.java      |    53 +
 ...sToDbOptionsColumnFamilyOptionsAdapterTest.java |   362 +
 .../state/internals/RocksDBRangeIteratorTest.java  |   437 +
 .../internals/RocksDBSegmentedBytesStoreTest.java  |    38 +
 .../state/internals/RocksDBSessionStoreTest.java   |    25 +
 .../streams/state/internals/RocksDBStoreTest.java  |  1298 ++
 .../RocksDBTimeOrderedKeyValueBufferTest.java      |   216 +
 .../RocksDBTimeOrderedKeyValueBytesStoreTest.java  |   112 +
 ...sionSchemaWithIndexSegmentedBytesStoreTest.java |    25 +
 ...nSchemaWithoutIndexSegmentedBytesStoreTest.java |    25 +
 ...ocksDBTimeOrderedSessionStoreWithIndexTest.java |    25 +
 ...sDBTimeOrderedSessionStoreWithoutIndexTest.java |    25 +
 ...ndowSchemaWithIndexSegmentedBytesStoreTest.java |    25 +
 ...wSchemaWithoutIndexSegmentedBytesStoreTest.java |    25 +
 ...RocksDBTimeOrderedWindowStoreWithIndexTest.java |    25 +
 ...ksDBTimeOrderedWindowStoreWithoutIndexTest.java |    25 +
 .../RocksDBTimestampedSegmentedBytesStoreTest.java |    38 +
 .../internals/RocksDBTimestampedStoreTest.java     |   483 +
 ...sDBVersionedStoreSegmentValueFormatterTest.java |   405 +
 .../state/internals/RocksDBVersionedStoreTest.java |   977 +
 .../state/internals/RocksDBWindowStoreTest.java    |    25 +
 ...xedTimeOrderedWindowBytesStoreSupplierTest.java |    76 +
 ...sDbVersionedKeyValueBytesStoreSupplierTest.java |    53 +
 .../state/internals/SegmentIteratorTest.java       |   368 +
 .../internals/SegmentedCacheFunctionTest.java      |   126 +
 .../state/internals/SerdeThatDoesntHandleNull.java |    54 +
 .../state/internals/SessionKeySchemaTest.java      |   402 +
 .../state/internals/SessionStoreBuilderTest.java   |   165 +
 .../state/internals/SessionStoreFetchTest.java     |   319 +
 .../state/internals/StoreQueryUtilsTest.java       |    87 +
 .../state/internals/StoreSerdeInitializerTest.java |   155 +
 .../StreamThreadStateStoreProviderTest.java        |   520 +
 .../streams/state/internals/ThreadCacheTest.java   |   628 +
 ...imeOrderedCachingPersistentWindowStoreTest.java |  1290 ++
 .../internals/TimeOrderedKeyValueBufferTest.java   |  1087 +
 .../internals/TimeOrderedWindowStoreTest.java      |  1307 ++
 .../TimestampedKeyAndJoinSideSerializerTest.java   |    73 +
 .../TimestampedKeyValueStoreBuilderTest.java       |   190 +
 .../state/internals/TimestampedSegmentTest.java    |   135 +
 .../state/internals/TimestampedSegmentsTest.java   |   356 +
 .../TimestampedWindowStoreBuilderTest.java         |   244 +
 .../internals/ValueAndTimestampSerializerTest.java |    99 +
 .../VersionedKeyValueStoreBuilderTest.java         |   164 +
 .../state/internals/WindowKeySchemaTest.java       |   567 +
 .../state/internals/WindowStoreBuilderTest.java    |   190 +
 .../state/internals/WindowStoreFetchTest.java      |   298 +
 .../state/internals/WrappingStoreProviderTest.java |   109 +
 .../internals/metrics/NamedCacheMetricsTest.java   |    71 +
 .../metrics/RocksDBBlockCacheMetricsTest.java      |   146 +
 .../metrics/RocksDBMetricsRecorderGaugesTest.java  |   273 +
 .../metrics/RocksDBMetricsRecorderTest.java        |   604 +
 .../RocksDBMetricsRecordingTriggerTest.java        |    91 +
 .../internals/metrics/RocksDBMetricsTest.java      |   548 +
 .../internals/metrics/StateStoreMetricsTest.java   |   403 +
 .../streams/tests/BrokerCompatibilityTest.java     |   165 +
 .../apache/kafka/streams/tests/EosTestClient.java  |   175 +
 .../apache/kafka/streams/tests/EosTestDriver.java  |   653 +
 .../kafka/streams/tests/RelationalSmokeTest.java   |  1005 +
 .../streams/tests/RelationalSmokeTestTest.java     |   108 +
 .../kafka/streams/tests/ShutdownDeadlockTest.java  |    91 +
 .../kafka/streams/tests/SmokeTestClient.java       |   270 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   678 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   131 +
 .../streams/tests/StaticMemberTestClient.java      |    85 +
 .../tests/StreamsBrokerDownResilienceTest.java     |   150 +
 .../apache/kafka/streams/tests/StreamsEosTest.java |    91 +
 .../streams/tests/StreamsNamedRepartitionTest.java |   122 +
 .../kafka/streams/tests/StreamsOptimizedTest.java  |   157 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   105 +
 .../streams/tests/StreamsStandByReplicaTest.java   |   171 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |   427 +
 .../StreamsUpgradeToCooperativeRebalanceTest.java  |   136 +
 .../apache/kafka/streams/tests/SystemTestUtil.java |    62 +
 .../kafka/streams/tests/SystemTestUtilTest.java    |    78 +
 .../org/apache/kafka/streams/utils/TestUtils.java  |   273 +
 .../kafka/streams/utils/UniqueTopicSerdeScope.java |   154 +
 .../kafka/test/GenericInMemoryKeyValueStore.java   |   181 +
 .../GenericInMemoryTimestampedKeyValueStore.java   |   183 +
 .../apache/kafka/test/GlobalStateManagerStub.java  |   112 +
 .../kafka/test/InternalMockProcessorContext.java   |   528 +
 .../apache/kafka/test/KeyValueIteratorStub.java    |    52 +
 .../java/org/apache/kafka/test/MockAggregator.java |    29 +
 .../kafka/test/MockApiFixedKeyProcessor.java       |   165 +
 .../test/MockApiFixedKeyProcessorSupplier.java     |    75 +
 .../org/apache/kafka/test/MockApiProcessor.java    |   171 +
 .../kafka/test/MockApiProcessorSupplier.java       |    75 +
 .../apache/kafka/test/MockCachedKeyValueStore.java |    42 +
 .../org/apache/kafka/test/MockClientSupplier.java  |   102 +
 .../org/apache/kafka/test/MockInitializer.java     |    31 +
 .../kafka/test/MockInternalProcessorContext.java   |   270 +
 .../kafka/test/MockInternalTopicManager.java       |    76 +
 .../org/apache/kafka/test/MockKeyValueStore.java   |   148 +
 .../kafka/test/MockKeyValueStoreBuilder.java       |    44 +
 .../java/org/apache/kafka/test/MockMapper.java     |    92 +
 .../java/org/apache/kafka/test/MockPredicate.java  |    33 +
 .../java/org/apache/kafka/test/MockProcessor.java  |    96 +
 .../org/apache/kafka/test/MockProcessorNode.java   |    71 +
 .../apache/kafka/test/MockProcessorSupplier.java   |    74 +
 .../org/apache/kafka/test/MockRecordCollector.java |   115 +
 .../java/org/apache/kafka/test/MockReducer.java    |    63 +
 .../org/apache/kafka/test/MockRestoreCallback.java |    32 +
 .../org/apache/kafka/test/MockRestoreConsumer.java |   159 +
 .../apache/kafka/test/MockRocksDbConfigSetter.java |    40 +
 .../java/org/apache/kafka/test/MockSourceNode.java |    60 +
 .../kafka/test/MockStandbyUpdateListener.java      |    59 +
 .../kafka/test/MockStateRestoreListener.java       |    94 +
 .../apache/kafka/test/MockTimestampExtractor.java  |    29 +
 .../org/apache/kafka/test/MockValueJoiner.java     |    33 +
 .../apache/kafka/test/NoOpProcessorContext.java    |   169 +
 .../org/apache/kafka/test/NoOpReadOnlyStore.java   |   116 +
 .../test/NoOpValueTransformerWithKeySupplier.java  |    45 +
 .../apache/kafka/test/NoopValueTransformer.java    |    35 +
 .../kafka/test/NoopValueTransformerWithKey.java    |    35 +
 .../kafka/test/ReadOnlySessionStoreStub.java       |   218 +
 .../apache/kafka/test/StateStoreProviderStub.java  |    78 +
 .../org/apache/kafka/test/StreamsTestUtils.java    |   336 +
 .../kafka/kafka-streams-version.properties         |    16 +
 streams/src/test/resources/log4j2.yaml             |    65 +
 streams/streams-scala/.gitignore                   |     1 +
 .../streams/scala/FunctionsCompatConversions.scala |   141 +
 .../kafka/streams/scala/ImplicitConversions.scala  |   107 +
 .../kafka/streams/scala/StreamsBuilder.scala       |   195 +
 .../kafka/streams/scala/kstream/Branched.scala     |    67 +
 .../streams/scala/kstream/BranchedKStream.scala    |   118 +
 .../streams/scala/kstream/CogroupedKStream.scala   |   113 +
 .../kafka/streams/scala/kstream/Consumed.scala     |   115 +
 .../kafka/streams/scala/kstream/Grouped.scala      |    51 +
 .../kafka/streams/scala/kstream/Joined.scala       |    66 +
 .../streams/scala/kstream/KGroupedStream.scala     |   190 +
 .../streams/scala/kstream/KGroupedTable.scala      |   145 +
 .../kafka/streams/scala/kstream/KStream.scala      |   877 +
 .../kafka/streams/scala/kstream/KTable.scala       |   806 +
 .../kafka/streams/scala/kstream/Materialized.scala |   114 +
 .../kafka/streams/scala/kstream/Produced.scala     |    60 +
 .../streams/scala/kstream/Repartitioned.scala      |    87 +
 .../kstream/SessionWindowedCogroupedKStream.scala  |    64 +
 .../scala/kstream/SessionWindowedKStream.scala     |   148 +
 .../kafka/streams/scala/kstream/StreamJoined.scala |    91 +
 .../kstream/TimeWindowedCogroupedKStream.scala     |    62 +
 .../scala/kstream/TimeWindowedKStream.scala        |   142 +
 .../kafka/streams/scala/kstream/package.scala      |    31 +
 .../org/apache/kafka/streams/scala/package.scala   |    26 +
 .../kafka/streams/scala/serialization/Serdes.scala |    89 +
 .../streams-scala/src/test/resources/log4j2.yaml   |    40 +
 .../apache/kafka/streams/scala/TopologyTest.scala  |   470 +
 .../kafka/streams/scala/kstream/ConsumedTest.scala |    74 +
 .../kafka/streams/scala/kstream/GroupedTest.scala  |    46 +
 .../kafka/streams/scala/kstream/JoinedTest.scala   |    44 +
 .../streams/scala/kstream/KStreamSplitTest.scala   |   125 +
 .../kafka/streams/scala/kstream/KStreamTest.scala  |   419 +
 .../kafka/streams/scala/kstream/KTableTest.scala   |   617 +
 .../streams/scala/kstream/MaterializedTest.scala   |    88 +
 .../kafka/streams/scala/kstream/ProducedTest.scala |    61 +
 .../streams/scala/kstream/RepartitionedTest.scala  |   111 +
 .../streams/scala/kstream/StreamJoinedTest.scala   |    85 +
 .../kafka/streams/scala/utils/TestDriver.scala     |    41 +
 .../org/apache/kafka/streams/TestInputTopic.java   |   263 +
 .../org/apache/kafka/streams/TestOutputTopic.java  |   201 +
 .../apache/kafka/streams/TopologyTestDriver.java   |  1361 ++
 .../streams/processor/MockProcessorContext.java    |   569 +
 .../processor/api/MockProcessorContext.java        |   536 +
 .../org/apache/kafka/streams/test/TestRecord.java  |   237 +
 .../apache/kafka/streams/test/package-info.java    |    20 +
 .../kafka/streams/KeyValueStoreFacadeTest.java     |   139 +
 .../kafka/streams/MockProcessorContextTest.java    |   466 +
 .../org/apache/kafka/streams/MockTimeTest.java     |    58 +
 .../org/apache/kafka/streams/TestTopicsTest.java   |   449 +
 .../streams/TopologyTestDriverAtLeastOnceTest.java |    26 +
 .../kafka/streams/TopologyTestDriverEosTest.java   |    26 +
 .../kafka/streams/TopologyTestDriverTest.java      |  1786 ++
 .../kafka/streams/WindowStoreFacadeTest.java       |   104 +
 .../streams/test/MockProcessorContextAPITest.java  |   355 +
 .../test/MockProcessorContextStateStoreTest.java   |   197 +
 .../apache/kafka/streams/test/TestRecordTest.java  |   172 +
 .../WindowedWordCountProcessorSupplier.java        |    73 +
 .../wordcount/WindowedWordCountProcessorTest.java  |   179 +
 streams/test-utils/src/test/resources/log4j2.yaml  |    35 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |    97 +
 .../StreamsUpgradeToCooperativeRebalanceTest.java  |    83 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |    97 +
 .../StreamsUpgradeToCooperativeRebalanceTest.java  |   135 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |    97 +
 .../StreamsUpgradeToCooperativeRebalanceTest.java  |   135 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |    86 +
 .../StreamsUpgradeToCooperativeRebalanceTest.java  |   135 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |    86 +
 .../StreamsUpgradeToCooperativeRebalanceTest.java  |   135 +
 .../kafka/streams/tests/SmokeTestClient.java       |   298 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   632 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   134 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   100 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |    86 +
 .../StreamsUpgradeToCooperativeRebalanceTest.java  |   135 +
 .../kafka/streams/tests/SmokeTestClient.java       |   298 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   622 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   134 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   100 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |    86 +
 .../StreamsUpgradeToCooperativeRebalanceTest.java  |   124 +
 .../kafka/streams/tests/SmokeTestClient.java       |   298 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   667 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   134 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   100 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |   118 +
 .../kafka/streams/tests/SmokeTestClient.java       |   298 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   668 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   134 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   100 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |   118 +
 .../kafka/streams/tests/SmokeTestClient.java       |   298 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   670 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   134 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   100 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |   118 +
 .../kafka/streams/tests/SmokeTestClient.java       |   298 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   681 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   134 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   100 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |   118 +
 .../kafka/streams/tests/SmokeTestClient.java       |   299 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   668 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   134 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   100 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |   118 +
 .../kafka/streams/tests/SmokeTestClient.java       |   299 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   668 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   131 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   100 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |   120 +
 .../kafka/streams/tests/SmokeTestClient.java       |   299 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   670 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   131 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   100 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |   120 +
 .../kafka/streams/tests/SmokeTestClient.java       |   299 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   670 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   131 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   100 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |   120 +
 .../kafka/streams/tests/SmokeTestClient.java       |   299 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   670 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   131 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   100 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |   120 +
 .../kafka/streams/tests/SmokeTestClient.java       |   299 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   670 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   131 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   100 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |   120 +
 .../kafka/streams/tests/SmokeTestClient.java       |   299 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   670 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   131 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   100 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |   120 +
 .../kafka/streams/tests/SmokeTestClient.java       |   299 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   670 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   131 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   100 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |   120 +
 .../kafka/streams/tests/SmokeTestClient.java       |   299 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   670 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   131 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   100 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |   120 +
 .../kafka/streams/tests/SmokeTestClient.java       |   299 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   670 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   131 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   100 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |   120 +
 .../kafka/streams/tests/SmokeTestClient.java       |   299 +
 .../kafka/streams/tests/SmokeTestDriver.java       |   670 +
 .../apache/kafka/streams/tests/SmokeTestUtil.java  |   131 +
 .../kafka/streams/tests/StreamsSmokeTest.java      |   100 +
 .../kafka/streams/tests/StreamsUpgradeTest.java    |   120 +
 .../apache/kafka/common/test/api/AutoStart.java    |    24 +
 .../kafka/common/test/api/ClusterConfig.java       |   369 +
 .../common/test/api/ClusterConfigProperty.java     |    50 +
 .../kafka/common/test/api/ClusterFeature.java      |    33 +
 .../kafka/common/test/api/ClusterGenerator.java    |    25 +
 .../kafka/common/test/api/ClusterTemplate.java     |    57 +
 .../apache/kafka/common/test/api/ClusterTest.java  |    60 +
 .../kafka/common/test/api/ClusterTestDefaults.java |    44 +
 .../apache/kafka/common/test/api/ClusterTests.java |    38 +
 .../kafka/common/test/api/DetectThreadLeak.java    |    50 +
 .../org/apache/kafka/common/test/api/README.md     |   125 +
 .../kafka/common/test/api/TestKitDefaults.java     |    35 +
 .../org/apache/kafka/common/test/api/Type.java     |    24 +
 .../kafka/common/test/api/ClusterConfigTest.java   |   127 +
 .../common/test/api/DetectThreadLeakTest.java      |    67 +
 .../src/test/resources/log4j2.yaml                 |    35 +
 .../apache/kafka/common/test/ClusterInstance.java  |   392 +
 .../org/apache/kafka/common/test/JaasModule.java   |    46 +
 .../org/apache/kafka/common/test/JaasUtils.java    |    63 +
 .../kafka/common/test/KafkaClusterTestKit.java     |   675 +
 .../common/test/KafkaClusterThreadFactory.java     |    45 +
 .../apache/kafka/common/test/MockController.java   |   549 +
 .../apache/kafka/common/test/MockFaultHandler.java |    72 +
 .../common/test/PreboundSocketFactoryManager.java  |   185 +
 .../org/apache/kafka/common/test/TestKitNode.java  |    46 +
 .../org/apache/kafka/common/test/TestKitNodes.java |   384 +
 .../org/apache/kafka/common/test/TestUtils.java    |   188 +
 .../junit/ClusterInstanceParameterResolver.java    |    70 +
 .../common/test/junit/ClusterTestExtensions.java   |   306 +
 .../test/junit/RaftClusterInvocationContext.java   |   307 +
 .../org.junit.jupiter.api.extension.Extension      |    16 +
 .../src/main/resources/log4j2.yaml                 |    35 +
 .../kafka/common/test/KafkaClusterTestKitTest.java |   156 +
 .../common/test/KafkaClusterThreadFactoryTest.java |    38 +
 .../apache/kafka/common/test/TestKitNodeTest.java  |    60 +
 .../test/junit/ClusterTestExtensionsTest.java      |   525 +
 .../test/junit/ClusterTestExtensionsUnitTest.java  |    80 +
 .../org/apache/kafka/common/test/api/Flaky.java    |    40 +
 .../test/junit/AutoQuarantinedTestFilter.java      |   172 +
 .../test/junit/QuarantinedPostDiscoveryFilter.java |    87 +
 ...org.junit.platform.launcher.PostDiscoveryFilter |    16 +
 .../src/main/resources/junit-platform.properties   |    16 +
 .../test/junit/AutoQuarantinedTestFilterTest.java  |    82 +
 .../junit/QuarantinedPostDiscoveryFilterTest.java  |   175 +
 test.html                                          |     1 +
 tools/.gitignore                                   |     1 +
 .../java/org/apache/kafka/tools/AclCommand.java    |   605 +
 .../kafka/tools/BrokerApiVersionsCommand.java      |   296 +
 .../kafka/tools/ClientCompatibilityTest.java       |   543 +
 .../apache/kafka/tools/ClientMetricsCommand.java   |   371 +
 .../java/org/apache/kafka/tools/ClusterTool.java   |   198 +
 .../org/apache/kafka/tools/ConnectPluginPath.java  |   443 +
 .../org/apache/kafka/tools/ConsoleProducer.java    |   348 +
 .../apache/kafka/tools/ConsumerPerformance.java    |   388 +
 .../apache/kafka/tools/DelegationTokenCommand.java |   308 +
 .../apache/kafka/tools/DeleteRecordsCommand.java   |   197 +
 .../org/apache/kafka/tools/EndToEndLatency.java    |   224 +
 .../org/apache/kafka/tools/FeatureCommand.java     |   467 +
 .../org/apache/kafka/tools/GetOffsetShell.java     |   396 +
 .../java/org/apache/kafka/tools/GroupsCommand.java |   295 +
 .../main/java/org/apache/kafka/tools/JmxTool.java  |   430 +
 .../apache/kafka/tools/LeaderElectionCommand.java  |   395 +
 .../org/apache/kafka/tools/LineMessageReader.java  |   218 +
 .../org/apache/kafka/tools/LogDirsCommand.java     |   222 +
 .../org/apache/kafka/tools/ManifestWorkspace.java  |   604 +
 .../apache/kafka/tools/MetadataQuorumCommand.java  |   507 +
 .../apache/kafka/tools/OAuthCompatibilityTool.java |   388 +
 .../kafka/tools/PrintVersionAndExitAction.java     |    53 +
 .../apache/kafka/tools/ProducerPerformance.java    |   542 +
 .../kafka/tools/PushHttpMetricsReporter.java       |   337 +
 .../kafka/tools/ReplicaVerificationTool.java       |   725 +
 .../kafka/tools/ShareConsumerPerformance.java      |   456 +
 .../org/apache/kafka/tools/StreamsResetter.java    |   765 +
 .../org/apache/kafka/tools/TerseException.java     |    33 +
 .../java/org/apache/kafka/tools/ToolsUtils.java    |   157 +
 .../java/org/apache/kafka/tools/TopicCommand.java  |  1030 +
 .../kafka/tools/TransactionalMessageCopier.java    |   419 +
 .../apache/kafka/tools/TransactionsCommand.java    |  1033 +
 .../org/apache/kafka/tools/VerifiableConsumer.java |   709 +
 .../org/apache/kafka/tools/VerifiableProducer.java |   554 +
 .../kafka/tools/VerifiableShareConsumer.java       |   630 +
 .../kafka/tools/consumer/ApiMessageFormatter.java  |    83 +
 .../kafka/tools/consumer/ConsoleConsumer.java      |   213 +
 .../tools/consumer/ConsoleConsumerOptions.java     |   416 +
 .../kafka/tools/consumer/ConsoleShareConsumer.java |   186 +
 .../consumer/ConsoleShareConsumerOptions.java      |   271 +
 .../tools/consumer/DefaultMessageFormatter.java    |   231 +
 .../consumer/GroupMetadataMessageFormatter.java    |    60 +
 .../tools/consumer/LoggingMessageFormatter.java    |    50 +
 .../kafka/tools/consumer/NoOpMessageFormatter.java |    30 +
 .../tools/consumer/OffsetsMessageFormatter.java    |    65 +
 .../consumer/TransactionLogMessageFormatter.java   |    60 +
 .../tools/consumer/group/ConsumerGroupCommand.java |  1385 ++
 .../group/ConsumerGroupCommandOptions.java         |   283 +
 .../kafka/tools/consumer/group/CsvUtils.java       |   157 +
 .../tools/consumer/group/GroupInformation.java     |    50 +
 .../consumer/group/MemberAssignmentState.java      |    62 +
 .../consumer/group/PartitionAssignmentState.java   |    61 +
 .../tools/consumer/group/ShareGroupCommand.java    |   397 +
 .../consumer/group/ShareGroupCommandOptions.java   |   212 +
 .../share/ShareGroupStateMessageFormatter.java     |   176 +
 .../apache/kafka/tools/filter/PartitionFilter.java |    66 +
 .../org/apache/kafka/tools/filter/TopicFilter.java |    74 +
 .../kafka/tools/filter/TopicPartitionFilter.java   |    71 +
 .../kafka/tools/reassign/ActiveMoveState.java      |    60 +
 .../kafka/tools/reassign/CancelledMoveState.java   |    57 +
 .../kafka/tools/reassign/CompletedMoveState.java   |    52 +
 .../kafka/tools/reassign/LogDirMoveState.java      |    28 +
 .../tools/reassign/MissingLogDirMoveState.java     |    52 +
 .../tools/reassign/MissingReplicaMoveState.java    |    52 +
 .../apache/kafka/tools/reassign/PartitionMove.java |    52 +
 .../tools/reassign/PartitionReassignmentState.java |    57 +
 .../tools/reassign/ReassignPartitionsCommand.java  |  1504 ++
 .../reassign/ReassignPartitionsCommandOptions.java |   121 +
 .../tools/reassign/VerifyAssignmentResult.java     |    70 +
 .../kafka/tools/AbstractResetIntegrationTest.java  |   432 +
 .../org/apache/kafka/tools/AclCommandTest.java     |   589 +
 .../kafka/tools/BrokerApiVersionsCommandTest.java  |    99 +
 .../kafka/tools/ClientMetricsCommandTest.java      |   270 +
 .../org/apache/kafka/tools/ClusterToolTest.java    |   172 +
 .../apache/kafka/tools/ConnectPluginPathTest.java  |   690 +
 .../apache/kafka/tools/ConsoleProducerTest.java    |   252 +
 .../kafka/tools/ConsumerPerformanceTest.java       |   142 +
 .../kafka/tools/DelegationTokenCommandTest.java    |   112 +
 .../kafka/tools/DeleteRecordsCommandTest.java      |   178 +
 .../apache/kafka/tools/EndToEndLatencyTest.java    |   104 +
 .../org/apache/kafka/tools/FeatureCommandTest.java |   557 +
 .../kafka/tools/GetOffsetShellParsingTest.java     |   257 +
 .../org/apache/kafka/tools/GetOffsetShellTest.java |   527 +
 .../org/apache/kafka/tools/GroupsCommandTest.java  |   537 +
 .../java/org/apache/kafka/tools/JmxToolTest.java   |   429 +
 .../tools/LeaderElectionCommandErrorTest.java      |   100 +
 .../kafka/tools/LeaderElectionCommandTest.java     |   351 +
 .../apache/kafka/tools/LineMessageReaderTest.java  |   403 +
 .../org/apache/kafka/tools/LogDirsCommandTest.java |   228 +
 .../tools/MetadataQuorumCommandErrorTest.java      |    85 +
 .../kafka/tools/MetadataQuorumCommandTest.java     |   198 +
 .../kafka/tools/MetadataQuorumCommandUnitTest.java |   264 +
 .../kafka/tools/ProducerPerformanceTest.java       |   495 +
 .../kafka/tools/PushHttpMetricsReporterTest.java   |   350 +
 .../kafka/tools/ReplicaVerificationToolTest.java   |    73 +
 .../apache/kafka/tools/ResetIntegrationTest.java   |   409 +
 .../kafka/tools/ResetIntegrationWithSslTest.java   |    90 +
 .../kafka/tools/ShareConsumerPerformanceTest.java  |   137 +
 .../apache/kafka/tools/StreamsResetterTest.java    |   318 +
 .../org/apache/kafka/tools/ToolsTestUtils.java     |   253 +
 .../org/apache/kafka/tools/TopicCommandTest.java   |  1519 ++
 .../kafka/tools/TransactionsCommandTest.java       |  1070 +
 .../tools/consumer/ConsoleConsumerOptionsTest.java |   622 +
 .../kafka/tools/consumer/ConsoleConsumerTest.java  |   485 +
 .../consumer/ConsoleShareConsumerOptionsTest.java  |   275 +
 .../tools/consumer/ConsoleShareConsumerTest.java   |   134 +
 .../consumer/DefaultMessageFormatterTest.java      |   171 +
 .../GroupMetadataMessageFormatterTest.java         |   159 +
 .../tools/consumer/NoOpMessageFormatterTest.java   |    42 +
 .../tools/consumer/OffsetMessageFormatterTest.java |   150 +
 .../TransactionLogMessageFormatterTest.java        |   108 +
 .../consumer/group/AuthorizerIntegrationTest.java  |    53 +
 .../consumer/group/ConsumerGroupCommandTest.java   |    57 +
 .../group/ConsumerGroupCommandTestUtils.java       |   154 +
 .../consumer/group/ConsumerGroupServiceTest.java   |   315 +
 .../consumer/group/DeleteConsumerGroupsTest.java   |   342 +
 ...OffsetsConsumerGroupCommandIntegrationTest.java |   261 +
 .../consumer/group/DescribeConsumerGroupTest.java  |  1242 +
 .../consumer/group/ListConsumerGroupTest.java      |   658 +
 .../group/ResetConsumerGroupOffsetTest.java        |   860 +
 .../SaslClientsWithInvalidCredentialsTest.java     |   192 +
 .../consumer/group/ShareGroupCommandTest.java      |   588 +
 .../share/ShareGroupStateMessageFormatterTest.java |   218 +
 .../apache/kafka/tools/filter/TopicFilterTest.java |    52 +
 .../tools/other/ReplicationQuotasTestRig.java      |   476 +
 .../ReassignPartitionsCommandArgsTest.java         |   322 +
 .../reassign/ReassignPartitionsCommandTest.java    |   826 +
 .../tools/reassign/ReassignPartitionsUnitTest.java |   768 +
 tools/src/test/resources/log4j2.yaml               |    39 +
 .../java/org/apache/kafka/tools/api/Decoder.java   |    25 +
 .../org/apache/kafka/tools/api/DefaultDecoder.java |    27 +
 .../org/apache/kafka/tools/api/IntegerDecoder.java |    29 +
 .../org/apache/kafka/tools/api/LongDecoder.java    |    29 +
 .../org/apache/kafka/tools/api/RecordReader.java   |    51 +
 .../org/apache/kafka/tools/api/StringDecoder.java  |    29 +
 .../org/apache/kafka/tools/api/package-info.java   |    20 +
 .../apache/kafka/tools/api/RecordReaderTest.java   |    33 +
 .../coordinator/transaction/ProducerIdManager.java |    42 +
 .../transaction/RPCProducerIdManager.java          |   182 +
 .../TransactionCoordinatorRecordSerde.java         |    43 +
 .../transaction/TransactionLogConfig.java          |   128 +
 .../transaction/TransactionStateManagerConfig.java |    84 +
 .../common/message/TransactionLogKey.json          |    26 +
 .../common/message/TransactionLogValue.json        |    53 +
 .../transaction/ProducerIdManagerTest.java         |   215 +
 .../TransactionCoordinatorRecordSerdeTest.java     |   217 +
 .../transaction/TransactionLogConfigTest.java      |   103 +
 .../TransactionStateManagerConfigTest.java         |    75 +
 trogdor/.gitignore                                 |     1 +
 trogdor/README.md                                  |   195 +
 .../java/org/apache/kafka/trogdor/agent/Agent.java |   272 +
 .../apache/kafka/trogdor/agent/AgentClient.java    |   327 +
 .../kafka/trogdor/agent/AgentRestResource.java     |   111 +
 .../apache/kafka/trogdor/agent/WorkerManager.java  |   698 +
 .../org/apache/kafka/trogdor/basic/BasicNode.java  |   112 +
 .../apache/kafka/trogdor/basic/BasicPlatform.java  |   116 +
 .../apache/kafka/trogdor/basic/BasicTopology.java  |    59 +
 .../org/apache/kafka/trogdor/common/JsonUtil.java  |    97 +
 .../java/org/apache/kafka/trogdor/common/Node.java |    68 +
 .../org/apache/kafka/trogdor/common/Platform.java  |    88 +
 .../kafka/trogdor/common/StringExpander.java       |    56 +
 .../kafka/trogdor/common/StringFormatter.java      |   113 +
 .../org/apache/kafka/trogdor/common/Topology.java  |    53 +
 .../apache/kafka/trogdor/common/WorkerUtils.java   |   347 +
 .../kafka/trogdor/coordinator/Coordinator.java     |   183 +
 .../trogdor/coordinator/CoordinatorClient.java     |   516 +
 .../coordinator/CoordinatorRestResource.java       |   155 +
 .../kafka/trogdor/coordinator/NodeManager.java     |   388 +
 .../kafka/trogdor/coordinator/TaskManager.java     |   709 +
 .../trogdor/fault/DegradedNetworkFaultSpec.java    |    95 +
 .../trogdor/fault/DegradedNetworkFaultWorker.java  |   175 +
 .../trogdor/fault/FilesUnreadableFaultSpec.java    |    84 +
 .../org/apache/kafka/trogdor/fault/Kibosh.java     |   198 +
 .../kafka/trogdor/fault/KiboshFaultController.java |    36 +
 .../kafka/trogdor/fault/KiboshFaultWorker.java     |    65 +
 .../fault/NetworkPartitionFaultController.java     |    42 +
 .../trogdor/fault/NetworkPartitionFaultSpec.java   |    76 +
 .../trogdor/fault/NetworkPartitionFaultWorker.java |    89 +
 .../trogdor/fault/ProcessStopFaultController.java  |    36 +
 .../kafka/trogdor/fault/ProcessStopFaultSpec.java  |    67 +
 .../trogdor/fault/ProcessStopFaultWorker.java      |    91 +
 .../kafka/trogdor/rest/AgentStatusResponse.java    |    48 +
 .../trogdor/rest/CoordinatorShutdownRequest.java   |    38 +
 .../trogdor/rest/CoordinatorStatusResponse.java    |    38 +
 .../kafka/trogdor/rest/CreateTaskRequest.java      |    48 +
 .../kafka/trogdor/rest/CreateWorkerRequest.java    |    56 +
 .../kafka/trogdor/rest/DestroyTaskRequest.java     |    38 +
 .../kafka/trogdor/rest/DestroyWorkerRequest.java   |    38 +
 .../java/org/apache/kafka/trogdor/rest/Empty.java  |    49 +
 .../apache/kafka/trogdor/rest/ErrorResponse.java   |    69 +
 .../apache/kafka/trogdor/rest/JsonRestServer.java  |   297 +
 .../org/apache/kafka/trogdor/rest/Message.java     |    41 +
 .../trogdor/rest/RequestConflictException.java     |    33 +
 .../kafka/trogdor/rest/RestExceptionMapper.java    |    80 +
 .../apache/kafka/trogdor/rest/StopTaskRequest.java |    38 +
 .../kafka/trogdor/rest/StopWorkerRequest.java      |    38 +
 .../org/apache/kafka/trogdor/rest/TaskDone.java    |    87 +
 .../org/apache/kafka/trogdor/rest/TaskPending.java |    39 +
 .../org/apache/kafka/trogdor/rest/TaskRequest.java |    38 +
 .../org/apache/kafka/trogdor/rest/TaskRunning.java |    52 +
 .../org/apache/kafka/trogdor/rest/TaskState.java   |    59 +
 .../apache/kafka/trogdor/rest/TaskStateType.java   |    39 +
 .../apache/kafka/trogdor/rest/TaskStopping.java    |    52 +
 .../apache/kafka/trogdor/rest/TasksRequest.java    |   142 +
 .../apache/kafka/trogdor/rest/TasksResponse.java   |    42 +
 .../apache/kafka/trogdor/rest/UptimeResponse.java  |    47 +
 .../org/apache/kafka/trogdor/rest/WorkerDone.java  |    92 +
 .../apache/kafka/trogdor/rest/WorkerReceiving.java |    42 +
 .../apache/kafka/trogdor/rest/WorkerRunning.java   |    68 +
 .../apache/kafka/trogdor/rest/WorkerStarting.java  |    41 +
 .../org/apache/kafka/trogdor/rest/WorkerState.java |    75 +
 .../apache/kafka/trogdor/rest/WorkerStopping.java  |    73 +
 .../trogdor/task/AgentWorkerStatusTracker.java     |    43 +
 .../kafka/trogdor/task/NoOpTaskController.java     |    33 +
 .../apache/kafka/trogdor/task/NoOpTaskSpec.java    |    44 +
 .../apache/kafka/trogdor/task/NoOpTaskWorker.java  |    52 +
 .../apache/kafka/trogdor/task/TaskController.java  |    36 +
 .../org/apache/kafka/trogdor/task/TaskSpec.java    |   117 +
 .../org/apache/kafka/trogdor/task/TaskWorker.java  |    76 +
 .../kafka/trogdor/task/WorkerStatusTracker.java    |    32 +
 .../trogdor/workload/ConfigurableProducerSpec.java |   216 +
 .../workload/ConfigurableProducerWorker.java       |   324 +
 .../trogdor/workload/ConnectionStressSpec.java     |   106 +
 .../trogdor/workload/ConnectionStressWorker.java   |   324 +
 .../trogdor/workload/ConstantFlushGenerator.java   |    74 +
 .../trogdor/workload/ConstantPayloadGenerator.java |    54 +
 .../workload/ConstantThroughputGenerator.java      |   112 +
 .../kafka/trogdor/workload/ConsumeBenchSpec.java   |   249 +
 .../kafka/trogdor/workload/ConsumeBenchWorker.java |   567 +
 .../trogdor/workload/ExternalCommandSpec.java      |   115 +
 .../trogdor/workload/ExternalCommandWorker.java    |   398 +
 .../kafka/trogdor/workload/FlushGenerator.java     |    44 +
 .../trogdor/workload/GaussianFlushGenerator.java   |   102 +
 .../workload/GaussianThroughputGenerator.java      |   154 +
 .../GaussianTimestampConstantPayloadGenerator.java |   126 +
 .../GaussianTimestampRandomPayloadGenerator.java   |   128 +
 .../apache/kafka/trogdor/workload/Histogram.java   |   202 +
 .../trogdor/workload/NullPayloadGenerator.java     |    33 +
 .../kafka/trogdor/workload/PartitionsSpec.java     |   122 +
 .../kafka/trogdor/workload/PayloadGenerator.java   |    51 +
 .../kafka/trogdor/workload/PayloadIterator.java    |    55 +
 .../kafka/trogdor/workload/PayloadKeyType.java     |    39 +
 .../kafka/trogdor/workload/ProduceBenchSpec.java   |   195 +
 .../kafka/trogdor/workload/ProduceBenchWorker.java |   423 +
 .../kafka/trogdor/workload/RandomComponent.java    |    48 +
 .../workload/RandomComponentPayloadGenerator.java  |   114 +
 .../kafka/trogdor/workload/RecordProcessor.java    |    36 +
 .../kafka/trogdor/workload/RoundTripWorker.java    |    67 +
 .../trogdor/workload/RoundTripWorkerBase.java      |   462 +
 .../trogdor/workload/RoundTripWorkloadSpec.java    |   133 +
 .../workload/SequentialPayloadGenerator.java       |    65 +
 .../trogdor/workload/ShareConsumeBenchSpec.java    |   221 +
 .../trogdor/workload/ShareConsumeBenchWorker.java  |   498 +
 .../trogdor/workload/ShareRoundTripWorker.java     |   105 +
 .../workload/ShareRoundTripWorkloadSpec.java       |    48 +
 .../trogdor/workload/SustainedConnectionSpec.java  |   197 +
 .../workload/SustainedConnectionWorker.java        |   532 +
 .../apache/kafka/trogdor/workload/Throttle.java    |    70 +
 .../trogdor/workload/ThroughputGenerator.java      |    43 +
 .../TimeIntervalTransactionsGenerator.java         |    68 +
 .../TimestampConstantPayloadGenerator.java         |    79 +
 .../workload/TimestampRandomPayloadGenerator.java  |   103 +
 .../trogdor/workload/TimestampRecordProcessor.java |   163 +
 .../apache/kafka/trogdor/workload/TopicsSpec.java  |    91 +
 .../trogdor/workload/TransactionGenerator.java     |    42 +
 .../workload/UniformRandomPayloadGenerator.java    |    89 +
 .../workload/UniformTransactionsGenerator.java     |    57 +
 .../org/apache/kafka/trogdor/agent/AgentTest.java  |   488 +
 .../kafka/trogdor/basic/BasicPlatformTest.java     |    64 +
 .../trogdor/common/CapturingCommandRunner.java     |    59 +
 .../apache/kafka/trogdor/common/ExpectedTasks.java |   208 +
 .../trogdor/common/JsonSerializationTest.java      |    87 +
 .../apache/kafka/trogdor/common/JsonUtilTest.java  |    70 +
 .../kafka/trogdor/common/MiniTrogdorCluster.java   |   291 +
 .../kafka/trogdor/common/StringExpanderTest.java   |    75 +
 .../kafka/trogdor/common/StringFormatterTest.java  |    60 +
 .../apache/kafka/trogdor/common/TopologyTest.java  |    64 +
 .../kafka/trogdor/common/WorkerUtilsTest.java      |   333 +
 .../trogdor/coordinator/CoordinatorClientTest.java |    79 +
 .../kafka/trogdor/coordinator/CoordinatorTest.java |   720 +
 .../trogdor/rest/RestExceptionMapperTest.java      |   111 +
 .../kafka/trogdor/task/SampleTaskController.java   |    29 +
 .../apache/kafka/trogdor/task/SampleTaskSpec.java  |    61 +
 .../kafka/trogdor/task/SampleTaskWorker.java       |    69 +
 .../apache/kafka/trogdor/task/TaskSpecTest.java    |    49 +
 .../trogdor/workload/ConsumeBenchSpecTest.java     |    77 +
 .../workload/ExternalCommandWorkerTest.java        |   190 +
 .../kafka/trogdor/workload/HistogramTest.java      |    85 +
 .../trogdor/workload/PayloadGeneratorTest.java     |   238 +
 .../workload/ShareConsumeBenchSpecTest.java        |    60 +
 .../kafka/trogdor/workload/ThrottleTest.java       |    73 +
 .../TimeIntervalTransactionsGeneratorTest.java     |    43 +
 .../kafka/trogdor/workload/TopicsSpecTest.java     |    89 +
 trogdor/src/test/resources/log4j2.yaml             |    39 +
 vagrant/README.md                                  |   134 +
 vagrant/aws/aws-access-keys-commands               |    25 +
 vagrant/aws/aws-example-Vagrantfile.local          |    29 +
 vagrant/aws/aws-init.sh                            |    81 +
 vagrant/base.sh                                    |   207 +
 vagrant/broker.sh                                  |    43 +
 vagrant/package-base-box.sh                        |    75 +
 vagrant/system-test-Vagrantfile.local              |    26 +
 vagrant/vagrant-up.sh                              |   266 +
 vagrant/zk.sh                                      |    47 +
 wrapper.gradle                                     |    85 +
 6467 files changed, 1524280 insertions(+), 49 deletions(-)

diff --git a/.github/workflows/merge-queue.yml b/.github/workflows/merge-queue.yml
deleted file mode 100644
index d43b5e4..0000000
--- a/.github/workflows/merge-queue.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-name: Validate Patch
-
-on:
-  pull_request:
-    branches: [ "main" ]
-  merge_group:
-    types: [checks_requested]
-
-jobs:
-  validate-patch:
-    runs-on: ubuntu-latest
-    steps:
-    - name: Checkout code
-      uses: actions/checkout@v3
-      with:
-        fetch-depth: 0
-    - name: Display info
-      run: | 
-        pwd
-        tree -a -I '.git'
-        echo "Action: ${{ github.event.action }}"
-        echo "Sender: ${{ github.event.sender.login }}"
-        git status
-        git log origin/main..HEAD
-    - name: Validate files
-      run: sleep 5
diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml
deleted file mode 100644
index a92f3d8..0000000
--- a/.github/workflows/pull-request.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-name: Run Tests
-
-on:
-  pull_request:
-
-jobs:
-  validate-pr:
-    runs-on: ubuntu-latest
-    steps:
-    - name: Checkout code
-      uses: actions/checkout@v3
-      with:
-        fetch-depth: 0
-    - name: Display info
-      run: | 
-        pwd
-        tree -a -I '.git'
-        git status
-        echo "Action: ${{ github.event.action }}"
-        echo "Sender: ${{ github.event.sender.login }}"
-    - name: Run tests and such
-      run: sleep 60
diff --git a/.gitignore b/.gitignore
index 5ceb386..b49f6a1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,65 @@
+dist
+*classes
+*.class
+target/
+build/
+build_eclipse/
+out/
+.gradle/
+.vscode/
+lib_managed/
+src_managed/
+project/boot/
+project/plugins/project/
+patch-process/*
+.idea
+.svn
+.classpath
+/.metadata
+/.recommenders
+*~
+*#
+.#*
+rat.out
+TAGS
+*.iml
+.project
+.settings
+*.ipr
+*.iws
+.vagrant
+Vagrantfile.local
+/logs
+.DS_Store
+
+config/server-*
+config/zookeeper-*
+gradle/wrapper/*.jar
+gradlew.bat
+
+results
+tests/results
+.ducktape
+tests/.ducktape
+tests/venv
+.cache
+
+docs/generated/
+
+.release-settings.json
+
+kafkatest.egg-info/
+systest/
+*.swp
+jmh-benchmarks/generated
+jmh-benchmarks/src/main/generated
+**/.jqwik-database
+**/src/generated
+**/src/generated-test
+storage/kafka-tiered-storage/
+
+docker/test/report_*.html
+kafka.Kafka
+__pycache__
+
 venv
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..07fd857
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,11 @@
+## Contributing to Kafka
+
+*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.
+
+It lists steps that are required before creating a PR.
+
+When you contribute code, you affirm that the contribution is your original work and that you
+license the work to the project under the project's open source license. Whether or not you
+state this explicitly, by submitting any copyrighted material via pull request, email, or
+other means you agree to license the material under the project's open source license and
+warrant that you have the legal authority to do so.
diff --git a/HEADER b/HEADER
new file mode 100644
index 0000000..8853bce
--- /dev/null
+++ b/HEADER
@@ -0,0 +1,14 @@
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/LICENSE-binary b/LICENSE-binary
new file mode 100644
index 0000000..c5f65ca
--- /dev/null
+++ b/LICENSE-binary
@@ -0,0 +1,337 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-------------------------------------------------------------------------------
+This project bundles some components that are also licensed under the Apache
+License Version 2.0:
+
+audience-annotations-0.12.0
+caffeine-3.1.1
+commons-beanutils-1.9.4
+commons-collections-3.2.2
+commons-digester-2.1
+commons-lang3-3.12.0
+commons-logging-1.3.2
+commons-validator-1.9.0
+error_prone_annotations-2.14.0
+jackson-annotations-2.16.2
+jackson-core-2.16.2
+jackson-databind-2.16.2
+jackson-dataformat-csv-2.16.2
+jackson-dataformat-yaml-2.16.2
+jackson-datatype-jdk8-2.16.2
+jackson-jakarta-rs-base-2.16.2
+jackson-jakarta-rs-json-provider-2.16.2
+jackson-jaxrs-base-2.16.2
+jackson-jaxrs-json-provider-2.16.2
+jackson-module-blackbird-2.16.2
+jackson-module-jakarta-xmlbind-annotations-2.16.2
+jackson-module-jaxb-annotations-2.16.2
+jackson-module-scala_2.13-2.16.2
+jakarta.inject-api-2.0.1
+jakarta.validation-api-3.0.2
+javassist-3.29.2-GA
+jetty-alpn-client-12.0.15
+jetty-client-12.0.15
+jetty-continuation-9.4.56.v20240826
+jetty-ee10-servlet-12.0.15
+jetty-ee10-servlets-12.0.15
+jetty-http-12.0.15
+jetty-io-12.0.15
+jetty-security-12.0.15
+jetty-server-12.0.15
+jetty-servlet-9.4.56.v20240826
+jetty-servlets-9.4.56.v20240826
+jetty-session-12.0.15
+jetty-util-12.0.15
+jetty-util-ajax-9.4.56.v20240826
+jose4j-0.9.4
+log4j-api-2.24.1
+log4j-core-2.24.1
+log4j-core-test-2.24.1
+log4j-slf4j-impl-2.24.1
+log4j-1.2-api-2.24.1
+lz4-java-1.8.0
+maven-artifact-3.9.6
+metrics-core-4.1.12.1
+metrics-core-2.2.0
+opentelemetry-proto-1.0.0-alpha
+plexus-utils-3.5.1
+rocksdbjni-9.7.3
+scala-library-2.13.15
+scala-logging_2.13-3.9.5
+scala-reflect-2.13.15
+snappy-java-1.1.10.5
+snakeyaml-2.2
+swagger-annotations-2.2.25
+
+===============================================================================
+This product bundles various third-party components under other open source
+licenses. This section summarizes those components and their licenses.
+See licenses/ for text of these licenses.
+
+---------------------------------------
+Eclipse Distribution License - v 1.0
+see: licenses/eclipse-distribution-license-1.0
+
+jakarta.activation-api-2.1.0
+jakarta.xml.bind-api-3.0.1
+
+---------------------------------------
+Eclipse Public License - v 2.0
+see: licenses/eclipse-public-license-2.0
+
+jakarta.annotation-api-2.1.1
+jakarta.ws.rs-api-3.1.0
+hk2-api-3.0.6
+hk2-locator-3.0.6
+hk2-utils-3.0.6
+osgi-resource-locator-1.0.3
+aopalliance-repackaged-3.0.6
+jakarta.inject-2.6.1
+jersey-client-3.1.9
+jersey-common-3.1.9
+jersey-container-servlet-3.1.9
+jersey-container-servlet-core-3.1.9
+jersey-hk2-3.1.9
+jersey-server-3.1.9
+
+---------------------------------------
+CDDL 1.1 + GPLv2 with classpath exception
+see: licenses/CDDL+GPL-1.1
+
+jakarta.servlet-api-6.0.0
+javax.activation-api-1.2.0
+javax.annotation-api-1.3.2
+javax.servlet-api-3.1.0
+jaxb-api-2.3.1
+activation-1.1.1
+
+---------------------------------------
+MIT License
+
+argparse4j-0.7.0, see: licenses/argparse-MIT
+classgraph-4.8.173, see: licenses/classgraph-MIT
+jopt-simple-5.0.4, see: licenses/jopt-simple-MIT
+slf4j-api-1.7.36, see: licenses/slf4j-MIT
+pcollections-4.0.1, see: licenses/pcollections-MIT
+
+---------------------------------------
+BSD 2-Clause
+
+zstd-jni-1.5.6-6 see: licenses/zstd-jni-BSD-2-clause
+HdrHistogram-2.2.2 see: licenses/hdrHistogram-BSD-2-clause
+
+---------------------------------------
+BSD 3-Clause
+
+jline-3.25.1, see: licenses/jline-BSD-3-clause
+jsr305-3.0.2, see: licenses/jsr305-BSD-3-clause
+paranamer-2.8, see: licenses/paranamer-BSD-3-clause
+protobuf-java-3.25.5, see: licenses/protobuf-java-BSD-3-clause
+jakarta.activation-2.0.1, see: licenses/jakarta-BSD-3-clause
+
+---------------------------------------
+Go License
+
+re2j-1.7 see: licenses/re2j-GO
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..36f87db
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,19 @@
+Apache Kafka
+Copyright 2025 The Apache Software Foundation.
+
+This product includes software developed at
+The Apache Software Foundation (https://www.apache.org/).
+
+This distribution has a binary dependency on jersey, which is available under the CDDL
+License. The source code of jersey can be found at https://github.com/jersey/jersey/.
+
+This distribution has a binary test dependency on jqwik, which is available under
+the Eclipse Public License 2.0. The source code can be found at
+https://github.com/jlink/jqwik.
+
+The streams-scala (streams/streams-scala) module was donated by Lightbend and the original code was copyrighted by them:
+Copyright (C) 2018 Lightbend Inc. <https://www.lightbend.com>
+Copyright (C) 2017-2018 Alexis Seigneurin.
+
+This project contains the following code copied from Apache Hive:
+streams/src/main/java/org/apache/kafka/streams/state/internals/Murmur3.java
diff --git a/NOTICE-binary b/NOTICE-binary
new file mode 100644
index 0000000..50dabb3
--- /dev/null
+++ b/NOTICE-binary
@@ -0,0 +1,820 @@
+Apache Kafka
+Copyright 2021 The Apache Software Foundation.
+
+This product includes software developed at
+The Apache Software Foundation (https://www.apache.org/).
+
+This distribution has a binary dependency on jersey, which is available under the CDDL
+License. The source code of jersey can be found at https://github.com/jersey/jersey/.
+
+This distribution has a binary test dependency on jqwik, which is available under
+the Eclipse Public License 2.0. The source code can be found at
+https://github.com/jlink/jqwik.
+
+The streams-scala (streams/streams-scala) module was donated by Lightbend and the original code was copyrighted by them:
+Copyright (C) 2018 Lightbend Inc. <https://www.lightbend.com>
+Copyright (C) 2017-2018 Alexis Seigneurin.
+
+This project contains the following code copied from Apache Hive:
+streams/src/main/java/org/apache/kafka/streams/state/internals/Murmur3.java
+
+// ------------------------------------------------------------------
+// NOTICE file corresponding to the section 4d of The Apache License,
+// Version 2.0, in this case for
+// ------------------------------------------------------------------
+
+# Notices for Eclipse GlassFish
+
+This content is produced and maintained by the Eclipse GlassFish project.
+
+* Project home: https://projects.eclipse.org/projects/ee4j.glassfish
+
+## Trademarks
+
+Eclipse GlassFish, and GlassFish are trademarks of the Eclipse Foundation.
+
+## Copyright
+
+All content is the property of the respective authors or their employers. For
+more information regarding authorship of content, please consult the listed
+source code repository logs.
+
+## Declared Project Licenses
+
+This program and the accompanying materials are made available under the terms
+of the Eclipse Public License v. 2.0 which is available at
+http://www.eclipse.org/legal/epl-2.0. This Source Code may also be made
+available under the following Secondary Licenses when the conditions for such
+availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU
+General Public License, version 2 with the GNU Classpath Exception which is
+available at https://www.gnu.org/software/classpath/license.html.
+
+SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+## Source Code
+
+The project maintains the following source code repositories:
+
+* https://github.com/eclipse-ee4j/glassfish-ha-api
+* https://github.com/eclipse-ee4j/glassfish-logging-annotation-processor
+* https://github.com/eclipse-ee4j/glassfish-shoal
+* https://github.com/eclipse-ee4j/glassfish-cdi-porting-tck
+* https://github.com/eclipse-ee4j/glassfish-jsftemplating
+* https://github.com/eclipse-ee4j/glassfish-hk2-extra
+* https://github.com/eclipse-ee4j/glassfish-hk2
+* https://github.com/eclipse-ee4j/glassfish-fighterfish
+
+## Third-party Content
+
+This project leverages the following third party content.
+
+None
+
+## Cryptography
+
+Content may contain encryption software. The country in which you are currently
+may have restrictions on the import, possession, and use, and/or re-export to
+another country, of encryption software. BEFORE using any encryption software,
+please check the country's laws, regulations and policies concerning the import,
+possession, or use, and re-export of encryption software, to see if this is
+permitted.
+
+
+Apache Yetus - Audience Annotations
+Copyright 2015-2017 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+
+Apache Commons CLI
+Copyright 2001-2017 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+
+Apache Commons IO
+Copyright 2002-2021 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (https://www.apache.org/).
+
+
+Apache Commons Lang
+Copyright 2001-2018 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+
+# Jackson JSON processor
+
+Jackson is a high-performance, Free/Open Source JSON processing library.
+It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has
+been in development since 2007.
+It is currently developed by a community of developers, as well as supported
+commercially by FasterXML.com.
+
+## Licensing
+
+Jackson core and extension components may licensed under different licenses.
+To find the details that apply to this artifact see the accompanying LICENSE file.
+For more information, including possible other licensing options, contact
+FasterXML.com (http://fasterxml.com).
+
+## Credits
+
+A list of contributors may be found from CREDITS file, which is included
+in some artifacts (usually source distributions); but is always available
+from the source code management (SCM) system project uses.
+
+
+# Notices for Eclipse Project for JAF
+
+This content is produced and maintained by the Eclipse Project for JAF project.
+
+* Project home: https://projects.eclipse.org/projects/ee4j.jaf
+
+## Copyright
+
+All content is the property of the respective authors or their employers. For
+more information regarding authorship of content, please consult the listed
+source code repository logs.
+
+## Declared Project Licenses
+
+This program and the accompanying materials are made available under the terms
+of the Eclipse Distribution License v. 1.0,
+which is available at http://www.eclipse.org/org/documents/edl-v10.php.
+
+SPDX-License-Identifier: BSD-3-Clause
+
+## Source Code
+
+The project maintains the following source code repositories:
+
+* https://github.com/eclipse-ee4j/jaf
+
+## Third-party Content
+
+This project leverages the following third party content.
+
+JUnit (4.12)
+
+* License: Eclipse Public License
+
+
+# Notices for Jakarta Annotations
+
+This content is produced and maintained by the Jakarta Annotations project.
+
+ * Project home: https://projects.eclipse.org/projects/ee4j.ca
+
+## Trademarks
+
+Jakarta Annotations is a trademark of the Eclipse Foundation.
+
+## Declared Project Licenses
+
+This program and the accompanying materials are made available under the terms
+of the Eclipse Public License v. 2.0 which is available at
+http://www.eclipse.org/legal/epl-2.0. This Source Code may also be made
+available under the following Secondary Licenses when the conditions for such
+availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU
+General Public License, version 2 with the GNU Classpath Exception which is
+available at https://www.gnu.org/software/classpath/license.html.
+
+SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+## Source Code
+
+The project maintains the following source code repositories:
+
+ * https://github.com/eclipse-ee4j/common-annotations-api
+
+## Third-party Content
+
+## Cryptography
+
+Content may contain encryption software. The country in which you are currently
+may have restrictions on the import, possession, and use, and/or re-export to
+another country, of encryption software. BEFORE using any encryption software,
+please check the country's laws, regulations and policies concerning the import,
+possession, or use, and re-export of encryption software, to see if this is
+permitted.
+
+
+# Notices for the Jakarta RESTful Web Services Project
+
+This content is produced and maintained by the **Jakarta RESTful Web Services**
+project.
+
+* Project home: https://projects.eclipse.org/projects/ee4j.jaxrs
+
+## Trademarks
+
+**Jakarta RESTful Web Services** is a trademark of the Eclipse Foundation.
+
+## Copyright
+
+All content is the property of the respective authors or their employers. For
+more information regarding authorship of content, please consult the listed
+source code repository logs.
+
+## Declared Project Licenses
+
+This program and the accompanying materials are made available under the terms
+of the Eclipse Public License v. 2.0 which is available at
+http://www.eclipse.org/legal/epl-2.0. This Source Code may also be made
+available under the following Secondary Licenses when the conditions for such
+availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU
+General Public License, version 2 with the GNU Classpath Exception which is
+available at https://www.gnu.org/software/classpath/license.html.
+
+SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+## Source Code
+
+The project maintains the following source code repositories:
+
+* https://github.com/eclipse-ee4j/jaxrs-api
+
+## Third-party Content
+
+This project leverages the following third party content.
+
+javaee-api (7.0)
+
+* License: Apache-2.0 AND W3C
+
+JUnit (4.11)
+
+* License: Common Public License 1.0
+
+Mockito (2.16.0)
+
+* Project: http://site.mockito.org
+* Source: https://github.com/mockito/mockito/releases/tag/v2.16.0
+
+## Cryptography
+
+Content may contain encryption software. The country in which you are currently
+may have restrictions on the import, possession, and use, and/or re-export to
+another country, of encryption software. BEFORE using any encryption software,
+please check the country's laws, regulations and policies concerning the import,
+possession, or use, and re-export of encryption software, to see if this is
+permitted.
+
+
+# Notices for Eclipse Project for JAXB
+
+This content is produced and maintained by the Eclipse Project for JAXB project.
+
+* Project home: https://projects.eclipse.org/projects/ee4j.jaxb
+
+## Trademarks
+
+Eclipse Project for JAXB is a trademark of the Eclipse Foundation.
+
+## Copyright
+
+All content is the property of the respective authors or their employers. For
+more information regarding authorship of content, please consult the listed
+source code repository logs.
+
+## Declared Project Licenses
+
+This program and the accompanying materials are made available under the terms
+of the Eclipse Distribution License v. 1.0 which is available
+at http://www.eclipse.org/org/documents/edl-v10.php.
+
+SPDX-License-Identifier: BSD-3-Clause
+
+## Source Code
+
+The project maintains the following source code repositories:
+
+* https://github.com/eclipse-ee4j/jaxb-api
+
+## Third-party Content
+
+This project leverages the following third party content.
+
+None
+
+## Cryptography
+
+Content may contain encryption software. The country in which you are currently
+may have restrictions on the import, possession, and use, and/or re-export to
+another country, of encryption software. BEFORE using any encryption software,
+please check the country's laws, regulations and policies concerning the import,
+possession, or use, and re-export of encryption software, to see if this is
+permitted.
+
+
+# Notice for Jersey
+This content is produced and maintained by the Eclipse Jersey project.
+
+*  Project home: https://projects.eclipse.org/projects/ee4j.jersey
+
+## Trademarks
+Eclipse Jersey is a trademark of the Eclipse Foundation.
+
+## Copyright
+
+All content is the property of the respective authors or their employers. For
+more information regarding authorship of content, please consult the listed
+source code repository logs.
+
+## Declared Project Licenses
+
+This program and the accompanying materials are made available under the terms
+of the Eclipse Public License v. 2.0 which is available at
+http://www.eclipse.org/legal/epl-2.0. This Source Code may also be made
+available under the following Secondary Licenses when the conditions for such
+availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU
+General Public License, version 2 with the GNU Classpath Exception which is
+available at https://www.gnu.org/software/classpath/license.html.
+
+SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+## Source Code
+The project maintains the following source code repositories:
+
+* https://github.com/eclipse-ee4j/jersey
+
+## Third-party Content
+
+Angular JS, v1.6.6
+* License MIT (http://www.opensource.org/licenses/mit-license.php)
+* Project: http://angularjs.org
+* Coyright: (c) 2010-2017 Google, Inc.
+
+aopalliance Version 1
+* License: all the source code provided by AOP Alliance is Public Domain.
+* Project: http://aopalliance.sourceforge.net
+* Copyright: Material in the public domain is not protected by copyright
+
+Bean Validation API 2.0.2
+* License: Apache License, 2.0
+* Project: http://beanvalidation.org/1.1/
+* Copyright: 2009, Red Hat, Inc. and/or its affiliates, and individual contributors
+* by the @authors tag.
+
+Hibernate Validator CDI, 6.1.2.Final
+* License: Apache License, 2.0
+* Project: https://beanvalidation.org/
+* Repackaged in org.glassfish.jersey.server.validation.internal.hibernate
+
+Bootstrap v3.3.7
+* License: MIT license (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+* Project: http://getbootstrap.com
+* Copyright: 2011-2016 Twitter, Inc
+
+Google Guava Version 18.0
+* License: Apache License, 2.0
+* Copyright (C) 2009 The Guava Authors
+
+javax.inject Version: 1
+* License: Apache License, 2.0
+* Copyright (C) 2009 The JSR-330 Expert Group
+
+Javassist Version 3.25.0-GA
+* License: Apache License, 2.0
+* Project: http://www.javassist.org/
+* Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.
+
+Jackson JAX-RS Providers Version 2.10.1
+* License: Apache License, 2.0
+* Project: https://github.com/FasterXML/jackson-jaxrs-providers
+* Copyright: (c) 2009-2011 FasterXML, LLC. All rights reserved unless otherwise indicated.
+
+jQuery v1.12.4
+* License: jquery.org/license
+* Project: jquery.org
+* Copyright: (c) jQuery Foundation
+
+jQuery Barcode plugin 0.3
+* License: MIT & GPL (http://www.opensource.org/licenses/mit-license.php & http://www.gnu.org/licenses/gpl.html)
+* Project:  http://www.pasella.it/projects/jQuery/barcode
+* Copyright: (c) 2009 Antonello Pasella antonello.pasella@gmail.com
+
+JSR-166 Extension - JEP 266
+* License: CC0
+* No copyright
+* Written by Doug Lea with assistance from members of JCP JSR-166 Expert Group and released to the public domain, as explained at http://creativecommons.org/publicdomain/zero/1.0/
+
+KineticJS, v4.7.1
+* License: MIT license (http://www.opensource.org/licenses/mit-license.php)
+* Project: http://www.kineticjs.com, https://github.com/ericdrowell/KineticJS
+* Copyright: Eric Rowell
+
+org.objectweb.asm Version 8.0
+* License: Modified BSD (http://asm.objectweb.org/license.html)
+* Copyright (c) 2000-2011 INRIA, France Telecom. All rights reserved.
+
+org.osgi.core version 6.0.0
+* License: Apache License, 2.0
+* Copyright (c) OSGi Alliance (2005, 2008). All Rights Reserved.
+
+org.glassfish.jersey.server.internal.monitoring.core
+* License: Apache License, 2.0
+* Copyright (c) 2015-2018 Oracle and/or its affiliates. All rights reserved.
+* Copyright 2010-2013 Coda Hale and Yammer, Inc.
+
+W3.org documents
+* License: W3C License
+* Copyright: Copyright (c) 1994-2001 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
+
+
+==============================================================
+ Jetty Web Container
+ Copyright 1995-2018 Mort Bay Consulting Pty Ltd.
+==============================================================
+
+The Jetty Web Container is Copyright Mort Bay Consulting Pty Ltd
+unless otherwise noted.
+
+Jetty is dual licensed under both
+
+  * The Apache 2.0 License
+    http://www.apache.org/licenses/LICENSE-2.0.html
+
+      and
+
+  * The Eclipse Public 1.0 License
+    http://www.eclipse.org/legal/epl-v10.html
+
+Jetty may be distributed under either license.
+
+------
+Eclipse
+
+The following artifacts are EPL.
+ * org.eclipse.jetty.orbit:org.eclipse.jdt.core
+
+The following artifacts are EPL and ASL2.
+ * org.eclipse.jetty.orbit:javax.security.auth.message
+
+
+The following artifacts are EPL and CDDL 1.0.
+ * org.eclipse.jetty.orbit:javax.mail.glassfish
+
+
+------
+Oracle
+
+The following artifacts are CDDL + GPLv2 with classpath exception.
+https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html
+
+ * javax.servlet:javax.servlet-api
+ * javax.annotation:javax.annotation-api
+ * javax.transaction:javax.transaction-api
+ * javax.websocket:javax.websocket-api
+
+------
+Oracle OpenJDK
+
+If ALPN is used to negotiate HTTP/2 connections, then the following
+artifacts may be included in the distribution or downloaded when ALPN
+module is selected.
+
+ * java.sun.security.ssl
+
+These artifacts replace/modify OpenJDK classes.  The modififications
+are hosted at github and both modified and original are under GPL v2 with
+classpath exceptions.
+http://openjdk.java.net/legal/gplv2+ce.html
+
+
+------
+OW2
+
+The following artifacts are licensed by the OW2 Foundation according to the
+terms of http://asm.ow2.org/license.html
+
+org.ow2.asm:asm-commons
+org.ow2.asm:asm
+
+
+------
+Apache
+
+The following artifacts are ASL2 licensed.
+
+org.apache.taglibs:taglibs-standard-spec
+org.apache.taglibs:taglibs-standard-impl
+
+
+------
+MortBay
+
+The following artifacts are ASL2 licensed.  Based on selected classes from
+following Apache Tomcat jars, all ASL2 licensed.
+
+org.mortbay.jasper:apache-jsp
+  org.apache.tomcat:tomcat-jasper
+  org.apache.tomcat:tomcat-juli
+  org.apache.tomcat:tomcat-jsp-api
+  org.apache.tomcat:tomcat-el-api
+  org.apache.tomcat:tomcat-jasper-el
+  org.apache.tomcat:tomcat-api
+  org.apache.tomcat:tomcat-util-scan
+  org.apache.tomcat:tomcat-util
+
+org.mortbay.jasper:apache-el
+  org.apache.tomcat:tomcat-jasper-el
+  org.apache.tomcat:tomcat-el-api
+
+
+------
+Mortbay
+
+The following artifacts are CDDL + GPLv2 with classpath exception.
+
+https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html
+
+org.eclipse.jetty.toolchain:jetty-schemas
+
+------
+Assorted
+
+The UnixCrypt.java code implements the one way cryptography used by
+Unix systems for simple password protection.  Copyright 1996 Aki Yoshida,
+modified April 2001  by Iris Van den Broeke, Daniel Deville.
+Permission to use, copy, modify and distribute UnixCrypt
+for non-commercial or commercial purposes and without fee is
+granted provided that the copyright notice appears in all copies.
+
+
+Apache log4j
+Copyright 2007 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+
+Maven Artifact
+Copyright 2001-2024 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+
+This product includes software developed by the Indiana University
+  Extreme! Lab (http://www.extreme.indiana.edu/).
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
+This product includes software developed by
+ThoughtWorks (http://www.thoughtworks.com).
+
+This product includes software developed by
+javolution (http://javolution.org/).
+
+This product includes software developed by
+Rome (https://rome.dev.java.net/).
+
+
+Scala
+Copyright (c) 2002-2020 EPFL
+Copyright (c) 2011-2020 Lightbend, Inc.
+
+Scala includes software developed at
+LAMP/EPFL (https://lamp.epfl.ch/) and
+Lightbend, Inc. (https://www.lightbend.com/).
+
+Licensed under the Apache License, Version 2.0 (the "License").
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+This software includes projects with other licenses -- see `doc/LICENSE.md`.
+
+
+-------------------------------------------------------------------------------
+This product contains the extensions to Java Collections Framework which has
+been derived from the works by JSR-166 EG, Doug Lea, and Jason T. Greene:
+
+  * LICENSE:
+    * license/LICENSE.jsr166y.txt (Public Domain)
+  * HOMEPAGE:
+    * http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/
+    * http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbosscache/experimental/jsr166/
+
+This product contains a modified version of Robert Harder's Public Domain
+Base64 Encoder and Decoder, which can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.base64.txt (Public Domain)
+  * HOMEPAGE:
+    * http://iharder.sourceforge.net/current/java/base64/
+
+This product contains a modified portion of 'Webbit', an event based
+WebSocket and HTTP server, which can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.webbit.txt (BSD License)
+  * HOMEPAGE:
+    * https://github.com/joewalnes/webbit
+
+This product contains a modified portion of 'SLF4J', a simple logging
+facade for Java, which can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.slf4j.txt (MIT License)
+  * HOMEPAGE:
+    * https://www.slf4j.org/
+
+This product contains a modified portion of 'Apache Harmony', an open source
+Java SE, which can be obtained at:
+
+  * NOTICE:
+    * license/NOTICE.harmony.txt
+  * LICENSE:
+    * license/LICENSE.harmony.txt (Apache License 2.0)
+  * HOMEPAGE:
+    * https://archive.apache.org/dist/harmony/
+
+This product contains a modified portion of 'jbzip2', a Java bzip2 compression
+and decompression library written by Matthew J. Francis. It can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.jbzip2.txt (MIT License)
+  * HOMEPAGE:
+    * https://code.google.com/p/jbzip2/
+
+This product contains a modified portion of 'libdivsufsort', a C API library to construct
+the suffix array and the Burrows-Wheeler transformed string for any input string of
+a constant-size alphabet written by Yuta Mori. It can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.libdivsufsort.txt (MIT License)
+  * HOMEPAGE:
+    * https://github.com/y-256/libdivsufsort
+
+This product contains a modified portion of Nitsan Wakart's 'JCTools', Java Concurrency Tools for the JVM,
+ which can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.jctools.txt (ASL2 License)
+  * HOMEPAGE:
+    * https://github.com/JCTools/JCTools
+
+This product optionally depends on 'JZlib', a re-implementation of zlib in
+pure Java, which can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.jzlib.txt (BSD style License)
+  * HOMEPAGE:
+    * http://www.jcraft.com/jzlib/
+
+This product optionally depends on 'Compress-LZF', a Java library for encoding and
+decoding data in LZF format, written by Tatu Saloranta. It can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.compress-lzf.txt (Apache License 2.0)
+  * HOMEPAGE:
+    * https://github.com/ning/compress
+
+This product optionally depends on 'lz4', a LZ4 Java compression
+and decompression library written by Adrien Grand. It can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.lz4.txt (Apache License 2.0)
+  * HOMEPAGE:
+    * https://github.com/jpountz/lz4-java
+
+This product optionally depends on 'lzma-java', a LZMA Java compression
+and decompression library, which can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.lzma-java.txt (Apache License 2.0)
+  * HOMEPAGE:
+    * https://github.com/jponge/lzma-java
+
+This product contains a modified portion of 'jfastlz', a Java port of FastLZ compression
+and decompression library written by William Kinney. It can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.jfastlz.txt (MIT License)
+  * HOMEPAGE:
+    * https://code.google.com/p/jfastlz/
+
+This product contains a modified portion of and optionally depends on 'Protocol Buffers', Google's data
+interchange format, which can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.protobuf.txt (New BSD License)
+  * HOMEPAGE:
+    * https://github.com/google/protobuf
+
+This product optionally depends on 'Bouncy Castle Crypto APIs' to generate
+a temporary self-signed X.509 certificate when the JVM does not provide the
+equivalent functionality.  It can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.bouncycastle.txt (MIT License)
+  * HOMEPAGE:
+    * https://www.bouncycastle.org/
+
+This product optionally depends on 'Snappy', a compression library produced
+by Google Inc, which can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.snappy.txt (New BSD License)
+  * HOMEPAGE:
+    * https://github.com/google/snappy
+
+This product optionally depends on 'JBoss Marshalling', an alternative Java
+serialization API, which can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.jboss-marshalling.txt (Apache License 2.0)
+  * HOMEPAGE:
+    * https://github.com/jboss-remoting/jboss-marshalling
+
+This product optionally depends on 'Caliper', Google's micro-
+benchmarking framework, which can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.caliper.txt (Apache License 2.0)
+  * HOMEPAGE:
+    * https://github.com/google/caliper
+
+This product optionally depends on 'Apache Commons Logging', a logging
+framework, which can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.commons-logging.txt (Apache License 2.0)
+  * HOMEPAGE:
+    * https://commons.apache.org/logging/
+
+This product optionally depends on 'Apache Log4J', a logging framework, which
+can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.log4j.txt (Apache License 2.0)
+  * HOMEPAGE:
+    * https://logging.apache.org/log4j/
+
+This product optionally depends on 'Aalto XML', an ultra-high performance
+non-blocking XML processor, which can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.aalto-xml.txt (Apache License 2.0)
+  * HOMEPAGE:
+    * http://wiki.fasterxml.com/AaltoHome
+
+This product contains a modified version of 'HPACK', a Java implementation of
+the HTTP/2 HPACK algorithm written by Twitter. It can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.hpack.txt (Apache License 2.0)
+  * HOMEPAGE:
+    * https://github.com/twitter/hpack
+
+This product contains a modified version of 'HPACK', a Java implementation of
+the HTTP/2 HPACK algorithm written by Cory Benfield. It can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.hyper-hpack.txt (MIT License)
+  * HOMEPAGE:
+    * https://github.com/python-hyper/hpack/
+
+This product contains a modified version of 'HPACK', a Java implementation of
+the HTTP/2 HPACK algorithm written by Tatsuhiro Tsujikawa. It can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.nghttp2-hpack.txt (MIT License)
+  * HOMEPAGE:
+    * https://github.com/nghttp2/nghttp2/
+
+This product contains a modified portion of 'Apache Commons Lang', a Java library
+provides utilities for the java.lang API, which can be obtained at:
+
+  * LICENSE:
+    * license/LICENSE.commons-lang.txt (Apache License 2.0)
+  * HOMEPAGE:
+    * https://commons.apache.org/proper/commons-lang/
+
+
+This product contains the Maven wrapper scripts from 'Maven Wrapper', that provides an easy way to ensure a user has everything necessary to run the Maven build.
+
+  * LICENSE:
+    * license/LICENSE.mvn-wrapper.txt (Apache License 2.0)
+  * HOMEPAGE:
+    * https://github.com/takari/maven-wrapper
+
+This product contains the dnsinfo.h header file, that provides a way to retrieve the system DNS configuration on MacOS.
+This private header is also used by Apple's open source
+ mDNSResponder (https://opensource.apple.com/tarballs/mDNSResponder/).
+
+ * LICENSE:
+    * license/LICENSE.dnsinfo.txt (Apple Public Source License 2.0)
+  * HOMEPAGE:
+    * https://www.opensource.apple.com/source/configd/configd-453.19/dnsinfo/dnsinfo.h
diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..552a4d0
--- /dev/null
+++ b/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,14 @@
+*More detailed description of your change,
+if necessary. The PR title and PR message become
+the squashed commit message, so use a separate
+comment to ping reviewers.*
+
+*Summary of testing strategy (including rationale)
+for the feature or bug fix. Unit and/or integration
+tests are expected for any behaviour change and
+system tests should be considered for larger changes.*
+
+### Committer Checklist (excluded from commit message)
+- [ ] Verify design and implementation 
+- [ ] Verify test coverage and CI build status
+- [ ] Verify documentation (including upgrade notes)
diff --git a/README.md b/README.md
index 3eff742..f95b148 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# MERGE QUEUE TESTING ONLY
+# Merge Queue Testing for Apache Kafka
 
 The purpose of this repository is to evaluate Github's merge queue feature
 in the context of an Apache project. 
diff --git a/Vagrantfile b/Vagrantfile
new file mode 100644
index 0000000..3a6b5a5
--- /dev/null
+++ b/Vagrantfile
@@ -0,0 +1,217 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+require 'socket'
+
+# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
+VAGRANTFILE_API_VERSION = "2"
+
+# General config
+enable_dns = false
+# Override to false when bringing up a cluster on AWS
+enable_hostmanager = true
+enable_jmx = false
+num_zookeepers = 1
+num_brokers = 3
+num_workers = 0 # Generic workers that get the code, but don't start any services
+ram_megabytes = 1280
+base_box = "ubuntu/trusty64"
+
+# EC2
+ec2_access_key = ENV['AWS_ACCESS_KEY']
+ec2_secret_key = ENV['AWS_SECRET_KEY']
+ec2_session_token = ENV['AWS_SESSION_TOKEN']
+ec2_keypair_name = nil
+ec2_keypair_file = nil
+
+ec2_region = "us-east-1"
+ec2_az = nil # Uses set by AWS
+ec2_ami = "ami-29ebb519"
+ec2_instance_type = "m3.medium"
+ec2_spot_instance = ENV['SPOT_INSTANCE'] ? ENV['SPOT_INSTANCE'] == 'true' : true
+ec2_spot_max_price = "0.113"  # On-demand price for instance type
+ec2_user = "ubuntu"
+ec2_instance_name_prefix = "kafka-vagrant"
+ec2_security_groups = nil
+ec2_subnet_id = nil
+# Only override this by setting it to false if you're running in a VPC and you
+# are running Vagrant from within that VPC as well.
+ec2_associate_public_ip = nil
+ec2_iam_instance_profile_name = nil
+
+ebs_volume_type = 'gp3'
+
+jdk_major = '17'
+jdk_full = '17-linux-x64'
+
+local_config_file = File.join(File.dirname(__FILE__), "Vagrantfile.local")
+if File.exist?(local_config_file) then
+  eval(File.read(local_config_file), binding, "Vagrantfile.local")
+end
+
+# override any instance type set by Vagrantfile.local or above via an environment variable
+if ENV['INSTANCE_TYPE'] then
+  ec2_instance_type = ENV['INSTANCE_TYPE']
+end
+
+# choose size based on overridden size
+if ec2_instance_type.start_with?("m3") then
+  ebs_volume_size = 20
+else
+  ebs_volume_size = 40
+end
+
+# TODO(ksweeney): RAM requirements are not empirical and can probably be significantly lowered.
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+  config.hostmanager.enabled = enable_hostmanager
+  config.hostmanager.manage_host = enable_dns
+  config.hostmanager.include_offline = false
+
+  ## Provider-specific global configs
+  config.vm.provider :virtualbox do |vb,override|
+    override.vm.box = base_box
+
+    override.hostmanager.ignore_private_ip = false
+
+    # Brokers started with the standard script currently set Xms and Xmx to 1G,
+    # plus we need some extra head room.
+    vb.customize ["modifyvm", :id, "--memory", ram_megabytes.to_s]
+
+    if Vagrant.has_plugin?("vagrant-cachier")
+      override.cache.scope = :box
+    end
+  end
+
+  config.vm.provider :aws do |aws,override|
+    # The "box" is specified as an AMI
+    override.vm.box = "dummy"
+    override.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box"
+
+    cached_addresses = {}
+    # Use a custom resolver that SSH's into the machine and finds the IP address
+    # directly. This lets us get at the private IP address directly, avoiding
+    # some issues with using the default IP resolver, which uses the public IP
+    # address.
+    override.hostmanager.ip_resolver = proc do |vm, resolving_vm|
+      if !cached_addresses.has_key?(vm.name)
+        state_id = vm.state.id
+        if state_id != :not_created && state_id != :stopped && vm.communicate.ready?
+          contents = ''
+          vm.communicate.execute("/sbin/ifconfig eth0 | grep 'inet addr' | tail -n 1 | egrep -o '[0-9\.]+' | head -n 1 2>&1") do |type, data|
+            contents << data
+          end
+          cached_addresses[vm.name] = contents.split("\n").first[/(\d+\.\d+\.\d+\.\d+)/, 1]
+        else
+          cached_addresses[vm.name] = nil
+        end
+      end
+      cached_addresses[vm.name]
+    end
+
+    override.ssh.username = ec2_user
+    override.ssh.private_key_path = ec2_keypair_file
+
+    aws.access_key_id = ec2_access_key
+    aws.secret_access_key = ec2_secret_key
+    aws.session_token = ec2_session_token
+    aws.keypair_name = ec2_keypair_name
+
+    aws.region = ec2_region
+    aws.availability_zone = ec2_az
+    aws.instance_type = ec2_instance_type
+
+    aws.ami = ec2_ami
+    aws.security_groups = ec2_security_groups
+    aws.subnet_id = ec2_subnet_id
+    aws.block_device_mapping = [{ 'DeviceName' => '/dev/sda1', 'Ebs.VolumeType' => ebs_volume_type, 'Ebs.VolumeSize' => ebs_volume_size }]
+    # If a subnet is specified, default to turning on a public IP unless the
+    # user explicitly specifies the option. Without a public IP, Vagrant won't
+    # be able to SSH into the hosts unless Vagrant is also running in the VPC.
+    if ec2_associate_public_ip.nil?
+      aws.associate_public_ip = true unless ec2_subnet_id.nil?
+    else
+      aws.associate_public_ip = ec2_associate_public_ip
+    end
+    aws.region_config ec2_region do |region|
+      region.spot_instance = ec2_spot_instance
+      region.spot_max_price = ec2_spot_max_price
+    end
+    aws.iam_instance_profile_name = ec2_iam_instance_profile_name
+
+    # Exclude some directories that can grow very large from syncing
+    override.vm.synced_folder ".", "/vagrant", type: "rsync", rsync__exclude: ['.git', 'core/data/', 'logs/', 'tests/results/', 'results/']
+  end
+
+  def name_node(node, name, ec2_instance_name_prefix)
+    node.vm.hostname = name
+    node.vm.provider :aws do |aws|
+      aws.tags = {
+        'Name' => ec2_instance_name_prefix + "-" + Socket.gethostname + "-" + name,
+        'JenkinsBuildUrl' => ENV['BUILD_URL']
+      }
+    end
+  end
+
+  def assign_local_ip(node, ip_address)
+    node.vm.provider :virtualbox do |vb,override|
+      override.vm.network :private_network, ip: ip_address
+    end
+  end
+
+  ## Cluster definition
+  zookeepers = []
+  (1..num_zookeepers).each { |i|
+    name = "zk" + i.to_s
+    zookeepers.push(name)
+    config.vm.define name do |zookeeper|
+      name_node(zookeeper, name, ec2_instance_name_prefix)
+      ip_address = "192.168.50." + (10 + i).to_s
+      assign_local_ip(zookeeper, ip_address)
+      zookeeper.vm.provision "shell", path: "vagrant/base.sh", env: {"JDK_MAJOR" => jdk_major, "JDK_FULL" => jdk_full}
+      zk_jmx_port = enable_jmx ? (8000 + i).to_s : ""
+      zookeeper.vm.provision "shell", path: "vagrant/zk.sh", :args => [i.to_s, num_zookeepers, zk_jmx_port]
+    end
+  }
+
+  (1..num_brokers).each { |i|
+    name = "broker" + i.to_s
+    config.vm.define name do |broker|
+      name_node(broker, name, ec2_instance_name_prefix)
+      ip_address = "192.168.50." + (50 + i).to_s
+      assign_local_ip(broker, ip_address)
+      # We need to be careful about what we list as the publicly routable
+      # address since this is registered in ZK and handed out to clients. If
+      # host DNS isn't setup, we shouldn't use hostnames -- IP addresses must be
+      # used to support clients running on the host.
+      zookeeper_connect = zookeepers.map{ |zk_addr| zk_addr + ":2181"}.join(",")
+      broker.vm.provision "shell", path: "vagrant/base.sh", env: {"JDK_MAJOR" => jdk_major, "JDK_FULL" => jdk_full}
+      kafka_jmx_port = enable_jmx ? (9000 + i).to_s : ""
+      broker.vm.provision "shell", path: "vagrant/broker.sh", :args => [i.to_s, enable_dns ? name : ip_address, zookeeper_connect, kafka_jmx_port]
+    end
+  }
+
+  (1..num_workers).each { |i|
+    name = "worker" + i.to_s
+    config.vm.define name do |worker|
+      name_node(worker, name, ec2_instance_name_prefix)
+      ip_address = "192.168.50." + (100 + i).to_s
+      assign_local_ip(worker, ip_address)
+      worker.vm.provision "shell", path: "vagrant/base.sh", env: {"JDK_MAJOR" => jdk_major, "JDK_FULL" => jdk_full}
+    end
+  }
+
+end
diff --git a/bin/connect-distributed.sh b/bin/connect-distributed.sh
new file mode 100755
index 0000000..2fd00f0
--- /dev/null
+++ b/bin/connect-distributed.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ $# -lt 1 ];
+then
+        echo "USAGE: $0 [-daemon] connect-distributed.properties"
+        exit 1
+fi
+
+base_dir=$(dirname $0)
+
+if [ -z "$KAFKA_LOG4J_OPTS" ]; then
+    export KAFKA_LOG4J_OPTS="-Dlog4j2.configurationFile=$base_dir/../config/connect-log4j2.yaml"
+fi
+
+if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
+  export KAFKA_HEAP_OPTS="-Xms256M -Xmx2G"
+fi
+
+EXTRA_ARGS=${EXTRA_ARGS-'-name connectDistributed'}
+
+COMMAND=$1
+case $COMMAND in
+  -daemon)
+    EXTRA_ARGS="-daemon "$EXTRA_ARGS
+    shift
+    ;;
+  *)
+    ;;
+esac
+
+exec $(dirname $0)/kafka-run-class.sh $EXTRA_ARGS org.apache.kafka.connect.cli.ConnectDistributed "$@"
diff --git a/bin/connect-mirror-maker.sh b/bin/connect-mirror-maker.sh
new file mode 100755
index 0000000..daf6e32
--- /dev/null
+++ b/bin/connect-mirror-maker.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ $# -lt 1 ];
+then
+        echo "USAGE: $0 [-daemon] mm2.properties"
+        exit 1
+fi
+
+base_dir=$(dirname $0)
+
+if [ -z "$KAFKA_LOG4J_OPTS" ]; then
+    export KAFKA_LOG4J_OPTS="-Dlog4j2.configurationFile=$base_dir/../config/connect-log4j2.yaml"
+fi
+
+if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
+  export KAFKA_HEAP_OPTS="-Xms256M -Xmx2G"
+fi
+
+EXTRA_ARGS=${EXTRA_ARGS-'-name mirrorMaker'}
+
+COMMAND=$1
+case $COMMAND in
+  -daemon)
+    EXTRA_ARGS="-daemon "$EXTRA_ARGS
+    shift
+    ;;
+  *)
+    ;;
+esac
+
+exec $(dirname $0)/kafka-run-class.sh $EXTRA_ARGS org.apache.kafka.connect.mirror.MirrorMaker "$@"
diff --git a/bin/connect-plugin-path.sh b/bin/connect-plugin-path.sh
new file mode 100755
index 0000000..5074206
--- /dev/null
+++ b/bin/connect-plugin-path.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
+  export KAFKA_HEAP_OPTS="-Xms256M -Xmx2G"
+fi
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.ConnectPluginPath "$@"
diff --git a/bin/connect-standalone.sh b/bin/connect-standalone.sh
new file mode 100755
index 0000000..d0d8b8b
--- /dev/null
+++ b/bin/connect-standalone.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ $# -lt 1 ];
+then
+        echo "USAGE: $0 [-daemon] connect-standalone.properties [connector1.properties connector2.json ...]"
+        exit 1
+fi
+
+base_dir=$(dirname $0)
+
+if [ -z "$KAFKA_LOG4J_OPTS" ]; then
+    export KAFKA_LOG4J_OPTS="-Dlog4j2.configurationFile=$base_dir/../config/connect-log4j2.yaml"
+fi
+
+if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
+  export KAFKA_HEAP_OPTS="-Xms256M -Xmx2G"
+fi
+
+EXTRA_ARGS=${EXTRA_ARGS-'-name connectStandalone'}
+
+COMMAND=$1
+case $COMMAND in
+  -daemon)
+    EXTRA_ARGS="-daemon "$EXTRA_ARGS
+    shift
+    ;;
+  *)
+    ;;
+esac
+
+exec $(dirname $0)/kafka-run-class.sh $EXTRA_ARGS org.apache.kafka.connect.cli.ConnectStandalone "$@"
diff --git a/bin/kafka-acls.sh b/bin/kafka-acls.sh
new file mode 100755
index 0000000..ffbb1e1
--- /dev/null
+++ b/bin/kafka-acls.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#    http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.AclCommand "$@"
diff --git a/bin/kafka-broker-api-versions.sh b/bin/kafka-broker-api-versions.sh
new file mode 100755
index 0000000..285a948
--- /dev/null
+++ b/bin/kafka-broker-api-versions.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.BrokerApiVersionsCommand "$@"
diff --git a/bin/kafka-client-metrics.sh b/bin/kafka-client-metrics.sh
new file mode 100755
index 0000000..f4a1ada
--- /dev/null
+++ b/bin/kafka-client-metrics.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.ClientMetricsCommand "$@"
diff --git a/bin/kafka-cluster.sh b/bin/kafka-cluster.sh
new file mode 100755
index 0000000..f09858c
--- /dev/null
+++ b/bin/kafka-cluster.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.ClusterTool "$@"
diff --git a/bin/kafka-configs.sh b/bin/kafka-configs.sh
new file mode 100755
index 0000000..2f9eb8c
--- /dev/null
+++ b/bin/kafka-configs.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#    http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh kafka.admin.ConfigCommand "$@"
diff --git a/bin/kafka-console-consumer.sh b/bin/kafka-console-consumer.sh
new file mode 100755
index 0000000..f220146
--- /dev/null
+++ b/bin/kafka-console-consumer.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
+    export KAFKA_HEAP_OPTS="-Xmx512M"
+fi
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.consumer.ConsoleConsumer "$@"
diff --git a/bin/kafka-console-producer.sh b/bin/kafka-console-producer.sh
new file mode 100755
index 0000000..a092940
--- /dev/null
+++ b/bin/kafka-console-producer.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
+    export KAFKA_HEAP_OPTS="-Xmx512M"
+fi
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.ConsoleProducer "$@"
diff --git a/bin/kafka-console-share-consumer.sh b/bin/kafka-console-share-consumer.sh
new file mode 100755
index 0000000..6b544d0
--- /dev/null
+++ b/bin/kafka-console-share-consumer.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
+    export KAFKA_HEAP_OPTS="-Xmx512M"
+fi
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.consumer.ConsoleShareConsumer "$@"
\ No newline at end of file
diff --git a/bin/kafka-consumer-groups.sh b/bin/kafka-consumer-groups.sh
new file mode 100755
index 0000000..6dde7d7
--- /dev/null
+++ b/bin/kafka-consumer-groups.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#    http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.consumer.group.ConsumerGroupCommand "$@"
diff --git a/bin/kafka-consumer-perf-test.sh b/bin/kafka-consumer-perf-test.sh
new file mode 100755
index 0000000..4eebe87
--- /dev/null
+++ b/bin/kafka-consumer-perf-test.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
+    export KAFKA_HEAP_OPTS="-Xmx512M"
+fi
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.ConsumerPerformance "$@"
diff --git a/bin/kafka-delegation-tokens.sh b/bin/kafka-delegation-tokens.sh
new file mode 100755
index 0000000..9f8bb13
--- /dev/null
+++ b/bin/kafka-delegation-tokens.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.DelegationTokenCommand "$@"
diff --git a/bin/kafka-delete-records.sh b/bin/kafka-delete-records.sh
new file mode 100755
index 0000000..e9db8f9
--- /dev/null
+++ b/bin/kafka-delete-records.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.DeleteRecordsCommand "$@"
diff --git a/bin/kafka-dump-log.sh b/bin/kafka-dump-log.sh
new file mode 100755
index 0000000..a97ea7d
--- /dev/null
+++ b/bin/kafka-dump-log.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#    http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh kafka.tools.DumpLogSegments "$@"
diff --git a/bin/kafka-e2e-latency.sh b/bin/kafka-e2e-latency.sh
new file mode 100755
index 0000000..32d1063
--- /dev/null
+++ b/bin/kafka-e2e-latency.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#    http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.EndToEndLatency "$@"
diff --git a/bin/kafka-features.sh b/bin/kafka-features.sh
new file mode 100755
index 0000000..8d90a06
--- /dev/null
+++ b/bin/kafka-features.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.FeatureCommand "$@"
diff --git a/bin/kafka-get-offsets.sh b/bin/kafka-get-offsets.sh
new file mode 100755
index 0000000..b9e37b8
--- /dev/null
+++ b/bin/kafka-get-offsets.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#    http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.GetOffsetShell "$@"
diff --git a/bin/kafka-groups.sh b/bin/kafka-groups.sh
new file mode 100755
index 0000000..9c84746
--- /dev/null
+++ b/bin/kafka-groups.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.GroupsCommand "$@"
diff --git a/bin/kafka-jmx.sh b/bin/kafka-jmx.sh
new file mode 100755
index 0000000..88b3874
--- /dev/null
+++ b/bin/kafka-jmx.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.JmxTool "$@"
diff --git a/bin/kafka-leader-election.sh b/bin/kafka-leader-election.sh
new file mode 100755
index 0000000..49b3cf5
--- /dev/null
+++ b/bin/kafka-leader-election.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.LeaderElectionCommand "$@"
diff --git a/bin/kafka-log-dirs.sh b/bin/kafka-log-dirs.sh
new file mode 100755
index 0000000..9894d69
--- /dev/null
+++ b/bin/kafka-log-dirs.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.LogDirsCommand "$@"
diff --git a/bin/kafka-metadata-quorum.sh b/bin/kafka-metadata-quorum.sh
new file mode 100755
index 0000000..3b25c7d
--- /dev/null
+++ b/bin/kafka-metadata-quorum.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.MetadataQuorumCommand "$@"
diff --git a/bin/kafka-metadata-shell.sh b/bin/kafka-metadata-shell.sh
new file mode 100755
index 0000000..289f0c1
--- /dev/null
+++ b/bin/kafka-metadata-shell.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.shell.MetadataShell "$@"
diff --git a/bin/kafka-producer-perf-test.sh b/bin/kafka-producer-perf-test.sh
new file mode 100755
index 0000000..73a6288
--- /dev/null
+++ b/bin/kafka-producer-perf-test.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
+    export KAFKA_HEAP_OPTS="-Xmx512M"
+fi
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.ProducerPerformance "$@"
diff --git a/bin/kafka-reassign-partitions.sh b/bin/kafka-reassign-partitions.sh
new file mode 100755
index 0000000..65310f9
--- /dev/null
+++ b/bin/kafka-reassign-partitions.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.reassign.ReassignPartitionsCommand "$@"
diff --git a/bin/kafka-replica-verification.sh b/bin/kafka-replica-verification.sh
new file mode 100755
index 0000000..1df5639
--- /dev/null
+++ b/bin/kafka-replica-verification.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#    http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.ReplicaVerificationTool "$@"
diff --git a/bin/kafka-run-class.sh b/bin/kafka-run-class.sh
new file mode 100755
index 0000000..8bd1b17
--- /dev/null
+++ b/bin/kafka-run-class.sh
@@ -0,0 +1,354 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ $# -lt 1 ];
+then
+  echo "USAGE: $0 [-daemon] [-name servicename] [-loggc] classname [opts]"
+  exit 1
+fi
+
+# WINDOWS_OS_FORMAT == 1 if Cygwin or MinGW is detected, else 0.
+if [[ $(uname -a) =~ "CYGWIN" || $(uname -a) =~ "MINGW" || $(uname -a) =~ "MSYS" ]]; then
+  WINDOWS_OS_FORMAT=1
+  export MSYS2_ARG_CONV_EXCL="-Xlog:gc*:file=;-Dlog4j2.configurationFile=;$MSYS2_ARG_CONV_EXCL"
+else
+  WINDOWS_OS_FORMAT=0
+fi
+
+if [ -z "$INCLUDE_TEST_JARS" ]; then
+  INCLUDE_TEST_JARS=false
+fi
+
+# Exclude jars not necessary for running commands.
+regex="(-(test|test-sources|src|scaladoc|javadoc)\.jar|jar.asc|connect-file.*\.jar)$"
+should_include_file() {
+  if [ "$INCLUDE_TEST_JARS" = true ]; then
+    return 0
+  fi
+  file=$1
+  if [ -z "$(echo "$file" | grep -E "$regex")" ] ; then
+    return 0
+  else
+    return 1
+  fi
+}
+
+base_dir=$(dirname $0)/..
+
+if [ -z "$SCALA_VERSION" ]; then
+  SCALA_VERSION=2.13.15
+  if [[ -f "$base_dir/gradle.properties" ]]; then
+    SCALA_VERSION=`grep "^scalaVersion=" "$base_dir/gradle.properties" | cut -d= -f 2`
+  fi
+fi
+
+if [ -z "$SCALA_BINARY_VERSION" ]; then
+  SCALA_BINARY_VERSION=$(echo $SCALA_VERSION | cut -f 1-2 -d '.')
+fi
+
+# run ./gradlew copyDependantLibs to get all dependant jars in a local dir
+shopt -s nullglob
+if [ -z "$UPGRADE_KAFKA_STREAMS_TEST_VERSION" ]; then
+  for dir in "$base_dir"/core/build/dependant-libs-${SCALA_VERSION}*;
+  do
+    CLASSPATH="$CLASSPATH:$dir/*"
+  done
+fi
+
+for file in "$base_dir"/examples/build/libs/kafka-examples*.jar;
+do
+  if should_include_file "$file"; then
+    CLASSPATH="$CLASSPATH":"$file"
+  fi
+done
+
+if [ -z "$UPGRADE_KAFKA_STREAMS_TEST_VERSION" ]; then
+  clients_lib_dir=$(dirname $0)/../clients/build/libs
+  streams_lib_dir=$(dirname $0)/../streams/build/libs
+  streams_dependant_clients_lib_dir=$(dirname $0)/../streams/build/dependant-libs-${SCALA_VERSION}
+else
+  clients_lib_dir=/opt/kafka-$UPGRADE_KAFKA_STREAMS_TEST_VERSION/libs
+  streams_lib_dir=$clients_lib_dir
+  streams_dependant_clients_lib_dir=$streams_lib_dir
+fi
+
+
+for file in "$clients_lib_dir"/kafka-clients*.jar;
+do
+  if should_include_file "$file"; then
+    CLASSPATH="$CLASSPATH":"$file"
+  fi
+done
+
+for file in "$streams_lib_dir"/kafka-streams*.jar;
+do
+  if should_include_file "$file"; then
+    CLASSPATH="$CLASSPATH":"$file"
+  fi
+done
+
+if [ -z "$UPGRADE_KAFKA_STREAMS_TEST_VERSION" ]; then
+  for file in "$base_dir"/streams/examples/build/libs/kafka-streams-examples*.jar;
+  do
+    if should_include_file "$file"; then
+      CLASSPATH="$CLASSPATH":"$file"
+    fi
+  done
+else
+  VERSION_NO_DOTS=`echo $UPGRADE_KAFKA_STREAMS_TEST_VERSION | sed 's/\.//g'`
+  SHORT_VERSION_NO_DOTS=${VERSION_NO_DOTS:0:((${#VERSION_NO_DOTS} - 1))} # remove last char, ie, bug-fix number
+  for file in "$base_dir"/streams/upgrade-system-tests-$SHORT_VERSION_NO_DOTS/build/libs/kafka-streams-upgrade-system-tests*.jar;
+  do
+    if should_include_file "$file"; then
+      CLASSPATH="$file":"$CLASSPATH"
+    fi
+  done
+fi
+
+for file in "$streams_dependant_clients_lib_dir"/rocksdb*.jar;
+do
+  CLASSPATH="$CLASSPATH":"$file"
+done
+
+for file in "$streams_dependant_clients_lib_dir"/*hamcrest*.jar;
+do
+  CLASSPATH="$CLASSPATH":"$file"
+done
+
+for file in "$base_dir"/shell/build/libs/kafka-shell*.jar;
+do
+  if should_include_file "$file"; then
+    CLASSPATH="$CLASSPATH":"$file"
+  fi
+done
+
+for dir in "$base_dir"/shell/build/dependant-libs-${SCALA_VERSION}*;
+do
+  CLASSPATH="$CLASSPATH:$dir/*"
+done
+
+for file in "$base_dir"/tools/build/libs/kafka-tools*.jar;
+do
+  if should_include_file "$file"; then
+    CLASSPATH="$CLASSPATH":"$file"
+  fi
+done
+
+for dir in "$base_dir"/tools/build/dependant-libs-${SCALA_VERSION}*;
+do
+  CLASSPATH="$CLASSPATH:$dir/*"
+done
+
+for file in "$base_dir"/trogdor/build/libs/trogdor-*.jar;
+do
+  if should_include_file "$file"; then
+    CLASSPATH="$CLASSPATH":"$file"
+  fi
+done
+
+for dir in "$base_dir"/trogdor/build/dependant-libs-${SCALA_VERSION}*;
+do
+  CLASSPATH="$CLASSPATH:$dir/*"
+done
+
+for cc_pkg in "api" "transforms" "runtime" "mirror" "mirror-client" "json" "tools" "basic-auth-extension"
+do
+  for file in "$base_dir"/connect/${cc_pkg}/build/libs/connect-${cc_pkg}*.jar;
+  do
+    if should_include_file "$file"; then
+      CLASSPATH="$CLASSPATH":"$file"
+    fi
+  done
+  if [ -d "$base_dir/connect/${cc_pkg}/build/dependant-libs" ] ; then
+    CLASSPATH="$CLASSPATH:$base_dir/connect/${cc_pkg}/build/dependant-libs/*"
+  fi
+done
+
+# classpath addition for release
+for file in "$base_dir"/libs/*;
+do
+  if should_include_file "$file"; then
+    CLASSPATH="$CLASSPATH":"$file"
+  fi
+done
+
+for file in "$base_dir"/core/build/libs/kafka_${SCALA_BINARY_VERSION}*.jar;
+do
+  if should_include_file "$file"; then
+    CLASSPATH="$CLASSPATH":"$file"
+  fi
+done
+shopt -u nullglob
+
+if [ -z "$CLASSPATH" ] ; then
+  echo "Classpath is empty. Please build the project first e.g. by running './gradlew jar -PscalaVersion=$SCALA_VERSION'"
+  exit 1
+fi
+
+# JMX settings
+if [ -z "$KAFKA_JMX_OPTS" ]; then
+  KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false  -Dcom.sun.management.jmxremote.ssl=false "
+fi
+
+# JMX port to use
+if [  $JMX_PORT ]; then
+  KAFKA_JMX_OPTS="$KAFKA_JMX_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT "
+  if ! echo "$KAFKA_JMX_OPTS" | grep -qF -- '-Dcom.sun.management.jmxremote.rmi.port=' ; then
+    # If unset, set the RMI port to address issues with monitoring Kafka running in containers
+    KAFKA_JMX_OPTS="$KAFKA_JMX_OPTS -Dcom.sun.management.jmxremote.rmi.port=$JMX_PORT"
+  fi
+fi
+
+# Log directory to use
+if [ "x$LOG_DIR" = "x" ]; then
+  LOG_DIR="$base_dir/logs"
+fi
+
+# Log4j settings
+if [ -z "$KAFKA_LOG4J_OPTS" ]; then
+  # Log to console. This is a tool.
+  LOG4J_DIR="$base_dir/config/tools-log4j2.yaml"
+  # If Cygwin is detected, LOG4J_DIR is converted to Windows format.
+  (( WINDOWS_OS_FORMAT )) && LOG4J_DIR=$(cygpath --path --mixed "${LOG4J_DIR}")
+  KAFKA_LOG4J_OPTS="-Dlog4j2.configurationFile=${LOG4J_DIR}"
+else
+  if echo "$KAFKA_LOG4J_OPTS" | grep -E "log4j\.[^[:space:]]+(\.properties|\.xml)$"; then
+      # Enable Log4j 1.x configuration compatibility mode for Log4j 2
+      export LOG4J_COMPATIBILITY=true
+      echo DEPRECATED: A Log4j 1.x configuration file has been detected, which is no longer recommended. >&2
+      echo To use a Log4j 2.x configuration, please see https://logging.apache.org/log4j/2.x/migrate-from-log4j1.html#Log4j2ConfigurationFormat for details about Log4j configuration file migration. >&2
+      echo You can also use the \$KAFKA_HOME/config/tools-log4j2.yaml file as a starting point. Make sure to remove the Log4j 1.x configuration after completing the migration. >&2
+  fi
+  # create logs directory
+  if [ ! -d "$LOG_DIR" ]; then
+    mkdir -p "$LOG_DIR"
+  fi
+fi
+
+# If Cygwin is detected, LOG_DIR is converted to Windows format.
+(( WINDOWS_OS_FORMAT )) && LOG_DIR=$(cygpath --path --mixed "${LOG_DIR}")
+KAFKA_LOG4J_CMD_OPTS="-Dkafka.logs.dir=$LOG_DIR $KAFKA_LOG4J_OPTS"
+
+# Generic jvm settings you want to add
+if [ -z "$KAFKA_OPTS" ]; then
+  KAFKA_OPTS=""
+fi
+
+# Set Debug options if enabled
+if [ "x$KAFKA_DEBUG" != "x" ]; then
+
+    # Use default ports
+    DEFAULT_JAVA_DEBUG_PORT="5005"
+
+    if [ -z "$JAVA_DEBUG_PORT" ]; then
+        JAVA_DEBUG_PORT="$DEFAULT_JAVA_DEBUG_PORT"
+    fi
+
+    # Use the defaults if JAVA_DEBUG_OPTS was not set
+    DEFAULT_JAVA_DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=${DEBUG_SUSPEND_FLAG:-n},address=$JAVA_DEBUG_PORT"
+    if [ -z "$JAVA_DEBUG_OPTS" ]; then
+        JAVA_DEBUG_OPTS="$DEFAULT_JAVA_DEBUG_OPTS"
+    fi
+
+    echo "Enabling Java debug options: $JAVA_DEBUG_OPTS"
+    KAFKA_OPTS="$JAVA_DEBUG_OPTS $KAFKA_OPTS"
+fi
+
+# Which java to use
+if [ -z "$JAVA_HOME" ]; then
+  JAVA="java"
+else
+  JAVA="$JAVA_HOME/bin/java"
+fi
+
+# Memory options
+if [ -z "$KAFKA_HEAP_OPTS" ]; then
+  KAFKA_HEAP_OPTS="-Xmx256M"
+fi
+
+# JVM performance options
+# MaxInlineLevel=15 is the default since JDK 14 and can be removed once older JDKs are no longer supported
+if [ -z "$KAFKA_JVM_PERFORMANCE_OPTS" ]; then
+  KAFKA_JVM_PERFORMANCE_OPTS="-server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:MaxInlineLevel=15 -Djava.awt.headless=true"
+fi
+
+while [ $# -gt 0 ]; do
+  COMMAND=$1
+  case $COMMAND in
+    -name)
+      DAEMON_NAME=$2
+      CONSOLE_OUTPUT_FILE=$LOG_DIR/$DAEMON_NAME.out
+      shift 2
+      ;;
+    -loggc)
+      if [ -z "$KAFKA_GC_LOG_OPTS" ]; then
+        GC_LOG_ENABLED="true"
+      fi
+      shift
+      ;;
+    -daemon)
+      DAEMON_MODE="true"
+      shift
+      ;;
+    *)
+      break
+      ;;
+  esac
+done
+
+# GC options
+GC_FILE_SUFFIX='-gc.log'
+GC_LOG_FILE_NAME=''
+if [ "x$GC_LOG_ENABLED" = "xtrue" ]; then
+  GC_LOG_FILE_NAME=$DAEMON_NAME$GC_FILE_SUFFIX
+
+  # The first segment of the version number, which is '1' for releases before Java 9
+  # it then becomes '9', '10', ...
+  # Some examples of the first line of `java --version`:
+  # 8 -> java version "1.8.0_152"
+  # 9.0.4 -> java version "9.0.4"
+  # 10 -> java version "10" 2018-03-20
+  # 10.0.1 -> java version "10.0.1" 2018-04-17
+  # We need to match to the end of the line to prevent sed from printing the characters that do not match
+  JAVA_MAJOR_VERSION=$("$JAVA" -version 2>&1 | sed -E -n 's/.* version "([0-9]*).*$/\1/p')
+  if [[ "$JAVA_MAJOR_VERSION" -ge "9" ]] ; then
+    KAFKA_GC_LOG_OPTS="-Xlog:gc*:file=$LOG_DIR/$GC_LOG_FILE_NAME:time,tags:filecount=10,filesize=100M"
+  else
+    KAFKA_GC_LOG_OPTS="-Xloggc:$LOG_DIR/$GC_LOG_FILE_NAME -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M"
+  fi
+fi
+
+# Remove a possible colon prefix from the classpath (happens at lines like `CLASSPATH="$CLASSPATH:$file"` when CLASSPATH is blank)
+# Syntax used on the right side is native Bash string manipulation; for more details see
+# http://tldp.org/LDP/abs/html/string-manipulation.html, specifically the section titled "Substring Removal"
+CLASSPATH=${CLASSPATH#:}
+
+# If Cygwin is detected, classpath is converted to Windows format.
+(( WINDOWS_OS_FORMAT )) && CLASSPATH=$(cygpath --path --mixed "${CLASSPATH}")
+
+# If KAFKA_MODE=native, it will bring up Kafka in the native mode.
+# It expects the Kafka executable binary to be present at $base_dir/kafka.Kafka.
+# This is specifically used to run system tests on native Kafka - by bringing up Kafka in the native mode.
+if [[ "x$KAFKA_MODE" == "xnative" ]] && [[ "$*" == *"kafka.Kafka"* ]]; then
+  exec $base_dir/kafka.Kafka start --config "$2"  $KAFKA_LOG4J_CMD_OPTS $KAFKA_JMX_OPTS $KAFKA_OPTS
+else
+  # Launch mode
+  if [ "x$DAEMON_MODE" = "xtrue" ]; then
+    nohup "$JAVA" $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_CMD_OPTS -cp "$CLASSPATH" $KAFKA_OPTS "$@" > "$CONSOLE_OUTPUT_FILE" 2>&1 < /dev/null &
+  else
+    exec "$JAVA" $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_CMD_OPTS -cp "$CLASSPATH" $KAFKA_OPTS "$@"
+  fi
+fi
diff --git a/bin/kafka-server-start.sh b/bin/kafka-server-start.sh
new file mode 100755
index 0000000..b98a8be
--- /dev/null
+++ b/bin/kafka-server-start.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ $# -lt 1 ];
+then
+	echo "USAGE: $0 [-daemon] server.properties [--override property=value]*"
+	exit 1
+fi
+base_dir=$(dirname $0)
+
+if [ -z "$KAFKA_LOG4J_OPTS" ]; then
+    export KAFKA_LOG4J_OPTS="-Dlog4j2.configurationFile=$base_dir/../config/log4j2.yaml"
+fi
+
+if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
+    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
+fi
+
+EXTRA_ARGS=${EXTRA_ARGS-'-name kafkaServer -loggc'}
+
+COMMAND=$1
+case $COMMAND in
+  -daemon)
+    EXTRA_ARGS="-daemon "$EXTRA_ARGS
+    shift
+    ;;
+  *)
+    ;;
+esac
+
+exec $base_dir/kafka-run-class.sh $EXTRA_ARGS kafka.Kafka "$@"
diff --git a/bin/kafka-server-stop.sh b/bin/kafka-server-stop.sh
new file mode 100755
index 0000000..2f1bf86
--- /dev/null
+++ b/bin/kafka-server-stop.sh
@@ -0,0 +1,64 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+SIGNAL=${SIGNAL:-TERM}
+
+INPUT_PROCESS_ROLE=$(echo "$@" | grep -o -- '--process-role=[^ ]*' | cut -d'=' -f2)
+INPUT_NID=$(echo "$@" | grep -o -- '--node-id=[^ ]*' | cut -d'=' -f2)
+if [ -n "$INPUT_NID" ] && [ -n "$INPUT_PROCESS_ROLE" ]; then
+  echo "When both node-id and process-role are provided, the value for node-id will take precedence"
+fi
+
+OSNAME=$(uname -s)
+if [[ "$OSNAME" == "OS/390" ]]; then
+    if [ -z $JOBNAME ]; then
+        JOBNAME="KAFKSTRT"
+    fi
+    PIDS=$(ps -A -o pid,jobname,comm | grep -i $JOBNAME | grep java | grep -v grep | awk '{print $1}')
+elif [[ "$OSNAME" == "OS400" ]]; then
+    PIDS=$(ps -Af | grep -i 'kafka\.Kafka' | grep java | grep -v grep | awk '{print $2}')
+else
+    PIDS=$(ps ax | grep ' kafka\.Kafka ' | grep java | grep -v grep | awk '{print $1}'| xargs)
+fi
+
+if [ -z "$PIDS" ]; then
+  echo "No kafka server to stop"
+  exit 1
+else
+  if [ -z "$INPUT_PROCESS_ROLE" ] && [ -z "$INPUT_NID" ]; then
+    kill -s $SIGNAL $PIDS
+  else
+    RelativePathToConfig=$(ps ax | grep ' kafka\.Kafka ' | grep java | grep -v grep | sed 's/--override property=[^ ]*//g' | awk 'NF>1{print $NF}' | xargs)
+    IFS=' ' read -ra PIDSArray <<< "$PIDS"
+    IFS=' ' read -ra RelativePathArray <<< "$RelativePathToConfig"
+    for ((i = 0; i < ${#RelativePathArray[@]}; i++)); do
+        AbsolutePathToConfig=$(readlink -f "${RelativePathArray[i]}")
+        if [ -z "$AbsolutePathToConfig" ] ; then
+          echo "Can not find the configuration file in the current directory. Please make sure the kafka stop process and the start process are called in the same directory."
+          exit 1
+        fi
+        if [ -n "$INPUT_NID" ] ; then
+            keyword="node.id="
+            NID=$(sed -n "/$keyword/ { s/$keyword//p; q; }" "$AbsolutePathToConfig")
+        elif [ -n "$INPUT_PROCESS_ROLE" ] && [ -z "$INPUT_NID" ]; then
+            keyword="process.roles="
+            PROCESS_ROLE=$(sed -n "/$keyword/ { s/$keyword//p; q; }" "$AbsolutePathToConfig")
+        fi
+        if [ -n "$INPUT_PROCESS_ROLE" ] && [ "$PROCESS_ROLE" == "$INPUT_PROCESS_ROLE" ] || [ -n "$INPUT_NID" ] && [ "$NID" == "$INPUT_NID" ]; then
+          kill -s $SIGNAL ${PIDSArray[i]}
+        fi
+    done
+  fi
+fi
diff --git a/bin/kafka-share-consumer-perf-test.sh b/bin/kafka-share-consumer-perf-test.sh
new file mode 100755
index 0000000..8e490ca
--- /dev/null
+++ b/bin/kafka-share-consumer-perf-test.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
+    export KAFKA_HEAP_OPTS="-Xmx512M"
+fi
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.ShareConsumerPerformance "$@"
diff --git a/bin/kafka-share-groups.sh b/bin/kafka-share-groups.sh
new file mode 100755
index 0000000..1712874
--- /dev/null
+++ b/bin/kafka-share-groups.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.consumer.group.ShareGroupCommand "$@"
diff --git a/bin/kafka-storage.sh b/bin/kafka-storage.sh
new file mode 100755
index 0000000..eef9342
--- /dev/null
+++ b/bin/kafka-storage.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh kafka.tools.StorageTool "$@"
diff --git a/bin/kafka-streams-application-reset.sh b/bin/kafka-streams-application-reset.sh
new file mode 100755
index 0000000..26ab766
--- /dev/null
+++ b/bin/kafka-streams-application-reset.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
+    export KAFKA_HEAP_OPTS="-Xmx512M"
+fi
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.StreamsResetter "$@"
diff --git a/bin/kafka-topics.sh b/bin/kafka-topics.sh
new file mode 100755
index 0000000..05069f4
--- /dev/null
+++ b/bin/kafka-topics.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+# 
+#    http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.TopicCommand "$@"
diff --git a/bin/kafka-transactions.sh b/bin/kafka-transactions.sh
new file mode 100755
index 0000000..6fb5233
--- /dev/null
+++ b/bin/kafka-transactions.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.TransactionsCommand "$@"
diff --git a/bin/kafka-verifiable-consumer.sh b/bin/kafka-verifiable-consumer.sh
new file mode 100755
index 0000000..852847d
--- /dev/null
+++ b/bin/kafka-verifiable-consumer.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
+    export KAFKA_HEAP_OPTS="-Xmx512M"
+fi
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.VerifiableConsumer "$@"
diff --git a/bin/kafka-verifiable-producer.sh b/bin/kafka-verifiable-producer.sh
new file mode 100755
index 0000000..b59bae7
--- /dev/null
+++ b/bin/kafka-verifiable-producer.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
+    export KAFKA_HEAP_OPTS="-Xmx512M"
+fi
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.VerifiableProducer "$@"
diff --git a/bin/kafka-verifiable-share-consumer.sh b/bin/kafka-verifiable-share-consumer.sh
new file mode 100755
index 0000000..e30178c
--- /dev/null
+++ b/bin/kafka-verifiable-share-consumer.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
+    export KAFKA_HEAP_OPTS="-Xmx512M"
+fi
+exec $(dirname $0)/kafka-run-class.sh org.apache.kafka.tools.VerifiableShareConsumer "$@"
diff --git a/bin/trogdor.sh b/bin/trogdor.sh
new file mode 100755
index 0000000..3324c4e
--- /dev/null
+++ b/bin/trogdor.sh
@@ -0,0 +1,50 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+usage() {
+    cat <<EOF
+The Trogdor fault injector.
+
+Usage:
+  $0 [action] [options]
+
+Actions:
+  agent: Run the trogdor agent.
+  coordinator: Run the trogdor coordinator.
+  client: Run the client which communicates with the trogdor coordinator.
+  agent-client: Run the client which communicates with the trogdor agent.
+  help: This help message.
+EOF
+}
+
+if [[ $# -lt 1 ]]; then
+    usage
+    exit 0
+fi
+action="${1}"
+shift
+CLASS=""
+case ${action} in
+    agent) CLASS="org.apache.kafka.trogdor.agent.Agent";;
+    coordinator) CLASS="org.apache.kafka.trogdor.coordinator.Coordinator";;
+    client) CLASS="org.apache.kafka.trogdor.coordinator.CoordinatorClient";;
+    agent-client) CLASS="org.apache.kafka.trogdor.agent.AgentClient";;
+    help) usage; exit 0;;
+    *)  echo "Unknown action '${action}'.  Type '$0 help' for help."; exit 1;;
+esac
+
+export INCLUDE_TEST_JARS=1
+exec $(dirname $0)/kafka-run-class.sh "${CLASS}" "$@"
diff --git a/bin/windows/connect-distributed.bat b/bin/windows/connect-distributed.bat
new file mode 100644
index 0000000..396e5ba
--- /dev/null
+++ b/bin/windows/connect-distributed.bat
@@ -0,0 +1,34 @@
+@echo off
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements.  See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the "License"); you may not use this file except in compliance with
+rem the License.  You may obtain a copy of the License at
+rem
+rem    http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an "AS IS" BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+
+IF [%1] EQU [] (
+	echo USAGE: %0 connect-distributed.properties
+	EXIT /B 1
+)
+
+SetLocal
+rem Using pushd popd to set BASE_DIR to the absolute path
+pushd %~dp0..\..
+set BASE_DIR=%CD%
+popd
+
+rem Log4j settings
+IF ["%KAFKA_LOG4J_OPTS%"] EQU [""] (
+        set KAFKA_LOG4J_OPTS=-Dlog4j2.configurationFile=%BASE_DIR%/config/connect-log4j2.yaml
+)
+
+"%~dp0kafka-run-class.bat" org.apache.kafka.connect.cli.ConnectDistributed %*
+EndLocal
diff --git a/bin/windows/connect-plugin-path.bat b/bin/windows/connect-plugin-path.bat
new file mode 100644
index 0000000..3f64a82
--- /dev/null
+++ b/bin/windows/connect-plugin-path.bat
@@ -0,0 +1,21 @@
+@echo off
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements.  See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the "License"); you may not use this file except in compliance with
+rem the License.  You may obtain a copy of the License at
+rem
+rem     http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an "AS IS" BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+
+IF ["%KAFKA_HEAP_OPTS%"] EQU [""] (
+	set KAFKA_HEAP_OPTS=-Xms256M -Xmx2G
+)
+
+"%~dp0kafka-run-class.bat" org.apache.kafka.tools.ConnectPluginPath %*
\ No newline at end of file
diff --git a/bin/windows/connect-standalone.bat b/bin/windows/connect-standalone.bat
new file mode 100644
index 0000000..7ad655d
--- /dev/null
+++ b/bin/windows/connect-standalone.bat
@@ -0,0 +1,34 @@
+@echo off
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements.  See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the "License"); you may not use this file except in compliance with
+rem the License.  You may obtain a copy of the License at
+rem
+rem    http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an "AS IS" BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+
+IF [%1] EQU [] (
+	echo USAGE: %0 connect-standalone.properties
+	EXIT /B 1
+)
+
+SetLocal
+rem Using pushd popd to set BASE_DIR to the absolute path
+pushd %~dp0..\..
+set BASE_DIR=%CD%
+popd
+
+rem Log4j settings
+IF ["%KAFKA_LOG4J_OPTS%"] EQU [""] (
+        set KAFKA_LOG4J_OPTS=-Dlog4j2.configurationFile=%BASE_DIR%/config/connect-log4j2.yaml
+)
+
+"%~dp0kafka-run-class.bat" org.apache.kafka.connect.cli.ConnectStandalone %*
+EndLocal
diff --git a/bin/windows/kafka-acls.bat b/bin/windows/kafka-acls.bat
new file mode 100644
index 0000000..12c4a9a
--- /dev/null
+++ b/bin/windows/kafka-acls.bat
@@ -0,0 +1,17 @@
+@echo off
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements.  See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the "License"); you may not use this file except in compliance with
+rem the License.  You may obtain a copy of the License at
+rem
+rem     http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an "AS IS" BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+
+"%~dp0kafka-run-class.bat" org.apache.kafka.tools.AclCommand %*
diff --git a/bin/windows/kafka-broker-api-versions.bat b/bin/windows/kafka-broker-api-versions.bat
new file mode 100644
index 0000000..7c0444b
--- /dev/null
+++ b/bin/windows/kafka-broker-api-versions.bat
@@ -0,0 +1,17 @@
+@echo off
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements.  See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the "License"); you may not use this file except in compliance with
+rem the License.  You may obtain a copy of the License at
+rem
+rem     http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an "AS IS" BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+
+%~dp0kafka-run-class.bat org.apache.kafka.tools.BrokerApiVersionsCommand %*
diff --git a/bin/windows/kafka-client-metrics.bat b/bin/windows/kafka-client-metrics.bat
new file mode 100644
index 0000000..bd9bcdf
--- /dev/null
+++ b/bin/windows/kafka-client-metrics.bat
@@ -0,0 +1,17 @@
+@echo off
+rem Licensed to the Apache Software Foundation (ASF) under one or more
+rem contributor license agreements.  See the NOTICE file distributed with
+rem this work for additional information regarding copyright ownership.
+rem The ASF licenses this file to You under the Apache License, Version 2.0
+rem (the "License"); you may not use this file except in compliance with
+rem the License.  You may obtain a copy of the License at
+rem
+rem     http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
... 1559948 lines suppressed ...