-
1. Re: Option to disable
starksm64 Feb 18, 2006 7:10 PM (in response to brian.stansberry)I can't say the current behavior makes sense then. I would suspect that there has been a regression in behavior between receiving the invalidation msg locally from jgroups vs acting on that message to invalidate the local cache. I can see wanting to receive the invalidation msg locally as there could be listeners other than the entity cache, but if the listener associated with the cache receives a msg originated by the bean and its commit option A, the cache should not be invalidated. I vaguely remember losing the notion of whether or not the jgroups msg was originated locally at one point. It could be that this is the problem again as well.
-
2. Re: Option to disable
brian.stansberry Feb 18, 2006 11:55 PM (in response to brian.stansberry)I believe it's probably been this way since revision 1.1 of InvalidationManager. It's not due to problems handling messages from an invalidation bridge. InvalidationManager.crossDomainBatchInvalidate() itself invalidates the local cache before even calling any invalidation bridge.
-
3. Re: Option to disable
starksm64 Feb 19, 2006 1:01 AM (in response to brian.stansberry)Hmm, ok. I guess we never really validated its behavior for commit option A then.
-
4. Re: Option to disable
adrian.brock Feb 19, 2006 7:45 AM (in response to brian.stansberry)It should just operate in two modes. In can operate in both concurrently.
1) Invalidate across the cluster to peer ejbs (ejbs that are essentially the same deployment).
2) Invalidate locally to related ejbs (the groups, e.g. R/W pair, the read is invalidated by the write).
It should never invalidate itself. -
-
6. Re: Option to disable
brian.stansberry Feb 20, 2006 2:27 PM (in response to brian.stansberry)"adrian@jboss.org" wrote:
"adrian@jboss.org" wrote:
It should never invalidate itself.
So any new option is irrelevant. ;-)
Yeah, adding an option to specify whether or not to use the only rational behavior doesn't seem ideal ;-)
OK, so the idea is that if a group containing a RO bean and a RW bean (or, for that matter, any two related beans) is invalidated locally, the bean that initiated the invalidation will be excluded from the invalidation.
This means that we'd have to include in the call context information about what bean it was that actually initiated the invalidation. Then add the ability to correlate that information to the Invalidatable objects (i.e. entity caches) that are being invalidated.