Release Notes - Kafka - Version 2.6.0
Below is a summary of the JIRA issues addressed in the 2.6.0 release of Kafka. For full documentation of the
release, a guide to get started, and information about the project, see the Kafka
project site.
Note about upgrades: Please carefully review the
upgrade documentation for this release thoroughly
before upgrading your cluster. The upgrade notes discuss any critical information about incompatibilities and breaking
changes, performance changes, and any other changes that might impact your production deployment of Kafka.
The documentation for the most recent release can be found at
https://kafka.apache.org/documentation.html.
New Feature
- [KAFKA-6145] - Warm up new KS instances before migrating tasks - potentially a two phase rebalance
- [KAFKA-8611] - Add KStream#repartition operation
- [KAFKA-8890] - KIP-519: Make SSL context/engine configuration extensible
- [KAFKA-9320] - Enable TLSv1.3 by default and disable some of the older protocols
- [KAFKA-9673] - Conditionally apply SMTs
- [KAFKA-9753] - Add task-level active-process-ratio to Streams metrics
- [KAFKA-9756] - Refactor the main loop to process more than one record of one task at a time
Improvement
- [KAFKA-4794] - Add access to OffsetStorageReader from SourceConnector
- [KAFKA-5295] - Allow Kafka Connect source connectors to specify topic-specific settings for new topics
- [KAFKA-6037] - Make Sub-topology Parallelism Tunable
- [KAFKA-6453] - Document timestamp propagation semantics
- [KAFKA-6508] - Look into optimizing StreamPartitionAssignor StandbyTask Assignment
- [KAFKA-6755] - MaskField SMT should optionally take a literal value to use instead of using null
- [KAFKA-7523] - TransformerSupplier/ProcessorSupplier enhancements
- [KAFKA-7740] - Kafka Admin Client should be able to manage user/client configurations for users and clients
- [KAFKA-8147] - Add changelog topic configuration to KTable suppress
- [KAFKA-8164] - Improve test passing rate by rerunning flaky tests
- [KAFKA-8470] - State change logs should not be in TRACE level
- [KAFKA-8938] - Connect - Improve Memory Allocations During Struct Validation
- [KAFKA-9112] - Combine streams `onAssignment` with `partitionsAssigned` task creation
- [KAFKA-9113] - Clean up task management
- [KAFKA-9127] - Needless group coordination overhead for GlobalKTables
- [KAFKA-9130] - Allow listing consumer groups per state
- [KAFKA-9132] - Refactor StreamThread to take advantage of new ConsumerRebalanceListener exception handling
- [KAFKA-9146] - Add option to force delete members in stream reset tool
- [KAFKA-9177] - Pause completed partitions on restore consumer
- [KAFKA-9216] - Enforce connect internal topic configuration at startup
- [KAFKA-9290] - Update IQ related JavaDocs
- [KAFKA-9292] - KIP-551: Expose disk read and write metrics
- [KAFKA-9309] - Add the ability to translate Message classes to and from JSON
- [KAFKA-9313] - Set default for client.dns.lookup to use_all_dns_ips
- [KAFKA-9327] - GroupMetadata metrics are not documented
- [KAFKA-9353] - Add groupInstanceId to DescribeGroup for better visibility
- [KAFKA-9404] - Use ArrayList instead of LinkedList in Sensor Class
- [KAFKA-9407] - Return Immutable List from SchemaSourceTask
- [KAFKA-9409] - Increase Immutability of ClusterConfigState
- [KAFKA-9419] - Integer Overflow Possible with CircularIterator
- [KAFKA-9423] - Refine layout of configuration options on website and make individual settings directly linkable
- [KAFKA-9468] - config.storage.topic partition count issue is hard to debug
- [KAFKA-9481] - Improve TaskMigratedException handling on Stream thread
- [KAFKA-9494] - Include data type of the config in ConfigEntry
- [KAFKA-9525] - Allow explicit rebalance triggering on the Consumer
- [KAFKA-9539] - Add leader epoch in StopReplicaRequest
- [KAFKA-9561] - Update task input partitions when topic metadata changes
- [KAFKA-9573] - TestUpgrade system test failed on Java11.
- [KAFKA-9594] - speed up the processing of LeaderAndIsrRequest
- [KAFKA-9612] - CLI Dynamic Configuration with file input
- [KAFKA-9626] - Benchmark and optimize AclAuthorizer.acls()
- [KAFKA-9650] - Include human readable quantities for default config docs
- [KAFKA-9685] - Solve Set concatenation perf issue in AclAuthorizer
- [KAFKA-9720] - Update gradle to 6.0+
- [KAFKA-9729] - Shrink inWriteLock time in SimpleAuthorizer
- [KAFKA-9731] - Increased fetch request rate with leader selector due to HW propagation
- [KAFKA-9767] - Basic auth extension should have logging
- [KAFKA-9779] - Add version 2.5 to streams system tests
- [KAFKA-9780] - Deprecate commit records without record metadata
- [KAFKA-9838] - Add additional log concurrency test cases
- [KAFKA-9850] - Move KStream#repartition operator validation during Topology build process
- [KAFKA-9853] - Improve performance of Log.fetchOffsetByTimestamp()
- [KAFKA-9864] - Avoid expensive QuotaViolationException usage
- [KAFKA-9865] - Expose output topic names from TopologyTestDriver
- [KAFKA-9866] - Do not attempt to elect preferred leader replicas which are outside ISR
- [KAFKA-9894] - Support Java 14
- [KAFKA-9907] - Switch default build to Scala 2.13
- [KAFKA-9919] - Add logging to KafkaBasedLog
- [KAFKA-9931] - Kafka Connect should accept '-1' as a valid replication factor
- [KAFKA-9932] - First LeaderAndIsrRequest can take long due to unnecessary ZK read
- [KAFKA-9944] - Allow HTTP Response Headers to be Configured for Kafka Connect
- [KAFKA-9949] - Flaky Test GlobalKTableIntegrationTest#shouldKStreamGlobalKTableLeftJoin
- [KAFKA-9952] - Reconsider immediate propagation of hw when replica selector is used
- [KAFKA-9960] - Metrics Reporter should support additional context tags
- [KAFKA-9966] - Flaky Test EosBetaUpgradeIntegrationTest#shouldUpgradeFromEosAlphaToEosBeta
- [KAFKA-9971] - Error Reporting in Sink Connectors
- [KAFKA-9983] - Add INFO-level end-to-end latency metrics to Streams
- [KAFKA-9987] - Improve sticky partition assignor algorithm
- [KAFKA-10005] - Decouple RestoreListener from RestoreCallback and not enable bulk loading for RocksDB
- [KAFKA-10012] - Reducing memory overhead associated with strings in MetricName
- [KAFKA-10022] - console-producer supports the setting of client.id
- [KAFKA-10074] - Improve performance of `matchingAcls`
- [KAFKA-10115] - Incorporate errors.tolerance with the Errant Record Reporter
- [KAFKA-10135] - Extract Task#executeAndMaybeSwallow to be a general utility function into TaskManager
Bug
- [KAFKA-3720] - Remove BufferExhaustedException from doSend() in KafkaProducer
- [KAFKA-6647] - KafkaStreams.cleanUp creates .lock file in directory its trying to clean (Windows OS)
- [KAFKA-7833] - StreamsBuilder should throw an exception if addGlobalStore and addStateStore is called for the same store builder
- [KAFKA-7885] - Streams: TopologyDescription violates equals-hashCode contract.
- [KAFKA-7965] - Flaky Test ConsumerBounceTest#testRollingBrokerRestartsWithSmallerMaxGroupSizeConfigDisruptsBigGroup
- [KAFKA-8011] - Flaky Test RegexSourceIntegrationTest#testRegexMatchesTopicsAWhenCreated
- [KAFKA-8107] - Flaky Test kafka.api.ClientIdQuotaTest.testQuotaOverrideDelete
- [KAFKA-8391] - Flaky Test RebalanceSourceConnectorsIntegrationTest#testDeleteConnector
- [KAFKA-8574] - EOS race condition during task transition leads to LocalStateStore truncation in Kafka Streams 2.0.1
- [KAFKA-8661] - Flaky Test RebalanceSourceConnectorsIntegrationTest#testStartTwoConnectors
- [KAFKA-8672] - RebalanceSourceConnectorsIntegrationTest#testReconfigConnector
- [KAFKA-8869] - Map taskConfigs in KafkaConfigBackingStore grows monotonically despite of task removals
- [KAFKA-8910] - Incorrect javadoc at KafkaProducer.InterceptorCallback#onCompletion
- [KAFKA-9034] - kafka-run-class.sh will fail if JAVA_HOME has space
- [KAFKA-9047] - AdminClient group operations may not respect backoff
- [KAFKA-9066] - Kafka Connect JMX : source & sink task metrics missing for tasks in failed state
- [KAFKA-9074] - Connect's Values class does not parse time or timestamp values from string literals
- [KAFKA-9161] - Close gaps in Streams configs documentation
- [KAFKA-9173] - StreamsPartitionAssignor assigns partitions to only one worker
- [KAFKA-9176] - Flaky test failure: OptimizedKTableIntegrationTest.shouldApplyUpdatesToStandbyStore
- [KAFKA-9206] - Consumer should handle `CORRUPT_MESSAGE` error code in fetch response
- [KAFKA-9225] - kafka fail to run on linux-aarch64
- [KAFKA-9298] - Reuse of a mapped stream causes an Invalid Topology
- [KAFKA-9308] - Misses SAN after certificate creation
- [KAFKA-9373] - Improve shutdown performance via lazy accessing the offset and time indices.
- [KAFKA-9374] - Worker can be disabled by blocked connectors
- [KAFKA-9388] - Flaky Test StandbyTaskCreationIntegrationTest.shouldCreateStandByTasksForMaterializedAndOptimizedSourceTables
- [KAFKA-9472] - Reducing number of tasks for connector causes deleted tasks to show as UNASSIGNED
- [KAFKA-9490] - Some factory methods in Grouped are missing generic parameters
- [KAFKA-9498] - Topic validation during the creation trigger unnecessary TopicChange events
- [KAFKA-9501] - Promote Standby tasks to active tasks without closing them
- [KAFKA-9533] - JavaDocs of KStream#ValueTransform incorrect
- [KAFKA-9537] - Abstract transformations in configurations cause unfriendly error message.
- [KAFKA-9540] - Application getting "Could not find the standby task 0_4 while closing it" error
- [KAFKA-9553] - Transaction state loading metric does not count total loading time
- [KAFKA-9557] - Thread-level "process" metrics are computed incorrectly
- [KAFKA-9568] - Kstreams APPLICATION_SERVER_CONFIG is not updated with static membership
- [KAFKA-9570] - SSL cannot be configured for Connect in standalone mode
- [KAFKA-9572] - Sum Computation with Exactly-Once Enabled and Injected Failures Misses Some Records
- [KAFKA-9583] - OffsetsForLeaderEpoch requests are sometimes not sent to the leader of partition
- [KAFKA-9600] - EndTxn handler should check strict epoch equality
- [KAFKA-9603] - Number of open files keeps increasing in Streams application
- [KAFKA-9605] - EOS Producer could throw illegal state if trying to complete a failed batch after fatal error
- [KAFKA-9607] - Should not clear partition queue during task close
- [KAFKA-9610] - Should not throw illegal state exception during task revocation
- [KAFKA-9614] - Avoid initializing the topology twice when resuming stream tasks from suspended state
- [KAFKA-9617] - Replica Fetcher can mark partition as failed when max.message.bytes is changed
- [KAFKA-9620] - Task revocation failure could introduce remaining unclean tasks
- [KAFKA-9623] - Streams will attempt to commit during shutdown if rebalance is in progress
- [KAFKA-9625] - Unable to Describe broker configurations that have been set via IncrementalAlterConfigs
- [KAFKA-9632] - Transient test failure: PartitionLockTest.testAppendReplicaFetchWithUpdateIsr
- [KAFKA-9633] - ConfigProvider.close() not called
- [KAFKA-9642] - "BigDecimal(double)" should not be used
- [KAFKA-9644] - incrementalAlterConfigs OpType.APPEND on unset property fails with NullPointerException
- [KAFKA-9645] - Records could not find corresponding partition/task
- [KAFKA-9652] - Throttle time metric needs to be updated for KIP-219
- [KAFKA-9656] - TxnOffsetCommit should not return COORDINATOR_LOADING error for old request versions
- [KAFKA-9663] - KafkaStreams.metadataForKey, queryMetadataForKey docs don't mention null
- [KAFKA-9667] - Connect JSON serde strip trailing zeros
- [KAFKA-9675] - RocksDB metrics reported always at zero
- [KAFKA-9677] - Low consume bandwidth quota may cause consumer not being able to fetch data
- [KAFKA-9691] - Flaky test kafka.admin.TopicCommandWithAdminClientTest#testDescribeUnderReplicatedPartitionsWhenReassignmentIsInProgress
- [KAFKA-9695] - AdminClient allows null topic configs, but broker throws NPE
- [KAFKA-9700] - Negative estimatedCompressionRatio leads to misjudgment about if there is no room
- [KAFKA-9703] - ProducerBatch.split takes up too many resources if the bigBatch is huge
- [KAFKA-9704] - z/OS won't let us resize file when mmap
- [KAFKA-9711] - The authentication failure caused by SSLEngine#beginHandshake is not properly caught and handled
- [KAFKA-9712] - Reflections library 0.9.12 introduced in 2.5 causes regression scanning for plugins on plugin_path
- [KAFKA-9716] - Values of compression-rate and compression-rate-avg are misleading
- [KAFKA-9718] - Don't log passwords for AlterConfigs requests in request logs
- [KAFKA-9724] - Consumer wrongly ignores fetched records "since it no longer has valid position"
- [KAFKA-9739] - StreamsBuilder.build fails with StreamsException "Found a null keyChangingChild node for OptimizableRepartitionNode"
- [KAFKA-9743] - StreamTask could fail to close during HandleNewAssignment
- [KAFKA-9768] - rest.advertised.listener configuration is not handled properly by the worker
- [KAFKA-9775] - IllegalFormatConversionException from kafka-consumer-perf-test.sh
- [KAFKA-9777] - Purgatory locking bug can lead to hanging transaction
- [KAFKA-9783] - Flaky Test QueryableStateIntegrationTest#concurrentAccesses
- [KAFKA-9788] - Sensor name collision for group and transaction coordinator load metrics
- [KAFKA-9796] - Broker shutdown could be stuck forever under certain conditions
- [KAFKA-9797] - Fix flaky system test TestSecurityRollingUpgrade.test_enable_separate_interbroker_listener
- [KAFKA-9812] - Integration tests hang and timeout the entire PR build on jenkins
- [KAFKA-9818] - Flaky Test RecordCollectorTest.shouldNotThrowStreamsExceptionOnSubsequentCallIfASendFailsWithContinueExceptionHandler
- [KAFKA-9819] - Flaky Test StoreChangelogReaderTest#shouldNotThrowOnUnknownRevokedPartition[0]
- [KAFKA-9820] - validateMessagesAndAssignOffsetsCompressed allocates batch iterator which is not used
- [KAFKA-9821] - Stream task may skip assignment with static members and incremental rebalances
- [KAFKA-9823] - Consumer should check equality of the generation for coordinator requests
- [KAFKA-9826] - Log cleaning repeatedly picks same segment with no effect when first dirty offset is past start of active segment
- [KAFKA-9830] - DeadLetterQueueReporter leaks KafkaProducer instance
- [KAFKA-9840] - Consumer should not use OffsetForLeaderEpoch without current epoch validation
- [KAFKA-9841] - Connector and Task duplicated when a worker join with old generation assignment
- [KAFKA-9844] - Maximum number of members within a group is not always enforced due to a race condition in join group
- [KAFKA-9845] - plugin.path property does not work with config provider
- [KAFKA-9848] - Avoid triggering scheduled rebalance delay when task assignment fails but Connect workers remain in the group
- [KAFKA-9849] - Fix issue with worker.unsync.backoff.ms creating zombie workers when incremental cooperative rebalancing is used
- [KAFKA-9851] - Revoking Connect tasks due to connectivity issues should also clear running assignment
- [KAFKA-9854] - Re-authenticating causes mismatched parse of response
- [KAFKA-9859] - kafka-streams-application-reset tool doesn't take into account topics generated by KTable foreign key join operation
- [KAFKA-9868] - Flaky Test EOSUncleanShutdownIntegrationTest.shouldWorkWithUncleanShutdownWipeOutStateStore
- [KAFKA-9875] - Flaky Test SuppressionDurabilityIntegrationTest.shouldRecoverBufferAfterShutdown[exactly_once]
- [KAFKA-9883] - Connect request to restart task can result in IllegalArgumentError: "uriTemplate" parameter is null
- [KAFKA-9885] - Evict last members of a group when the maximum allowed is reached
- [KAFKA-9888] - REST extensions can mutate connector configs in worker config state snapshot
- [KAFKA-9891] - Invalid state store content after task migration with exactly_once and standby replicas
- [KAFKA-9896] - Flaky Test StandbyTaskEOSIntegrationTest#surviveWithOneTaskAsStandby[exactly_once_beta]
- [KAFKA-9898] - Flaky Test StoreQueryIntegrationTest.shouldQueryAllStalePartitionStores
- [KAFKA-9918] - SslEngineFactory is NOT closed when channel is closing
- [KAFKA-9921] - Caching is not working properly with WindowStateStore when retaining duplicates
- [KAFKA-9922] - Update examples README
- [KAFKA-9925] - Non-key KTable Joining may result in duplicate schema name in confluence schema registry
- [KAFKA-9928] - Flaky GlobalKTableEOSIntegrationTest#shouldKStreamGlobalKTableLeftJoin[exactly_once_beta]
- [KAFKA-9939] - Fetch request metrics are updated twice for delayed fetches
- [KAFKA-9942] - ConfigCommand fails to set client quotas for default users with --bootstrap-server.
- [KAFKA-9945] - TopicCommand should support --if-exists and --if-not-exists when --bootstrap-server is used
- [KAFKA-9950] - MirrorMaker2 sharing of ConfigDef can lead to ConcurrentModificationException
- [KAFKA-9955] - Exceptions thrown from SinkTask::close shadow other exceptions
- [KAFKA-9969] - ConnectorClientConfigRequest is loaded in isolation and throws LinkageError
- [KAFKA-9972] - Corrupted standby task could be committed
- [KAFKA-9980] - Fix bug where alterClientQuotas could not set default client quotas
- [KAFKA-9984] - Should fail the subscription when pattern is empty
- [KAFKA-9985] - Sink connector consuming DLQ topic may exhaust broker
- [KAFKA-9991] - Flaky Test KTableSourceTopicRestartIntegrationTest.shouldRestoreAndProgressWhenTopicWrittenToDuringRestorationWithEosAlphaEnabled
- [KAFKA-9992] - EmbeddedKafkaCluster.deleteTopicAndWait not working with kafka_2.13
- [KAFKA-9996] - upgrade zookeeper to 3.5.8 to address security vulnerabilities
- [KAFKA-10001] - Store's own restore listener should be triggered in store changelog reader
- [KAFKA-10004] - ConfigCommand fails to find default broker configs without ZK
- [KAFKA-10017] - Flaky Test EosBetaUpgradeIntegrationTest.shouldUpgradeFromEosAlphaToEosBeta
- [KAFKA-10018] - Change command line tools from /bin/sh to /bin/bash
- [KAFKA-10029] - Selector.completedReceives should not be modified when channel is closed
- [KAFKA-10030] - Throw exception while fetching a key from a single partition
- [KAFKA-10043] - Some parameters will be overwritten which was configured in consumer.config where running "ConsumerPerformance.scala"
- [KAFKA-10049] - KTable-KTable Foreign Key join throwing Serialization Exception
- [KAFKA-10052] - Flaky Test InternalTopicsIntegrationTest.testCreateInternalTopicsWithFewerReplicasThanBrokers
- [KAFKA-10056] - Consumer metadata may use outdated groupSubscription that doesn't contain newly subscribed topics
- [KAFKA-10061] - Flaky Test `ReassignPartitionsIntegrationTest .testCancellation`
- [KAFKA-10063] - UnsupportedOperation when querying cleaner metrics after shutdown
- [KAFKA-10066] - TopologyTestDriver isn't taking record headers into account during de/serialization
- [KAFKA-10069] - The user-defined "predicate" and "negate" are not removed from Transformation
- [KAFKA-10079] - Improve thread-level stickiness of stateful tasks
- [KAFKA-10080] - IllegalStateException after duplicate CompleteCommit append to transaction log
- [KAFKA-10085] - Compute lag correctly for optimized source changelogs
- [KAFKA-10089] - The stale ssl engine factory is not closed after reconfigure
- [KAFKA-10102] - Source node references not updated after rebuilding topology
- [KAFKA-10110] - ConnectDistributed fails with NPE when Kafka cluster has no ID
- [KAFKA-10111] - SinkTaskContext.errantRecordReporter() added in KIP-610 should be a default method
- [KAFKA-10113] - LogTruncationException sets fetch offsets incorrectly
- [KAFKA-10123] - Regression resetting offsets in consumer when fetching from old broker
- [KAFKA-10134] - High CPU issue during rebalance in Kafka consumer after upgrading to 2.5
- [KAFKA-10144] - Corrupted standby tasks are not always cleaned up
- [KAFKA-10147] - MockAdminClient#describeConfigs(Collection) is unable to handle broker resource
- [KAFKA-10148] - Kafka Streams Restores too few Records with eos-beta Enabled
- [KAFKA-10150] - IllegalStateException when revoking task in CREATED state
- [KAFKA-10151] - Flaky Test StoreUpgradeIntegrationTest.shouldMigratePersistentKeyValueStoreToTimestampedKeyValueStoreUsingPapi
- [KAFKA-10152] - Attempt to write checkpoint without first committing during recycle
- [KAFKA-10165] - Percentiles metric leaking memory
- [KAFKA-10166] - Excessive TaskCorruptedException seen in testing
- [KAFKA-10167] - Streams EOS-Beta should not try to get end-offsets as read-committed
- [KAFKA-10169] - KafkaException: Failing batch since transaction was aborted
- [KAFKA-10173] - BufferUnderflowException during Kafka Streams Upgrade
- [KAFKA-10192] - Flaky test BlockingConnectorTest#testBlockInConnectorStop
- [KAFKA-10198] - Dirty tasks may be recycled instead of closed
- [KAFKA-10209] - Fix connect_rest_test.py after the introduction of new connector configs
- [KAFKA-10212] - Describing a topic with the TopicCommand fails if unauthorised to use ListPartitionReassignments API
- [KAFKA-10214] - fix flaky zookeeper_tls_test.py
- [KAFKA-10223] - ReplicaNotAvailableException must be retriable to handle reassignments
- [KAFKA-10224] - The license term about jersey is not correct
- [KAFKA-10235] - Fix flaky transactions_test.py
- [KAFKA-10239] - The groupInstanceId field in DescribeGroup response should be ignorable
- [KAFKA-10247] - Streams may attempt to process after closing a task
- [KAFKA-10249] - In-memory stores are skipped when checkpointing but not skipped when reading the checkpoint
- [KAFKA-10257] - system test kafkatest.tests.core.security_rolling_upgrade_test fails
- [KAFKA-10262] - StateDirectory is not thread-safe
- [KAFKA-10268] - dynamic config like "--delete-config log.retention.ms" doesn't work
- [KAFKA-10274] - Transaction system test uses inconsistent timeouts
- [KAFKA-10287] - fix flaky streams/streams_standby_replica_test.py
- [KAFKA-10306] - GlobalThread might loop forever
Task
- [KAFKA-6342] - Remove workaround for JSON parsing of non-escaped strings
- [KAFKA-8835] - Update documentation for URP changes in KIP-352
- [KAFKA-9343] - Add ps command for Kafka and zookeeper process on z/OS.
- [KAFKA-9392] - Document and add test for deleteAcls that match single/multiple resources
- [KAFKA-9670] - Benchmark and optimize MetadataResponse preparation
- [KAFKA-10003] - Deprecate KStream#through in favor of KStream#repartition
- [KAFKA-10064] - Add documentation for KIP-571
- [KAFKA-10084] - System test failure: StreamsEosTest.test_failure_and_recovery_complex
- [KAFKA-10086] - Standby state isn't always re-used when transitioning to active
- [KAFKA-10153] - Error Reporting in Connect Documentation
- [KAFKA-10185] - Streams should log summarized restoration information at info level
Test
- [KAFKA-9182] - Flaky Test org.apache.kafka.streams.integration.KTableSourceTopicRestartIntegrationTest.shouldRestoreAndProgressWhenTopicWrittenToDuringRestorationWithEosEnabled
- [KAFKA-10286] - Connect system tests should wait for workers to join group
- [KAFKA-10295] - ConnectDistributedTest.test_bounce should wait for graceful stop
Sub-task
- [KAFKA-4696] - Streams standby task assignment should be state-store aware
- [KAFKA-4969] - State-store workload-aware StreamsPartitionAssignor
- [KAFKA-8436] - Replace AddOffsetsToTxn request/response with automated protocol
- [KAFKA-8618] - Replace WriteTxnMarkers request/response with automated protocol
- [KAFKA-8768] - Replace DeleteRecords request/response with automated protocol
- [KAFKA-9433] - Replace AlterConfigs request/response with automated protocol
- [KAFKA-9435] - Replace DescribeLogDirs request/response with automated protocol
- [KAFKA-9441] - Refactor commit logic
- [KAFKA-9451] - Pass consumer group metadata to producer on commit
- [KAFKA-9466] - Add documentation for new stream EOS change
- [KAFKA-9719] - Add System Test For ensuring the EOS-beta app would crash with broker downgrade
- [KAFKA-9748] - Extend EOS integration test for EOS-beta
- [KAFKA-9760] - Add EOS protocol changes to documentation
- [KAFKA-9832] - Extend EOS system tests for EOS-beta
- [KAFKA-10248] - Drop idempotent KTable source updates