Details
-
Bug
-
Resolution: Done
-
Major
-
JBossAS-3.2.8.SP1, JBossAS-4.0.4.CR2
-
None
Description
Currently, when an invalidation message is received, the instance[s] are evicted from the cache by invoking remove(id). This is wrong because it doesn't take info account whether an instance is in use or not. Instead, it should check whether the instance[s] is in the cache and if so then invoke release(instance) which will remove and passivate the instance immediately or schedule those actions at the transaction commit time.
Note, invlidateAll() works correctly since invlidateAll() invokes flush() which does the right things.