-
Bug
-
Resolution: Unresolved
-
P4
-
25
-
None
The fix for stale values from ClassValue::remove in JDK-8351045 breaks backward compatibility and contracts that calls to remove from computeValue should be no-op. After investigation, a better solution is to ask users to use the remove API in a pattern that ensures no stale values are published, to reduce impacts.
The usage pattern recommendation is simple: to call get() right after the input values for remove is updated and right before the remove() call. The previous test will be adjusted to verify this pattern is sound.
The usage pattern recommendation is simple: to call get() right after the input values for remove is updated and right before the remove() call. The previous test will be adjusted to verify this pattern is sound.
- caused by
-
JDK-8351045 ClassValue::remove cannot ensure computation observes up-to-date state
-
- Closed
-
- csr for
-
JDK-8352433 Behavioral updates for ClassValue::remove
-
- Draft
-
- relates to
-
JDK-7153157 ClassValue.get does not return if computeValue calls remove
-
- Resolved
-
- links to
-
Review(master) openjdk/jdk/24043