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

Philippe Van Dyck pvdyck at gmail.com
Tue Apr 20 09:03:07 EDT 2010


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>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20100420/7ea86a8e/attachment-0001.html 


More information about the infinispan-dev mailing list