Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KAFKA-14785: Connect offset read REST API #13434

Merged
merged 11 commits into from
Apr 2, 2023

Conversation

yashmayya
Copy link
Contributor

Committer Checklist (excluded from commit message)

  • Verify design and implementation
  • Verify test coverage and CI build status
  • Verify documentation (including upgrade notes)

@C0urante C0urante added connect kip Requires or implements a KIP labels Mar 22, 2023
Copy link
Contributor

@C0urante C0urante left a comment

Choose a reason for hiding this comment

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

Thanks Yash, this is looking great. I've finished a full pass of the changes to the main codebase; I'll probably wait to look at tests until the bigger questions/suggestions have been addressed.

…orOffsets; use connector class loader while retrieving offsets in Worker; refactor Worker::connectorOffsets to be an async API; use timeout for admin client request; move sink related keys from ConnectorOffset to SinkUtils; log and ignore offsets with unexpected partition key formats
Copy link
Contributor Author

@yashmayya yashmayya left a comment

Choose a reason for hiding this comment

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

Thanks for the review Chris!

Copy link
Contributor

@C0urante C0urante left a comment

Choose a reason for hiding this comment

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

Thanks Yash, looking great! Just a few more minor comments and then it should be time to start looking at the tests for this.

…erderRequestHandler::completeRequest; replace usages of HerderRequestHandler::completeOrForwardRequest with HerderRequestHandler::completeRequest for requests that don't involve forwarding
… duplicate partition key processing logic from OffsetBackingStore implementations to OffsetUtils; add unit tests
Copy link
Contributor

@C0urante C0urante left a comment

Choose a reason for hiding this comment

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

Thanks Yash, looking great! Going to start going over testing changes next; all the comments here are fairly minor.

Copy link
Contributor

@C0urante C0urante left a comment

Choose a reason for hiding this comment

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

Phew, done with the tests! This is looking really good.

@C0urante
Copy link
Contributor

Looking great! Few small comments left and then this should be good to merge.

…andaloneHerder to avoid concurrent calls to Worker; fix failing unit test in AbstractHerderTest
Copy link
Contributor

@C0urante C0urante left a comment

Choose a reason for hiding this comment

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

LGTM. Great work, Yash.

@C0urante C0urante merged commit 970dea6 into apache:trunk Apr 2, 2023
@C0urante
Copy link
Contributor

C0urante commented Apr 2, 2023

FYI I'm going to be taking next week off relaxing on a warm beach somewhere. I don't think we'll have time to get the write/reset API merged in time for the April 12th feature freeze unless someone else can review the PRs for those changes; it may be worth pinging somebody for review on them for visibility.

* @deprecated use {@link #KafkaOffsetBackingStore(Supplier, Supplier)} instead
*/
@Deprecated
public KafkaOffsetBackingStore() {
Copy link
Contributor

Choose a reason for hiding this comment

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

Sorry for making noise on this PR. out of curiosity, should we remove deprecated constructors from KafkaStatusBackingStore and KafkaConfigBackingStore too? not sure whether those internal classes need the deprecation cycle?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@chia7712 I've raised this PR to remove the other two deprecated constructors - #15865 (and also added some context in the PR on why deprecation was introduced rather than removal even though these classes are not in the public API).

chia7712 pushed a commit that referenced this pull request May 17, 2024
…re classes (#15865)

- These constructors were deprecated over 3 years ago in KAFKA-10021: Changed Kafka backing stores to use shared admin client to get end offsets and create topics #9780.
- While these classes are not a part of Connect's public API, deprecation was still introduced instead of outright removal because they are useful utility classes that might've been used outside of Connect.
- The KafkaOffsetBackingStore's deprecated constructor was removed in KAFKA-14785: Connect offset read REST API #13434.
- This patch removes the deprecated constructors for KafkaConfigBackingStore and KafkaStatusBackingStore.

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
rreddy-22 pushed a commit to rreddy-22/kafka-rreddy that referenced this pull request May 24, 2024
…re classes (apache#15865)

- These constructors were deprecated over 3 years ago in KAFKA-10021: Changed Kafka backing stores to use shared admin client to get end offsets and create topics apache#9780.
- While these classes are not a part of Connect's public API, deprecation was still introduced instead of outright removal because they are useful utility classes that might've been used outside of Connect.
- The KafkaOffsetBackingStore's deprecated constructor was removed in KAFKA-14785: Connect offset read REST API apache#13434.
- This patch removes the deprecated constructors for KafkaConfigBackingStore and KafkaStatusBackingStore.

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
TaiJuWu pushed a commit to TaiJuWu/kafka that referenced this pull request Jun 8, 2024
…re classes (apache#15865)

- These constructors were deprecated over 3 years ago in KAFKA-10021: Changed Kafka backing stores to use shared admin client to get end offsets and create topics apache#9780.
- While these classes are not a part of Connect's public API, deprecation was still introduced instead of outright removal because they are useful utility classes that might've been used outside of Connect.
- The KafkaOffsetBackingStore's deprecated constructor was removed in KAFKA-14785: Connect offset read REST API apache#13434.
- This patch removes the deprecated constructors for KafkaConfigBackingStore and KafkaStatusBackingStore.

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
gongxuanzhang pushed a commit to gongxuanzhang/kafka that referenced this pull request Jun 12, 2024
…re classes (apache#15865)

- These constructors were deprecated over 3 years ago in KAFKA-10021: Changed Kafka backing stores to use shared admin client to get end offsets and create topics apache#9780.
- While these classes are not a part of Connect's public API, deprecation was still introduced instead of outright removal because they are useful utility classes that might've been used outside of Connect.
- The KafkaOffsetBackingStore's deprecated constructor was removed in KAFKA-14785: Connect offset read REST API apache#13434.
- This patch removes the deprecated constructors for KafkaConfigBackingStore and KafkaStatusBackingStore.

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
connect kip Requires or implements a KIP
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants