[jboss-user] [JBoss Cache: Core Edition] - Re: invalidation messages lost/ignored?

bstansberry@jboss.com do-not-reply at jboss.com
Fri Mar 27 11:02:53 EDT 2009


Option.setCacheModeLocal(true) is definitely enough to ensure non-propagation of the remove call.

Getting into an inconsistent state is for sure a sign of a bug/greater problem. Greater problem might just be don't use async, but let's dig deeper.

Can you make this happen with INVALIDATION_SYNC? ASYNC by its nature doesn't guarantee cache consistency, although ending up with an earlier version on a node and no JBC exception in the logs doesn't sound right. With INVALIDATION, the only thing that puts data in the cache is the local caller, so having version 39 in the cache means a local caller either

1) put it in the cache after the invalidation message for 40 had already arrived
2) the invalidation message for 40 never arrived.

The latter is unlikely.

Do you have any logging telling you how version 39 ended up in A? What it via a putFromExternalRead or a put after a tx running on A updated the entity to version 39?  This smells more like a putForExternalRead problem to me.

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4221589#4221589

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4221589



More information about the jboss-user mailing list