[infinispan-dev] Conflict Manager and Partition Handling Blog

Wayne Wang Wayne.Wang at impactmobile.com
Tue Aug 1 08:54:24 EDT 2017


Hi Ryan,

I understand that infinispan can be used by many platforms/applications. In addition, I was not able to find more information as to how infinispan cache manager actually work.

What I described is the infinispan embedded in wildfly 10.1.10.Final. This observation happened in a cluster of two wildfly 10.1.0.Final instances

Basically, the console output of the wildfly instance that actually made the modification of an object printed out update statement (expected). Later on, if a user revisit the same object (hotel), the console will not print out any query statement. This is expected since the latest data was cached.

For the other wildfly instance(cluster member), if a user visit the same object (hotel) first time, a query to select for a specific object(hotel) was printed out. This is expected since the cache should be invalidated and query needs to be executed to retrieve latest data.  However, when the user repeatedly revisit the same object (hotel), the query got printed out again. This will happen until a period of time (may be expiration setting).

This observation indicated that the wildfly instance which actually made the modification was able retrieve the latest data and cache it again. But the wildfly instance that receives the signal (to invalidate cache) indeed invalidated the cache, however, it did just that without cache the latest data.

Is this behavior the intended design or some other configuration I need to make to ensure the other cluster members can also cache the latest data?

Thanks,

Wayne


-----Original Message-----
From: infinispan-dev-bounces at lists.jboss.org [mailto:infinispan-dev-bounces at lists.jboss.org] On Behalf Of Ryan Emerson
Sent: Tuesday, August 1, 2017 5:20 AM
To: infinispan -Dev List
Subject: Re: [infinispan-dev] Conflict Manager and Partition Handling Blog

> The option `REMOVE_ALL` seems sensible for the disposable Cache use 
> case. One question though: if one partition has a defined value for a 
> key, while the other partition has no value (null) for this same key, 
> is it considered a conflict?
> I think you need to clarify if a "null" in a subset of partitions 
> causes the conflict merge to be triggered or not. I think it should:
> for example having the cache use case in mind, an explicit 
> invalidation needs to be propagated safely.

Yes a combination of null/non-null entries is detected as a conflict. So in the use-case you describe, utilising the REMOVE_ALL strategy would result in the cache entry being removed from the cache on merge.

Cheers
Ryan
_______________________________________________
infinispan-dev mailing list
infinispan-dev at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev



More information about the infinispan-dev mailing list