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

feat: update spring, support jedis cluster pipeline #869

Closed
wants to merge 6 commits into from

Conversation

Roiocam
Copy link
Contributor

@Roiocam Roiocam commented Mar 22, 2024

Motivation

Resolve #865 at 2.8.x

  • 升级相关依赖
  • 支持 Jedis Cluster Pipeline
  • 新增依赖收敛插件,避免依赖传递(Transitive dependency)导致不同版本的 Spring
  • Redisson 兼容 Kryo4
  • 修复部分缓存穿透保护单测的 flaky

@Roiocam Roiocam force-pushed the update-spring branch 2 times, most recently from 5b2c109 to 1c4dfd9 Compare March 22, 2024 10:27
@Roiocam Roiocam closed this Mar 22, 2024
@Roiocam Roiocam reopened this Mar 22, 2024
AtomicInteger loadSuccess = new AtomicInteger(0);
Function loader = k -> {
final Duration SHORT_PROTECT_DURATION = Duration.ofMillis(1);
final Duration LONG_PROTECT_DURATION = Duration.ofSeconds(60);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

穿透保护相关的单测涉及到线程执行效率都比较 flaky,我重写了一版,应该不会改变语义

@areyouok
Copy link
Collaborator

现在另一个pr里面已经能比较好put all的pipeline问题,那么升级依赖是否还有必要性?并不是spring、jedis有升级这边就同步升级的,而是仅在必要的时候升级。否则升级2.8了,但是又看不到新功能,反而兼容性会有所变更,意义就不大。

另外,其它的几个修改点,是否互相相关?如果不是,我建议拆一下,否则这个pr太大了,不好review。

@Roiocam
Copy link
Contributor Author

Roiocam commented Mar 26, 2024

现在另一个pr里面已经能比较好put all的pipeline问题,那么升级依赖是否还有必要性?

不是非常有必要,主要是 jedis 的 api 可能流畅些,另外升级的时候遇到 redisson 的升级时可能的一些问题,算是提前踩坑了

另外,其它的几个修改点,是否互相相关?如果不是,我建议拆一下,否则这个pr太大了,不好review。

Spring 升级的时候有一些相关的:

  • 想要收敛依赖,所以利用插件帮忙检查了,找到了几个没收敛的依赖
  • 某些非 Redisson 的集成测试好像也会启动 Redisson,导致在新版本下加载出现问题(老版本没问题)

除此之外就是有个单测表现得很 flaky,导致 PR 的 CI 过不去。

另一个 PR 可以满足,如果近期没升级 Spring 及相关依赖的计划,那么这个 PR 我就关了

@Roiocam Roiocam closed this Mar 26, 2024
@areyouok
Copy link
Collaborator

如果出现重大兼容性问题,比如某个依赖升级版本以后,jetcache无法运行基本功能,会考虑升级

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.

JedisCluster Pipeline 的支持?
2 participants