Created attachment 1052542 [details] expiration-test.zip Description of problem: For a mortal entry (lifespan > -1), overwriting it with lifespan=-1 (make it immortal) unexpectedly removes the entry like follows. ~~~ cache.put(key, "value1", 100, TimeUnit.SECONDS, 100, TimeUnit.SECONDS); cache.get(key); // returns "value1" cache.put(key, "value2", -1, TimeUnit.SECONDS, 100, TimeUnit.SECONDS); cache.get(key); // returns null, expected "value2" cache.put(key, "value3", -1, TimeUnit.SECONDS, 100, TimeUnit.SECONDS); cache.get(key); // returns "value3" ~~~ In library mode, the 2nd get returns non-null as expected. The same behaviour is observed for a transient (maxIdle > -1) entry also. Steps to Reproduce: 1. Start a standalone JDG server. 2. Run the attached reproducer. ~~~ $ unzip expiration-test.zip $ cd expiration-test $ mvn compile dependency:copy-dependencies $ java -cp 'target/dependency/*:target/classes' \ -Djava.util.logging.manager=org.jboss.logmanager.LogManager \ -Dlogging.configuration=file:logging.properties \ com.example.App ~~~
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.