Skip to content

MINOR: Cleanups in Tools Module (3/n)#20332

Merged
chia7712 merged 4 commits into
apache:trunkfrom
sjhajharia:cleanup-tools-modules-3
Aug 19, 2025
Merged

MINOR: Cleanups in Tools Module (3/n)#20332
chia7712 merged 4 commits into
apache:trunkfrom
sjhajharia:cleanup-tools-modules-3

Conversation

@sjhajharia

@sjhajharia sjhajharia commented Aug 10, 2025

Copy link
Copy Markdown
Collaborator

This PR aims at cleaning up the tools module further by getting rid of
some extra code which can be replaced by record

Reviewers: Chia-Ping Tsai chia7712@gmail.com

@github-actions github-actions Bot added triage PRs from the community tools labels Aug 10, 2025
@sjhajharia

Copy link
Copy Markdown
Collaborator Author

Adding @chia7712 as he kindly helped with all PR reviews in this region.

@sjhajharia sjhajharia changed the title MINOR: Cleanups in Test Module (3/n) MINOR: Cleanups in Tools Module (3/n) Aug 14, 2025
@github-actions

Copy link
Copy Markdown

A label of 'needs-attention' was automatically added to this PR in order to raise the
attention of the committers. Once this issue has been triaged, the triage label
should be removed to prevent this automation from happening again.

@chia7712 chia7712 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@sjhajharia thanks for your patch

Comment thread tools/src/main/java/org/apache/kafka/tools/AclCommand.java Outdated
PrintStream err) {

@Override
public String toString() {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

how about trusting the generated toString?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

The auto generated one will also have the out and err params which the record takes in. Hence I prefered keeping this custom one.

this.topicPartition = topicPartition;
this.producerState = producerState;
}
private record OpenTransaction(TopicPartition topicPartition, ProducerState producerState) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Based on the use cases, using Map<TopicPartition, ProducerState> seems more suitable.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Sorry, but I dont cpmpletely follow here. Do we want to change the way OpenTransaction is defined?
If so, can we create a ticket and deal with the same separately as it may cause some additional changes in this file.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

yes, I will create a follow-up for it

Comment thread tools/src/main/java/org/apache/kafka/tools/reassign/ActiveMoveState.java Outdated
Comment thread tools/src/main/java/org/apache/kafka/tools/reassign/CancelledMoveState.java Outdated
Comment thread tools/src/main/java/org/apache/kafka/tools/reassign/CompletedMoveState.java Outdated
Comment thread tools/src/main/java/org/apache/kafka/tools/reassign/MissingLogDirMoveState.java Outdated
Comment thread tools/src/main/java/org/apache/kafka/tools/reassign/MissingReplicaMoveState.java Outdated

private record PluginLocation(Path path) {
@Override
public String toString() {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

ditto

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I don't think we can get rid of this toString() method.
The default Java toString would create a value like "PluginLocation[path=...]", but the expectation here is to just have the path and not the name of the class.

@github-actions github-actions Bot removed needs-attention triage PRs from the community labels Aug 19, 2025
@sjhajharia
sjhajharia requested a review from chia7712 August 19, 2025 07:51
@chia7712
chia7712 merged commit 0da9cac into apache:trunk Aug 19, 2025
22 of 24 checks passed
gaurav-narula pushed a commit to gaurav-narula/kafka that referenced this pull request Jul 20, 2026
This PR aims at cleaning up the tools module further by getting rid of
some extra code which can be replaced by `record`

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
fvaleri pushed a commit to showuon/kafka that referenced this pull request Jul 20, 2026
* Revert "Merge pull request #161 from showuon/cl3_ut"

This reverts commit 55efc8d, reversing
changes made to 1c8b6d3.

* Revert "Merge pull request #155 from showuon/cl3_share_auto_create"

This reverts commit 05f8874, reversing
changes made to 143e6cc.

* MINOR: Cleanups in Tools Module (3/n) (apache#20332)

This PR aims at cleaning up the tools module further by getting rid of
some extra code which can be replaced by `record`

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>

* MINOR: kafka-stream-groups.sh should fail quickly if the partition leader is unavailable (apache#20271)

This PR applies the same partition leader check for `StreamsGroupCommand` as
`ShareGroupCommand`  and `ConsumerGroupCommand` to avoid the command
execution timeout.

Reviewers: Lucas Brutschy <lucasbru@apache.org>

* KAFKA-19662: Allow resetting offset for unsubscribed topic in kafka-share-groups.sh (apache#20453)

The `kafka-share-groups.sh` tool checks whether a topic already has a
start-offset in the share group when resetting offsets. This is not
necessary. By removing the check, it is possible to set a start offset
for a topic which has not yet but will be subscribed in the future, thus
initialising the consumption point.

There is still a small piece of outstanding work to do with resetting
the offset for a non-existent group which should also create the group.
A subsequent PR will be used to address that.

Reviewers: Jimmy Wang <48462172+JimmyWang6@users.noreply.github.com>,
Lan Ding <isDing_L@163.com>, Apoorv Mittal <apoorvmittal10@gmail.com>

* KAFKA-19662: Reset share group offsets for unsubscribed topics (apache#20708)

This PR allows the kafka-share-groups.sh --reset-offsets tool to be used
to set offsets for topics which are not currently subscribed in a share
group. It also works if the share group does not yet exist. This brings
the capability in line with the equivalent function in
Kafka-consumer-groups.sh. The primary purpose is to allow offsets to be
set before the share group is first used as a way of initialising in a
known state.

Reviewers: Jimmy Wang <48462172+JimmyWang6@users.noreply.github.com>,
 Kuan-Po Tseng <brandboat@gmail.com>, Apoorv Mittal
 <apoorvmittal10@gmail.com>

---------

Co-authored-by: Sanskar Jhajharia <sjhajharia@confluent.io>
Co-authored-by: jimmy <wangzhiwang611@gmail.com>
Co-authored-by: Andrew Schofield <aschofield@confluent.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants