Details
-
Bug
-
Resolution: Done
-
Major
-
7.2.0.GA, 7.3.0.CD15
Description
When using a transactional cache with ATTRIBUTE granularity, the following code will trigger a redundant cache operation upon request completion:
[1]
AtomicInteger value = (AtomicInteger) session.getAttribute("a");
value.incrementAndGet();
session.setAttribute("a", value);
[2]
session.setAttribute("a", new AtomicInteger());
AtomicInteger value = (AtomicInteger) session.getAttribute("a");
value.incrementAndGet();
In case [1], the initial mutable getAttribute(...) triggers an eager mutate, which becomes redundant by the subsequent setAttribute(...).
In case [2], the subsequent mutable getAttribute(...) does not need to trigger a mutation, as the previous setAttribute(...) already has.
Attachments
Issue Links
- clones
-
WFLY-11882 Mutable getAttribute(...) and setAttribute(...) combination triggers redundant cache operation when using ATTRIBUTE granularity distributed web sessions with a transactional cache
- Closed
- is cloned by
-
JBEAP-16596 [7.1.x] Mutable getAttribute(...) and setAttribute(...) combination triggers redundant cache operation when using ATTRIBUTE granularity distributed web sessions with a transactional cache
- Resolved