[infinispan-dev] Fwd: Am I missing something ?

Manik Surtani manik at jboss.org
Tue Apr 20 10:11:41 EDT 2010


WTF!  You're right - I'll investigate this in detail.  Thanks for spotting/reporting.  Care to raise a JIRA?

On 20 Apr 2010, at 14:03, Philippe Van Dyck wrote:

> Ok, I have something weird in CacheLoaderInterceptor :
> 
> When I read the same entry, again and again, I end up in loadIfNeeded.
> Each time, the entry is loaded from the cachestore @  InternalCacheEntry loaded = loader.load(key);
> At the end of the method, once we load the entry and wrap it, there is a call to putLoadedEntryInContainer.
> 
> The weird thing is that putLoadedEntryInContainer does not put anything in anything... :
> 
>  private MVCCEntry putLoadedEntryInContainer(InvocationContext ctx, Object key, MVCCEntry entry, InternalCacheEntry loadedEntry) throws Exception {
>       boolean entryExists = (loadedEntry != null);
>       if (log.isTraceEnabled()) log.trace("Entry exists in loader? " + entryExists);
> 
>       if (getStatisticsEnabled()) {
>          if (entryExists) {
>             cacheLoads.incrementAndGet();
>          } else {
>             cacheMisses.incrementAndGet();
>          }
>       }
> 
>       if (entryExists) {
>          sendNotification(key, true, ctx);
>          entry.setValue(loadedEntry.getValue());
>          entry.setLifespan(loadedEntry.getLifespan());
>          entry.setMaxIdle(loadedEntry.getMaxIdle());
>          // TODO shouldn't we also be setting last used and created timestamps?
>          entry.setValid(true);
> 
>          notifier.notifyCacheEntryLoaded(key, false, ctx);
>          sendNotification(key, false, ctx);
>       }
> 
>       return entry;
>    }
> 
> 
> So it looks obvious that the entry is not stored...
> 
> What am I missing ?
> 
> Cheers,
> 
> phil
> 
> ---------- Forwarded message ----------
> From: Philippe Van Dyck <pvdyck at gmail.com>
> Date: Mon, Apr 19, 2010 at 7:26 PM
> Subject: Am I missing something ?
> To: infinispan -Dev List <infinispan-dev at lists.jboss.org>
> 
> 
> Hi All,
> 
> just a quick question.. what could motivate Infinispan to check my store *each* time I get an entry from the its cache ??
> 
> While I was debugging the BlobCacheStore I noticed that all my 'get' endend up in a decompression of an entry downloaded from S3...
> 
> Did I miss somthing in my config ?:
> 
> 1) jgroups as transport
> 2) jmx enabled
> 3) transaction enabled (Atomikos)
> 4) distribution mode
> 5) l1 enabled
> 6) two owners (actually only one alive... does this have an impact ?)
> 7) no passivation 
> 8) cache is shared
> 9) cache is no preloaded 
> 10) then the config for the cache store
> 11) eviction manual (my own)
> 12) one minute max locking
> 
> And *each* time I 'get' something from the cache... it goes to the store.
> 
> I must be missing something ;-)
> 
> phil
> 
> <?xml version="1.0" encoding="UTF-8"?>
> 
> <infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> 	xmlns="urn:infinispan:config:4.0">
> 	<global>
> 		<transport
> 			transportClass="org.infinispan.remoting.transport.jgroups.JGroupsTransport">
> 			<properties>
> 				<property name="configurationFile" value="jgroups.xml" />
> 			</properties>
> 		</transport>
> 		<globalJmxStatistics enabled="true" />
> 	</global>
> 
> 
> 
> 	<namedCache name="qi4j">
> 		<jmxStatistics enabled="true" />
> 		<transaction
> 			transactionManagerLookupClass="org.qi4j.entitystore.s3jclouds.AtomikosTransactionManagerLookup" />
> 		<clustering mode="distribution">
> 			<l1 enabled="true" lifespan="100000" />
> 			<hash numOwners="2" rehashRpcTimeout="120000" />
> 		</clustering>
> 
> 		<loaders passivation="false" shared="true" preload="false">
> 
> 			<loader
> 				class="org.qi4j.entitystore.s3jclouds.cacheStore.Bzip2CloudCacheStore"
> 				fetchPersistentState="false" ignoreModifications="false"
> 				purgeOnStartup="false" purgeSynchronously="true">
> 
> 				<properties>
> 					<property name="identity" value="nahnah" />
> 					<property name="password" value="nah" />
> 					<property name="bucketPrefix" value="storetest2" />
> 					<property name="cloudService" value="s3" />
> 				</properties>
> 			</loader>
> 		</loaders>
> 
> 		<!--
> 			<deadlockDetection enabled="true"
> 			spinDuration="1000"></deadlockDetection>
> 		-->
> 		<eviction strategy="LRU" wakeUpInterval="-1" maxEntries="1" />
> 
> 		<locking lockAcquisitionTimeout="60000" concurrencyLevel="32" />
> 
> 
> 
> 		<unsafe unreliableReturnValues="true" />
> 
> 	</namedCache>
> </infinispan>
> 
> 
> 
> 
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

--
Manik Surtani
manik at jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20100420/015bbd88/attachment-0001.html 


More information about the infinispan-dev mailing list