I don't think RadarGun is much related to that, besides the fact
that it
can be buggy :)
The question is whether the cache.size() behaviour has changed in a way
that i would report full cache size, not just the size of container/the
size of cache store?
Radim
On 07/25/2014 03:54 PM, Alan Field wrote:
> Hey,
>
> I have been looking at adding the ability to get the total size of a cache in
RadarGun. The first implementation I coded used the distributed iterators in Infinispan
7.[1] I then realized that implementing getTotalSize() method using a distributed executor
would allow the code in versions back to Infinispan 5.2. I have the code written, and I
have been running some Jenkins jobs with Infinispan 6.0.1 Final to verify that the results
are correct.[2] I use the RandomData stage to put data in the cache. Here is what it
writes in the log:
>
> 04:11:59,573 INFO [org.radargun.stages.cache.RandomDataStage] (main) Received
responses from all 4 slaves. Durations [0 = 17.04 minutes, 1 = 18.36 minutes, 2 = 18.44
minutes, 3 = 18.58 minutes]
> 04:11:59,574 INFO [org.radargun.stages.cache.RandomDataStage] (main)
--------------------
> 04:11:59,574 INFO [org.radargun.stages.cache.RandomDataStage] (main) Filled cache
with String objects totaling 25% of the Java heap
> 04:11:59,574 INFO [org.radargun.stages.cache.RandomDataStage] (main) Slave 0 wrote
479352 values to the cache with a total size of 958,704 kb; targetMemoryUse = 1,022,368
kb; countOfWordsInData = 44900952
> 04:11:59,575 INFO [org.radargun.stages.cache.RandomDataStage] (main) Slave 1 wrote
479352 values to the cache with a total size of 958,704 kb; targetMemoryUse = 1,022,368
kb; countOfWordsInData = 44914319
> 04:11:59,575 INFO [org.radargun.stages.cache.RandomDataStage] (main) Slave 2 wrote
479352 values to the cache with a total size of 958,704 kb; targetMemoryUse = 1,022,368
kb; countOfWordsInData = 44906729
> 04:11:59,575 INFO [org.radargun.stages.cache.RandomDataStage] (main) Slave 3 wrote
479352 values to the cache with a total size of 958,704 kb; targetMemoryUse = 1,022,368
kb; countOfWordsInData = 44908687
> 04:11:59,576 INFO [org.radargun.stages.cache.RandomDataStage] (main) The cache
contains 1917408 values with a total size of 3,834,816 kb
> 04:11:59,576 INFO [org.radargun.stages.cache.RandomDataStage] (main) 100 words were
generated with a maximum length of 20 characters
> 04:11:59,576 INFO [org.radargun.stages.cache.RandomDataStage] (main)
--------------------
>
> These are the outputs from my getTotalSize() code:
>
> 04:11:59,591 INFO [org.radargun.service.Infinispan53CacheInfo] (main)
org.radargun.service.Infinispan53CacheInfo$Cache.getTotalSize() for cache testCache
> 04:12:12,094 INFO [org.radargun.service.Infinispan53CacheInfo] (main) cache.size() =
1917408
> 04:12:26,283 INFO [org.radargun.service.Infinispan53CacheInfo] (main)
cache.getAdvancedCache().size() = 1917408
> 04:12:26,283 INFO [org.radargun.service.Infinispan53CacheInfo] (main)
cache.getAdvancedCache().getCacheConfiguration().clustering().hash().numOwners() = 2
> 04:12:26,283 INFO [org.radargun.service.Infinispan53CacheInfo] (main)
cache.getCacheManager().getMembers().size() = 4
> 04:12:41,955 INFO [org.radargun.stages.cache.ClearCacheStage] (main) Cache size =
3834800
>
> The "Cache size =" message is from the results of my distributed executor,
and the other messages are informational. These outputs show that calling cache size on a
distributed cache returns the size of the entire cache including any passivated entries,
not just the size of the cache on the local node. This breaks the code of my distributed
executor, but mostly makes it unnecessary if I can just call cache.size().
>
> Is this an expected change in behavior?
>
> Thanks,
> Alan
>
> [1]
https://github.com/radargun/radargun/blob/master/plugins/infinispan70/src...
> [2]
https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/jdg-radargun-gettota...
>
--
Radim Vansa <rvansa(a)redhat.com>
JBoss DataGrid QA
_______________________________________________
infinispan-dev mailing list
infinispan-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev