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-18049 Upgrade the caffeine version to 3.1.1 #17879

Open
wants to merge 3 commits into
base: trunk
Choose a base branch
from

Conversation

m1a2st
Copy link
Contributor

@m1a2st m1a2st commented Nov 20, 2024

Jira: https://issues.apache.org/jira/browse/KAFKA-18049
as title

Committer Checklist (excluded from commit message)

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

@github-actions github-actions bot added build Gradle build or GitHub Actions small Small PRs labels Nov 20, 2024
@divijvaidya
Copy link
Contributor

Can you also please reason about any breaking changes between 2.x and 3.x that we should know about? For your reference, there is only one cache in Kafka code base that uses Caffeine, so it should be easy to reason about it.

@divijvaidya divijvaidya added the dependencies Pull requests that update a dependency file label Nov 20, 2024
@mimaison
Copy link
Member

With version 3, do we still need to exclude checker-qual? https://github.com/mimaison/kafka/blob/trunk/build.gradle#L2278-L2280

@ben-manes
Copy link

The exclusion was a preference as not used at runtime. It is still a dependency and that pr contains details.

From your usage, I don’t recall any changes you might need to be aware of.

@m1a2st
Copy link
Contributor Author

m1a2st commented Nov 21, 2024

Kafka only use in RemoteIndexCache, In caffeine 3.X version, I think the change we should know is

  • CacheWriter usages can be replaced by Map computations and Caffeine.evictionListener in 3.0.0
  • Update the least support version to Java11 in 3.0.0
  • Fixed Map.equals when the traversal triggers an eviction and the subset of live entries matches in 3.1.0
  • Improved the frequency sketch by better utilizing the cpu cache line to reduce memory accesses 3.1.2
  • Improved builder construction time in 3.1.7

If I have missed anything, feel free to add or supplement further.

@m1a2st
Copy link
Contributor Author

m1a2st commented Nov 22, 2024

I will review the failed tests to determine if any changes in Caffeine 3.X version behavior caused the failures.

  • FAILED ❌ RemoteIndexCacheTest > testReloadCacheAfterClose()
  • FAILED ❌ RemoteIndexCacheTest > testCorrectnessForCacheAndIndexFilesWhenResizeCache()

@m1a2st m1a2st changed the title KAFKA-18049 Upgrade the caffeine version to 3.1.8 KAFKA-18049 Upgrade the caffeine version to 3.1.1 Nov 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Gradle build or GitHub Actions dependencies Pull requests that update a dependency file small Small PRs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants