Commit Graph

438 Commits

Author SHA1 Message Date
Mahsa Seifikar 8468317dac
KAFKA-19467; Add a metric for controller thread idleness (#20422)
CI / build (push) Waiting to run Details
This change adds the metric ControllerEventManager::AvgIdleRatio which
measures the amount of time the controller spends blocked waiting for
events vs the amount of time spent processing events. A value of 1.0
means that the controller spent the entire interval blocked waiting for
events.

Reviewers: José Armando García Sancio <jsancio@apache.org>, Kevin Wu
 <kevin.wu2412@gmail.com>, Alyssa Huang <ahuang@confluent.io>, TengYao
 Chi <frankvicky@apache.org>, Reviewers: Chia-Ping Tsai
 <chia7712@apache.org>
2025-10-02 14:02:47 -04:00
Ken Huang 7d098cfbbd
KAFKA-17876/ KAFKA-19150 Rename AssignmentsManager and RemoteStorageThreadPool metrics (#20265)
Rename org.apache.kafka.server:type=AssignmentsManager and
org.apache.kafka.storage.internals.log.RemoteStorageThreadPool metrics
for the consist, these metrics should be

- `kafka.log.remote:type=...`
- `kafka.server:type=...`

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2025-09-29 01:24:38 +08:00
Ken Huang 41611b4bd2
MINOR: Followup KAFKA-19112 document updated (#20492)
Some sections are not very clear, and we need to update the
documentation.

Reviewers: TengYao Chi <kitingiao@gmail.com>, Jun Rao
 <junrao@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2025-09-28 19:06:06 +08:00
Ken Huang 01fccd3513
KAFKA-15186 AppInfo metrics don't contain the client-id (#20493)
All Kafka component register AppInfo metrics to track the application
start time or commit-id etc. These metrics are useful for monitoring and
debugging. However, the AppInfo doesn't provide client-id, which is an
important information for custom metrics reporter.

The AppInfoParser class registers a JMX MBean with the provided
client-id, but when it adds metrics to the Metrics registry, the
client-id is not included. This KIP aims to add the client-id as a tag.

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2025-09-21 16:28:03 +08:00
Lan Ding daa7aae0c1
KAFKA-19604 Document controller.quorum.auto.join.enable config in upgrade.html (#20409)
Document controller.quorum.auto.join.enable config in upgrade.html

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2025-09-16 16:34:14 +08:00
Matthias J. Sax aa3a64e92c KAFKA-19668: update upgrade docs (#20484)
Docs change for KAFKA-19668 bug fix.

Reviewers: Bill Bejeck <bill@confluent.io>, Lucas Brutschy
<lbrutschy@confluent.io>
2025-09-08 13:36:03 -07:00
Ken Huang 0a12eaa80e
KAFKA-19112 Unifying LIST-Type Configuration Validation and Default Values (#20334)
We add the three main changes in this PR

- Disallowing null values for most LIST-type configurations makes sense,
since users cannot explicitly set a configuration to null in a
properties file. Therefore, only configurations with a default value of
null should be allowed to accept null.
- Disallowing duplicate values is reasonable, as there are currently no
known configurations in Kafka that require specifying the same value
multiple times. Allowing duplicates is both rare in practice and
potentially confusing to users.
- Disallowing empty list, even though many configurations currently
accept them. In practice, setting an empty list for several of these
configurations can lead to server startup failures or unexpected
behavior. Therefore, enforcing non-empty lists helps prevent
misconfiguration and improves system robustness.
These changes may introduce some backward incompatibility, but this
trade-off is justified by the significant improvements in safety,
consistency, and overall user experience.

Additionally, we introduce two minor adjustments:

- Reclassify some STRING-type configurations as LIST-type, particularly
those using comma-separated values to represent multiple entries. This
change reflects the actual semantics used in Kafka.
- Update the default values for some configurations to better align with
other configs.
These changes will not introduce any compatibility issues.

Reviewers: Jun Rao <junrao@gmail.com>, Chia-Ping Tsai
 <chia7712@gmail.com>
2025-09-06 01:25:55 +08:00
Lan Ding 4f2114a49e
KAFKA-19645 add a lower bound to num.replica.fetchers (#20414)
Add a lower bound to num.replica.fetchers.

Reviewers: PoAn Yang <payang@apache.org>, TaiJuWu <tjwu1217@gmail.com>,
 Ken Huang <s7133700@gmail.com>, jimmy <wangzhiwang611@gmail.com>,
 Jhen-Yung Hsu <jhenyunghsu@gmail.com>, Chia-Ping Tsai
 <chia7712@gmail.com>
2025-08-31 11:12:57 +08:00
Andrew Schofield e6f3efc914
KAFKA-19635: Minor docs tweaks (#20434)
Improve the wording in the upgrade doc slightly. Also fix a tiny
annoyance in the output from the message generator.

Reviewers: Apoorv Mittal <apoorvmittal10@gmail.com>
2025-08-28 18:52:04 +01:00
Andrew Schofield 50009cc76a
KAFKA-19635: KIP-1147 changes for upgrade.html (#20415)
Updates to `docs/upgrade.html` for

https://cwiki.apache.org/confluence/display/KAFKA/KIP-1147:+Improve+consistency+of+command-line+arguments.

Reviewers: Apoorv Mittal <apoorvmittal10@gmail.com>
2025-08-28 16:24:45 +01:00
Federico Valeri f97b95c60a
KAFKA-19498 Add include argument to ConsumerPerformance tool (#20221)
This patch adds the include argument to ConsumerPerformance tool.

ConsoleConsumer and ConsumerPerformance serve different purposes but
share common functionality for message consumption. Currently, there's
an inconsistency in their command-line interfaces:

- ConsoleConsumer supports an --include argument that allows users to
specify a regular expression pattern to filter topics for consumption
- ConsumerPerformance lacks this topic filtering capability, requiring
users to specify a single topic explicitly via --topic argument

This inconsistency creates two problems:

- Similar tools should provide similar topic selection capabilities for
better user experience
- Users cannot test consumer performance across multiple topics or
dynamically matching topic sets, making it difficult to test realistic
scenarios

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2025-08-25 04:15:37 +08:00
Ming-Yen Chung 9d5dd079fe
KAFKA-18068 Document deprecation of PARTITIONER_ADPATIVE_PARTITIONING_ENABLE_CONFIG (#20322)
Document deprecation of PARTITIONER_ADPATIVE_PARTITIONING_ENABLE_CONFIG
in `upgrade.html`, which was missed in #20317

Reviewers: Ken Huang <s7133700@gmail.com>, Chia-Ping Tsai
 <chia7712@gmail.com>
2025-08-08 02:30:24 +08:00
Jared Harley 66b3c07954
KAFKA-19576 Fix typo in state-change log filename after rotate (#20269)
The `state-change.log` file is being incorrectly rotated to
`stage-change.log.[date]`. This change fixes the typo to have the log
file correctly rotated to `state-change.log.[date]`

_No functional changes._

Reviewers: Mickael Maison <mickael.maison@gmail.com>, Christo Lolov
 <lolovc@amazon.com>, Luke Chen <showuon@gmail.com>, Ken Huang
 <s7133700@gmail.com>, TengYao Chi <kitingiao@gmail.com>, Chia-Ping Tsai
 <chia7712@gmail.com>
2025-08-05 12:22:54 +08:00
Luke Chen 657b496f3c
MINOR: improve the min.insync.replicas doc (#20237)
Along with the change: https://github.com/apache/kafka/pull/17952

([KIP-966](https://cwiki.apache.org/confluence/display/KAFKA/KIP-966%3A+Eligible+Leader+Replicas)),
the semantics of `min.insync.replicas` config has small change, and add
some constraints. We should document them clearly.

Reviewers: Jun Rao <junrao@gmail.com>, Calvin Liu <caliu@confluent.io>,
 Mickael Maison <mickael.maison@gmail.com>, Paolo Patierno
 <ppatierno@live.com>, Federico Valeri <fedevaleri@gmail.com>, Chia-Ping
 Tsai <chia7712@gmail.com>
2025-08-05 00:22:13 +08:00
Federico Valeri f5fcc4188f
KAFKA-19503: Deprecate MX4j support (#20208)
CI / build (push) Waiting to run Details
This feature adds maintenance burden and potential security concerns
while providing no apparent value to the Kafka community. See
[KIP-1193](https://cwiki.apache.org/confluence/x/dAxJFg) for more
details.

Reviewers: TengYao Chi <frankvicky@apache.org>, Ken Huang
 <s7133700@gmail.com>

---------

Signed-off-by: Federico Valeri <fedevaleri@gmail.com>
2025-07-22 20:36:24 +08:00
S.Y. Wang 22bef988d4
KAFKA-18926 KafkaPrincipalBuilder should extend KafkaPrincipalSerde (#19987)
In KRaft, custom KafkaPrincipalBuilder instances must implement
KafkaPrincipalSerde to support the forward mechanism. Currently, this
requirement is not enforced and relies on the developer's attention.

With this patch, we can prevent incorrect implementations at compile
time.

Reviewers: Ken Huang <s7133700@gmail.com>, TengYao Chi
 <kitingiao@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2025-06-22 22:01:03 +08:00
Ken Huang 297bc40d96
MINOR: The upgrade.html file contains duplicate IDs on the same page (#19996)
According to correct HTML syntax, IDs on the same page should be unique,
so we should fix this.

Reviewers: TengYao Chi <frankvicky@apache.org>
2025-06-19 17:18:58 +08:00
Kuan-Po Tseng 812ddee2b3
MINOR: document deprecated remote log manager thread pool config (#19989)
Add a note to the upgrade documentation indicating that
`remote.log.manager.thread.pool.size` has been deprecated. Users should
now use `remote.log.manager.follower.thread.pool.size` instead.

Reviewers: PoAn Yang <payang@apache.org>, Chia-Ping Tsai
 <chia7712@gmail.com>, Yung <yungyung7654321@gmail.com>, Xuan-Zhang Gong
 <gongxuanzhangmelt@gmail.com>, TengYao Chi <kitingiao@gmail.com>, Ken
 Huang <s7133700@gmail.com>
2025-06-19 17:17:50 +08:00
Xuan-Zhang Gong b8fc96272e
KAFKA-18627 Deprecated "org.apache.kafka.disallowed.login.modules" (#18683)
CI / build (push) Waiting to run Details
Fix https://issues.apache.org/jira/browse/KAFKA-18627 and update same
test case


[KIP-link](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=340037077)

⚠️ This PR cannot be merged at the moment because KIPs for version 4.1
are already frozen. It will need to wait for version 4.2.

update upgrade.html


![image](https://github.com/user-attachments/assets/00bd6579-6914-42a7-a1b8-4a0b0a8cc3c3)

add configuration doc

![image](https://github.com/user-attachments/assets/e20d5c97-29c6-4fe4-a41a-58267179e4e0)

Reviewers: TaiJuWu <tjwu1217@gmail.com>, Ken Huang <s7133700@gmail.com>,
 Luke Chen <showuon@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2025-06-18 23:05:30 +08:00
Calvin Liu b420e4092e
MINOR: ELR release note for 4.1 (#19909)
CI / build (push) Waiting to run Details
Mention that ELR will be enabled by default on new clusters in 4.1

Reviewers: Justine Olshan <jolshan@confluent.io>
2025-06-09 17:05:20 -07:00
Andrew Schofield 016a4a6c4c
KAFKA-19353: Upgrade note and initial docs for KIP-932 (#19863)
CI / build (push) Waiting to run Details
This is the initial documentation for KIP-932 preview in AK 4.1. The aim
is to get very minimal docs in before the cutoff. Longer term, more
comprehensive documentation will be provided for AK 4.2.

The PR includes:
* Generation of group-level configuration documentation
* Add link to KafkaShareConsumer to API docs
* Add a summary of share group rational to design docs
* Add basic operations information for share groups to ops docs
* Add upgrade note describing arrival of KIP-932 preview in 4.1

Reviewers: Apoorv Mittal <apoorvmittal10@gmail.com>

---------

Co-authored-by: Apoorv Mittal <apoorvmittal10@gmail.com>
2025-06-03 13:23:11 +01:00
TengYao Chi af11146bc9
MINOR: Add more description to KIP-1148 (#19768)
Given that we will remove the `log.cleaner.enable`, the related config
`log.cleaner.threads` will also have the respective adjustment.  This
patch will add a description to it.

For more details:

https://issues.apache.org/jira/browse/KAFKA-13610?focusedCommentId=17950756&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17950756

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2025-05-21 14:58:55 +08:00
Andrew Schofield 7b8633e36f
MINOR: Add deprecation of listConsumerGroups to upgrade.html (#19684)
CI / build (push) Waiting to run Details
As part of KIP-1043, `Admin.listConsumerGroups()` and variants have been
deprecated. This is because there are now 4 types of group and listing
has been consolidated under `Admin.listGroups()`. This PR adds the
deprecation information to the upgrade documentation.

Reviewers: Lianet Magrans <lmagrans@confluent.io>
2025-05-12 18:08:11 +01:00
TengYao Chi 73afcc9b69
KAFKA-13610: Deprecate log.cleaner.enable configuration (#19472)
JIRA: KAFKA-13610  This patch deprecates the `log.cleaner.enable`
configuration. It's part of
[KIP-1148](https://cwiki.apache.org/confluence/x/XAyWF).

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>, PoAn Yang
 <payang@apache.org>, Ken Huang <s7133700@gmail.com>, Jhen-Yung Hsu
 <jhenyunghsu@gmail.com>
2025-04-16 10:27:44 +08:00
Dmitry Werner 7863b35064
KAFKA-14485: Move LogCleaner to storage module (#19387)
Move LogCleaner and related classes to storage module and rewrite in
Java.

Reviewers: Mickael Maison <mickael.maison@gmail.com>, Jun Rao <junrao@gmail.com>
2025-04-11 09:21:05 -07:00
PoAn Yang c5f8ae0424
KAFKA-16260: Deprecate window.size.ms and window.inner.class.serde in StreamsConfig (#18297)
The `window.size.ms` and `window.inner.class.serde` are not a true
KafkaStreams config, and are ignored when set from a KStreams
application. Both belong on the client.

Reviewers: Lucas Brutschy <lbrutschy@confluent.io>
Signed-off-by: PoAn Yang <payang@apache.org>
2025-03-31 14:15:37 +02:00
TengYao Chi efa6f7ff47
KAFKA-18993 Remove confusing notable change section from upgrade.html (#19212)
Currently, the "Notable changes in 4.0.0" for the client is very confusing. We should remove it.

Reviewers: mingdaoy <mingdaoy@gmail.com>, Luke Chen <showuon@gmail.com>, Ken Huang <s7133700@gmail.com>, David Jacot <djacot@confluent.io>, Chia-Ping Tsai <chia7712@gmail.com>
2025-03-16 02:51:49 +08:00
TengYao Chi e1d980a3d1
MINOR: Remove unused ConfigCommandOptions#forceOpt (#19170)
This field is unused, and we should remove it.

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2025-03-13 00:04:22 +08:00
mingdaoy f0f7382ff7
KAFKA-18422 Adjust Kafka client upgrade path section (#19119)
This patch adds a section about upgrading clients to the upgrade notes.

Reviewers: Ismael Juma <ismael@juma.me.uk>, David Jacot <djacot@confluent.io>
2025-03-12 06:55:08 -07:00
Ken Huang cf07e6b1f6
KAFKA-18074: Add kafka client compatibility matrix (#18091)
Add new section for Kafka 4.0 compatibility metrics for user, so user
can check server and client in this section.

Reviewers: Divij Vaidya <diviv@amazon.com>, Matthias J. Sax <matthias@confluent.io>
2025-03-11 18:38:37 -07:00
Luke Chen bb6d151de9
MINOR: improve upgrade to v4.0.0 doc (#19172)
In "Upgrading to 4.0.0 from any version 0.8.x through 3.9.x" section, we
directly give instructions about [Upgrading to KRaft-based
clusters](https://kafka.apache.org/documentation/#upgrade_390_kraft),
but there might still be some users under ZK cluster before upgrading to
v4.0.0. We need to make it clear that they need to upgrade to KRaft mode
first before upgrading to v4.0.0 in "Upgrading to 4.0.0 from any version
0.8.x through 3.9.x" section.

Reviewers: TengYao Chi <kitingiao@gmail.com>, Ken Huang <s7133700@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2025-03-11 15:48:42 +08:00
Mahsa Seifikar 75260cf92c
MINOR: Improve grammar and clarity in upgrade.html (#19141)
This PR addresses minor grammar and clarity issues in upgrade.html doc.

Reviewers: mingdaoy <mingdaoy@gmail.com>, Colin P. McCabe <cmccabe@apache.org>, TengYao Chi <kitingiao@gmail.com>, Ken Huang <s7133700@gmail.com>, Jhen-Yung Hsu <jhenyunghsu@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2025-03-10 14:27:20 +08:00
Ken Huang b129ed4566
MINOR: Use immutable KIP link (#19153)
Reviewers: TengYao Chi <kitingiao@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2025-03-09 23:42:33 +08:00
TengYao Chi adbd2823ed
MINOR: Adjust ToC of zk2kraft and fix wrong section number of docker (#19146)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2025-03-09 08:55:50 +08:00
Mahsa Seifikar 947c414a8c
MINOR: Fix missing argument in kafka-features.sh upgrade doc (#19160)
Running `bin/kafka-features.sh upgrade --release-version 4.0` results in
the following error. This PR fixes the issue by adding the required
argument.

`kafka-features: error: one of the arguments --bootstrap-server
--bootstrap-controller is required.`

Reviewers: Colin P. McCabe <cmccabe@apache.org>
2025-03-07 13:57:58 -08:00
David Jacot b4cc88f6c4
MINOR: Update upgrade steps (#19132)
Using `bin/kafka-features.sh upgrade --metadata 4.0` to finalize the
upgrade is deprecated and furthermore it does not bump all the other
feature flags. Hence we should recommend to use `bin/kafka-features.sh
upgrade --release-version 4.0` in the documentation. This change was
introduced in [KIP-1022: Formatting and Updating
Features](https://cwiki.apache.org/confluence/display/KAFKA/KIP-1022%3A+Formatting+and+Updating+Features).

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>, Ismael Juma <ismael@juma.me.uk>
2025-03-06 02:22:03 -08:00
co63oc 3d7ac0c3d1
MINOR: Fix typos in multiple files (#19102)
Fix typos in multiple files

Reviewers: Andrew Schofield <aschofield@confluent.io>
2025-03-05 14:27:32 +00:00
Kuan-Po Tseng be9c4a4fab
KAFKA-18422 add link of KIP-1124 to "rolling upgrade" section (#19097)
Add client upgrade documentation, for more information, please refer to https://cwiki.apache.org/confluence/x/y4kgF

Reviewers: TengYao Chi <kitingiao@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2025-03-05 01:14:21 +08:00
TengYao Chi 1fed928a0b
MINOR: Add a separate page for zk2kraft.html (#18961)
Reviewers: mingdaoy <mingdaoy@gmail.com>, Ken Huang <s7133700@gmail.com>, Ismael Juma <ismael@juma.me.uk>, Chia-Ping Tsai <chia7712@gmail.com>
2025-02-26 05:39:30 +08:00
Calvin Liu 009bee75ab
KIP-966 part 1 release doc (#18898)
Add notes to explain how ELR and how to manage ELR.

Reviewers: Colin P. McCabe <cmccabe@apache.org>
2025-02-24 15:19:18 -08:00
Ismael Juma 6aab304542
MINOR: Update upgrade notes for 4.0.0 (#18960)
Details:
1. Upgrades to 4.0.x are only supported from 3.3.x and for kraft mode clusters
2. Add rolling upgrade instructions for 4.0.x
3. Clarify the message for zk to kraft migrations
4. Remove all the upgrade instructions for older versions (they can still be found in the upgrade notes for older releases)

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>, David Jacot <djacot@confluent.io>
2025-02-19 09:32:50 -08:00
Kaushik Raina 469c55cf02
Add TransactionAbortableException and Timeout Exception handling instruction in docs (#18942)
Add instruction for handing TransactionAbortableException and TimeoutException at application side.

Reviewers: Justine Olshan <jolshan@confluent.io>
2025-02-19 09:15:47 -08:00
David Jacot d847d5c464
MINOR: Tweak default group coordinator config & upgrade notes (#18948)
This patch changes the default value of `group.coordinator.threads` to `4` and sets it priority to `HIGH`. This change makes it consistent with how we handle `num.network.threads` and `num.io.threads`. The patch also tweaks the upgrade notes.

Reviewers: Ismael Juma <ismael@juma.me.uk>
2025-02-18 20:05:52 +01:00
Luke Chen 1f47a78a10
MINOR: add docs for "org.apache.kafka.sasl.oauthbearer.allowed.urls" (#18938)
add docs for "org.apache.kafka.sasl.oauthbearer.allowed.urls"

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>, Manikumar Reddy <manikumar.reddy@gmail.com>
2025-02-18 16:47:43 +08:00
Justine Olshan 48283ad2e5
MINOR: Add release notes for Transactions Server Side Defense (KIP-890) (#18896)
Add some notes about upgrading and performance

Reviewers: David Jacot <djacot@confluent.io>
2025-02-14 08:41:08 -08:00
Lianet Magrans c465cf6b4b
KAFKA-17298: Update upgrade notes for 4.0 KIP-848 (#18756)
Reviewers: David Jacot <djacot@confluent.io>
2025-02-13 11:51:56 -05:00
PoAn Yang c1a813b740
MINOR: add missing <li> to upgrade.html (#18817)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2025-02-07 00:11:07 +08:00
Ming-Yen Chung 9d6faf0283
KAFKA-18674 Document the incompatible changes in parsing --bootstrap-server (#18751)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2025-02-03 13:57:32 +08:00
TengYao Chi 7e86bd8281
KAFKA-18229: Move configs out of "kraft" directory (#18389)
Reviewers: Mickael Maison <mickael.maison@gmail.com>, Ismael Juma <ismael@juma.me.uk>, José Armando García Sancio <jsancio@apache.org>
2025-01-22 15:47:57 +01:00
Jason Taylor 54fe0f0135
KAFKA-16368: Add a new constraint for segment.bytes to min 1MB for KIP-1030 (#18140)
Reviewers: Divij Vaidya <diviv@amazon.com>
2025-01-16 16:07:00 +01:00