This is an automated email from the ASF dual-hosted git repository.
vladimirsitnikov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git
The following commit(s) were added to refs/heads/master by this push:
new 776c52dd56 fix(deps): update dependency
com.github.ben-manes.caffeine:caffeine to v3
776c52dd56 is described below
commit 776c52dd56151da7425cb419aaa102cc3aaa77e6
Author: Mend Renovate <[email protected]>
AuthorDate: Mon Nov 17 06:26:16 2025 +0000
fix(deps): update dependency com.github.ben-manes.caffeine:caffeine to v3
---
src/bom-thirdparty/build.gradle.kts | 2 +-
.../jmeter/testelement/AbstractTestElement.java | 5 ++---
src/dist/src/dist/expected_release_jars.csv | 3 +--
.../jmeter/protocol/http/control/CacheManager.java | 20 +++++++-------------
4 files changed, 11 insertions(+), 19 deletions(-)
diff --git a/src/bom-thirdparty/build.gradle.kts
b/src/bom-thirdparty/build.gradle.kts
index b3d31587b7..20d277858b 100644
--- a/src/bom-thirdparty/build.gradle.kts
+++ b/src/bom-thirdparty/build.gradle.kts
@@ -44,7 +44,7 @@ dependencies {
api("bsf:bsf:2.4.0")
api("cglib:cglib-nodep:3.3.0")
api("com.fifesoft:rsyntaxtextarea:3.6.0")
- api("com.github.ben-manes.caffeine:caffeine:2.9.3")
+ api("com.github.ben-manes.caffeine:caffeine:3.2.3")
api("com.github.weisj:darklaf-core:3.1.1")
api("com.github.weisj:darklaf-extensions-rsyntaxarea:0.4.1")
api("com.github.weisj:darklaf-property-loader:3.1.1")
diff --git
a/src/core/src/main/java/org/apache/jmeter/testelement/AbstractTestElement.java
b/src/core/src/main/java/org/apache/jmeter/testelement/AbstractTestElement.java
index 84527726b7..71823d6a24 100644
---
a/src/core/src/main/java/org/apache/jmeter/testelement/AbstractTestElement.java
+++
b/src/core/src/main/java/org/apache/jmeter/testelement/AbstractTestElement.java
@@ -47,7 +47,6 @@ import org.apache.jmeter.threads.AbstractThreadGroup;
import org.apache.jmeter.threads.JMeterContext;
import org.apache.jmeter.threads.JMeterContextService;
import org.apiguardian.api.API;
-import org.checkerframework.checker.lock.qual.GuardedBy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -113,7 +112,7 @@ public abstract class AbstractTestElement implements
TestElement, Serializable,
* however, when element in not shared, then adds overhead as every lock
and unlock allocates memory.
* So in case of cloned-per-thread elements, we use {@link
Collections#synchronizedMap(Map)} instead.
*/
- @GuardedBy("lock")
+ // @GuardedBy("lock")
private final Map<String, JMeterProperty> propMap =
lock != null
? new LinkedHashMap<>()
@@ -138,7 +137,7 @@ public abstract class AbstractTestElement implements
TestElement, Serializable,
/**
* Holds properties added when isRunningVersion is true
*/
- @GuardedBy("lock")
+ // @GuardedBy("lock")
private transient Set<JMeterProperty> temporaryProperties;
private transient boolean runningVersion = false;
diff --git a/src/dist/src/dist/expected_release_jars.csv
b/src/dist/src/dist/expected_release_jars.csv
index 812195318c..48fe46e7a0 100644
--- a/src/dist/src/dist/expected_release_jars.csv
+++ b/src/dist/src/dist/expected_release_jars.csv
@@ -22,8 +22,7 @@
33826,batik-xml-1.17.jar
113369,bsf-2.4.0.jar
389033,bsh-2.0b6.jar
-912143,caffeine-2.9.3.jar
-241628,checker-qual-3.52.0.jar
+1020615,caffeine-3.2.3.jar
401021,commons-codec-1.20.0.jar
588337,commons-collections-3.2.2.jar
898652,commons-collections4-4.5.0.jar
diff --git
a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/CacheManager.java
b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/CacheManager.java
index bed950ae15..8852f6332e 100644
---
a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/CacheManager.java
+++
b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/control/CacheManager.java
@@ -269,25 +269,19 @@ public class CacheManager extends ConfigTestElement
implements TestStateListener
// else expiresDate computed in (expires!=null) condition is
used
}
}
+ Cache<String, CacheEntry> cache = getCache();
if (varyHeader != null) {
if (log.isDebugEnabled()) {
log.debug("Set entry into cache for url {} and vary {} ({})",
url,
varyHeader,
varyUrl(url, varyHeader.getKey(),
varyHeader.getValue()));
}
- getCache().put(url, new CacheEntry(lastModified, expiresDate,
etag, varyHeader.getKey()));
- getCache().put(varyUrl(url, varyHeader.getKey(),
varyHeader.getValue()), new CacheEntry(lastModified, expiresDate, etag, null));
- } else {
- // Makes expiresDate effectively-final
- Date entryExpiresDate = expiresDate;
- getCache().get(
- url,
- key -> {
- CacheEntry cacheEntry = new CacheEntry(lastModified,
entryExpiresDate, etag, null);
- log.debug("Set entry {} into cache for url {}", url,
cacheEntry);
- return cacheEntry;
- }
- );
+ cache.put(url, new CacheEntry(lastModified, expiresDate, etag,
varyHeader.getKey()));
+ cache.put(varyUrl(url, varyHeader.getKey(),
varyHeader.getValue()), new CacheEntry(lastModified, expiresDate, etag, null));
+ } else if (cache.getIfPresent(url) == null) {
+ CacheEntry cacheEntry = new CacheEntry(lastModified, expiresDate,
etag, null);
+ log.debug("Set entry {} into cache for url {}", url, cacheEntry);
+ cache.put(url, cacheEntry);
}
}