Skip to content

CONFLUENT: Sync from apache/kafka trunk to confluentinc/kafka master (13 Jun 2022)#728

Merged
ableegoldman merged 10 commits intoconfluentinc:masterfrom
apache:trunk
Jun 14, 2022
Merged

CONFLUENT: Sync from apache/kafka trunk to confluentinc/kafka master (13 Jun 2022)#728
ableegoldman merged 10 commits intoconfluentinc:masterfrom
apache:trunk

Conversation

@ableegoldman
Copy link

Seems like we're getting pretty consistent test failures in various core tests which is blocking the sync from going through. This PR might turn out to be unnecessary but there's a very critical commit that we need to be synced over for our 0.27 ksql release so I'd rather push through with a manual merge than wait around for a green build

apache/trunk: (7 commits)
KAFKA-13891: reset generation when syncgroup failed with REBALANCE_IN…(https://github.com/apache/kafka/pull/12140)
KAFKA-10000: Exactly-once source tasks (https://github.com/apache/kafka/pull/11780)
KAFKA-13436: Omitted BrokerTopicMetrics metrics in the documentation (https://github.com/apache/kafka/pull/11473)
MINOR: Use Exit.addShutdownHook instead of directly adding hooks to R…(https://github.com/apache/kafka/pull/12283)
KAFKA-13846: Adding overloaded metricOrElseCreate method (https://github.com/apache/kafka/pull/12121)
KAFKA-13935 Fix static usages of IBP in KRaft mode (https://github.com/apache/kafka/pull/12250)
HOTFIX: null check keys of ProducerRecord when computing sizeInBytes (https://github.com/apache/kafka/pull/12288)

aiquestion and others added 7 commits June 13, 2022 10:39
…_PROGRESS (#12140)

Reviewers: Luke Chen <showuon@gmail.com>
Reviewers: Mickael Maison <mickael.maison@gmail.com>, Tom Bentley <tbentley@redhat.com>
…11473)


Reviewers: Mickael Maison <mickael.maison@gmail.com>
…untime (#12283)


Reviewers: Mickael Maison <mickael.maison@gmail.com>, Igor Soarez  <soarez@apple.com>, Kvicii <kvicii.yu@gmail.com>
Reviewers: David Jacot <djacot@confluent.io>, Justine Olshan <jolshan@confluent.io>, Guozhang Wang <wangguoz@gmail.com>
* Set the minimum supported MetadataVersion to 3.0-IV1
* Remove MetadataVersion.UNINITIALIZED
* Relocate RPC version mapping for fetch protocols into MetadataVersion
* Replace static IBP calls with dynamic calls to MetadataCache

A side effect of removing the UNINITIALIZED metadata version is that the FeatureControlManager and FeatureImage will initialize themselves with the minimum KRaft version (3.0-IV1).

The rationale for setting the minimum version to 3.0-IV1 is so that we can avoid any cases of KRaft mode running with an old log message format (KIP-724 was introduced in 3.0-IV1). As a side-effect of increasing this minimum version, the feature level values decreased by one.

Reviewers: Jason Gustafson <jason@confluent.io>, Jun Rao <junrao@gmail.com>
…12288)

Minor followup to #12235 that adds a null check on the record key in the new ClientUtils#producerRecordSizeInBytes utility method, as there are valid cases in which we might be sending records with null keys to the Producer, such as a simple builder.stream("non-keyed-input-topic").filter(...).to("output-topic")

Reviewers: Matthias J. Sax <matthias@confluent.io>, Bill Bejeck <bill@confluent.io>
@ableegoldman ableegoldman requested a review from a team as a code owner June 14, 2022 07:51
dajac and others added 3 commits June 14, 2022 13:12
… KRaft (KIP-841, Part 2) (#12181)

This path implements [KIP-841](https://cwiki.apache.org/confluence/display/KAFKA/KIP-841%3A+Fenced+replicas+should+not+be+allowed+to+join+the+ISR+in+KRaft). Specifically, it implements the following:
* It introduces INELIGIBLE_REPLICA and NEW_LEADER_ELECTED error codes.
* The KRaft controller validates the new ISR provided in the AlterPartition request and rejects the call if any replica in the new ISR is not eligible to join the the ISR - e.g. when fenced or shutting down. The leader reverts to the last committed ISR when its request is rejected due to this.
* The partition leader also verifies that a replica is eligible before trying to add it back to the ISR. If it is not eligible, the ISR expansion is not triggered at all.
* Updates the AlterPartition API to use topic ids. Updates the AlterPartition manger to handle topic names/ids. Updates the ZK controller and the KRaft controller to handle topic names/ids depending on the version of the request used.

Reviewers: Artem Livshits <84364232+artemlivshits@users.noreply.github.com>, José Armando García Sancio <jsancio@users.noreply.github.com>, Jason Gustafson <jason@confluent.io>
#12248)

This implements KIP-827: https://cwiki.apache.org/confluence/display/KAFKA/KIP-827%3A+Expose+logdirs+total+and+usable+space+via+Kafka+API

Add TotalBytes and UsableBytes to DescribeLogDirsResponse
Add matching getters on LogDirDescription

Reviewers: Tom Bentley <tbentley@redhat.com>, Divij Vaidya<diviv@amazon.com>, Viktor Somogyi-Vass <viktorsomogyi@gmail.com>, Igor Soarez <soarez@apple.com>
The workaround is not required with mockito.

Reviewers: José Armando García Sancio <jsancio@users.noreply.github.com>, Divij Vaidya <diviv@amazon.com>, Kvicii <42023367+Kvicii@users.noreply.github.com>
@ableegoldman
Copy link
Author

@confluentinc/kafka-eng it looks like failing tests have been stalling the AK sync (or do we no longer sync on every commit?) so I'm preparing a manual sync to be ready as getting one of these commits synced through is going to be critical for our ksql release. There were no merge conflicts -- can I get a quick +1?

@ableegoldman
Copy link
Author

ableegoldman commented Jun 14, 2022

Copy link

@splett2 splett2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if no conflicts, lgtm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.