CacheManager suppresses necessary server calls in case of existing etags and CacheManager.useExpires is true
维护者通常 1 天内回复
@aviralgarg05 已经在做这个了。
开始于 2026年4月9日。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 45/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- java
- 领域
- testing-qa
调研方向
从附加的 etag.jmx 复现器和 HTTP CacheManager GUI 设置开始,然后将两次测试运行与 HTTP Mirror Server 进行比较。跟踪现有 ETag 和 useExpires=true 如何影响 CacheEntry 的过期时间,以及第二个 GET 是否会发送。完成的标准是:重复请求会携带相应的 If-None-Match 标头发出,而不是被抑制。
由索引模型根据 Issue 内容生成。
描述
Expected behavior
In case of a HTTP GET request with an existing ETag in the server response http header I would expect:
- that another HTTP GET request to the same URL and with identical parameters would be send to the server with a corresponding If-None-Match=eTag in the request http header.
- in other words: that jmeter execute this sampler as it would do in the case that no HTTP CacheManager is active.
Actual behavior
if the CacheManager is configured with flag useExpires=true the second request is suppressed because the CacheEntry element
get a expiredDate System.currentTimeMillis() + ONE_YEAR_MS
Steps to reproduce the problem
copy the attached file etag.txt to file etag.jmx and open it in jmeter
- start the HTTP Mirror Server
- execute the script
- uncheck the checkbox Use Cache Control/Expires header when processing GET requests in HTTP CacheManager GUI
- execute the script again and check different behaviour between the two testruns
JMeter Version
5.6.3
Java Version
openjdk version "17.0.8" 2023-07-18 LTS
OS Version
Microsoft Windows [Version 10.0.22631.5909]
- 主要语言
- Java
- 星标
- 9.6k
- 派生
- 2.3k
- 平均合并
- 20 小时 42 分钟
- 30 天内合并 PR
- 10
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
apache/jmeter 的其他 Issue
-
[Bug] Typo in assertion property name: "Asserion.test_strings" missing 't'可能已有人在做 @waterWang 于 58 天前认领。 未关闭defect to-triage
难度 1/5 1 小时以内 新手友好度 82/100
维护者通常 1 天内回复
-
enhancement to-triage
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
RandomDate ignores inclusive end date and throws when start == end可能已有人在做 @weillercarvalho 于 335 天前认领。 未关闭defect to-triage
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
documentation to-triage
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
invalid wontfix
难度 2/5 1-3 小时 新手友好度 65/100
维护者通常 1 天内回复
相似的 Issue
-
[Bug] Lock owned by another client (e.g. Text app) cannot be unlocked from the app可能已有人在做 @falkloewert 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
oracle/graalvm-reachability-metadata#11026 ·
维护者通常 1 天内回复
-
bug
难度 1/5 1 小时以内 新手友好度 88/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 67/100
CodeForPhilly/benefit-decision-toolkit#565 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
checkstyle/checkstyle#22050 · 1 条评论 ·
维护者通常 1 天内回复