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

[all] Changed Kafka from LI's 2.4.1.78 to Apache's 2.4.1 #1000

Merged
merged 4 commits into from
Nov 4, 2024

Conversation

FelixGV
Copy link
Contributor

@FelixGV FelixGV commented May 22, 2024

Several code changes to make it work.

Introduced a new PubSubSecurityProtocol to replace all usage of Kafka's SecurityProtocol enum, since that one has a different package name between the Apache and LinkedIn forks of Kafka.

AK uses: org.apache.kafka.common.security.auth.SecurityProtocol
While LI uses: org.apache.kafka.common.protocol.SecurityProtocol

TODO: Decide what to do about the producer flush API not having support for passing a time out in Apache Kafka.

This is a step in the direction of solving #998.

How was this PR tested?

GHCI... (needs more testing though...)

Does this PR introduce any user-facing changes?

  • No. You can skip the rest of this section.
  • Yes. Make sure to explain your proposed changes and call out the behavior change.

Copy link
Contributor

@sushantmane sushantmane left a comment

Choose a reason for hiding this comment

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

I think PubSubSecurityProtocol is missing from the commit

@FelixGV
Copy link
Contributor Author

FelixGV commented May 22, 2024

I think PubSubSecurityProtocol is missing from the commit

Duh 😅 ... I pushed it up now... let's see if it works 💥 🤞

@FelixGV
Copy link
Contributor Author

FelixGV commented Jun 4, 2024

Closing temporarily. Will put up a separate PR to refactor the VeniceWriter's close routine, so that it stops relying on the flush with timeout API. Then I'll rebase the current PR on top of that other change.

@FelixGV FelixGV closed this Jun 4, 2024
@FelixGV FelixGV reopened this Jun 7, 2024
@FelixGV FelixGV force-pushed the apache_kafka_migration branch 3 times, most recently from 9fa33d8 to 4c01770 Compare June 7, 2024 16:35
@FelixGV
Copy link
Contributor Author

FelixGV commented Jun 7, 2024

Re-opened this PR, and rebased it on top of #1014, to solve the usage of the flush with timeout API, which does not exist in Apache Kafka. This should be good to go, I think...

sushantmane
sushantmane previously approved these changes Jun 7, 2024
Copy link
Contributor

@sushantmane sushantmane left a comment

Choose a reason for hiding this comment

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

LGTM!

@adamxchen
Copy link
Collaborator

Hey @FelixGV , do you have time to rebase from main and get your PR merged? 🚀

@FelixGV
Copy link
Contributor Author

FelixGV commented Aug 16, 2024

Hey @FelixGV , do you have time to rebase from main and get your PR merged? 🚀

Sorry, I missed your comment. The reason this PR is on hold is that we need to make some changes to our proprietary wrappers (MPs) in order to be able to pull in this change safely... @sushantmane got started and found some issues, and I'm planning to continue that work, but I haven't had a chance yet. Hoping to get to it soon.

But in the meantime, it means this PR is blocked...

@FelixGV
Copy link
Contributor Author

FelixGV commented Aug 29, 2024

I will close this one temporarily to jump on something else, but I do plan to get back to it soon-ish.

@FelixGV FelixGV closed this Aug 29, 2024
@FelixGV FelixGV reopened this Sep 30, 2024
Several code changes to make it work.

Introduced a new PubSubSecurityProtocol to replace all usage of
Kafka's SecurityProtocol enum, since that one has a different
package name between the Apache and LinkedIn forks of Kafka.

AK uses: org.apache.kafka.common.security.auth.SecurityProtocol
While LI uses: org.apache.kafka.common.protocol.SecurityProtocol
build.gradle Show resolved Hide resolved
@FelixGV FelixGV enabled auto-merge (squash) November 4, 2024 17:50
@FelixGV FelixGV changed the title [all] Changed Kafka from LI's 2.4.1.65 to Apache's 2.4.1 [all] Changed Kafka from LI's 2.4.1.78 to Apache's 2.4.1 Nov 4, 2024
Copy link
Contributor

@sushantmane sushantmane left a comment

Choose a reason for hiding this comment

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

LGTM! Thanks, @FelixGV!

@FelixGV FelixGV merged commit af00080 into linkedin:main Nov 4, 2024
45 checks passed
@FelixGV
Copy link
Contributor Author

FelixGV commented Nov 4, 2024

Awesome, thanks @sushantmane !

sushantmane added a commit that referenced this pull request Nov 5, 2024
FelixGV added a commit to FelixGV/venice that referenced this pull request Nov 6, 2024
This is a second attempt at the change from PR linkedin#1000.

Several code changes to make it work.

Introduced a new PubSubSecurityProtocol to replace all usage of
Kafka's SecurityProtocol enum, since that one has a different
package name between the Apache and LinkedIn forks of Kafka.

AK uses: org.apache.kafka.common.security.auth.SecurityProtocol
While LI uses: org.apache.kafka.common.protocol.SecurityProtocol
FelixGV added a commit that referenced this pull request Nov 6, 2024
This is a second attempt at the change from PR #1000.

Several code changes to make it work.

Introduced a new PubSubSecurityProtocol to replace all usage of
Kafka's SecurityProtocol enum, since that one has a different
package name between the Apache and LinkedIn forks of Kafka.

AK uses: org.apache.kafka.common.security.auth.SecurityProtocol
While LI uses: org.apache.kafka.common.protocol.SecurityProtocol
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.

4 participants