Race Condition in LRU cache for references can lead to null references
还没有人认领这个 Issue。
评估
调研方向
未指定源文件或测试。首先定位 referenceResolver 的缓存查找和填充路径,然后在并发解析和缓存逐出条件下复现 SUPPORT-33245 场景。完成标准是:删除 LRU 条目后,引用解析不再返回 null,并有一个覆盖该竞态的回归测试。
由索引模型根据 Issue 内容生成。
描述
Describe the bug
The referenceResolver does occasionally resolve references to null.
The problem is, that the code, when resolving does first check which elements are already in the cache. It then fetches the "not yet in the cache" items and puts them there. This operation drops LRU items. Code still thinks that all items are in the cache and retrieves the references from the cache unchecked. Leading to null.
The symptom can be observed in SUPPORT-33245
To Reproduce
Steps to reproduce the behavior:
- Call
method with params - See error
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
- 主要语言
- Java
- 星标
- 41
- 派生
- 41
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
commercetools/commercetools-sync-java 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 20/100
-
难度 3/5 1-2 天 新手友好度 52/100
-
难度 4/5 3-5 天 新手友好度 32/100
commercetools/commercetools-sync-java#1201 · 4 条评论 ·
-
难度 5/5 一周以上 新手友好度 20/100
-
Hacktoberfest
难度 3/5 1-2 天 新手友好度 35/100
查看 commercetools/commercetools-sync-java 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 88/100
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 88/100
apache/arrow-java#1311 ·
维护者通常 2 天内回复
-
bug triage
难度 2/5 1-3 小时 新手友好度 85/100
-
难度 2/5 1-3 小时 新手友好度 88/100
维护者通常 1 天内回复
-
security
难度 2/5 1-3 小时 新手友好度 65/100
IBM/networking-java-sdk#204 ·