[Logo] Terracotta Discussion Forums (LEGACY READ-ONLY ARCHIVE)
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
[Expert]
Messages posted by: klalithr  XML
Profile for klalithr -> Messages posted by klalithr [482] Go to Page: Previous  1, 2, 3 ... 30 , 31, 32, 33 Next 
Author Message
Did you clean up the object DB when you made the move to 3.5.1?
1. MaxElementsInMemory determines the limit of L1 cache
2. Use element.getSerializedSize
3. When you say offheapstore - what you do mean? BigMemory? You can use the simple get/put API for getting the entries from the cache (irrespective of where they reside)
Did you move to the most recent version of Ehcache? 1.1 is very old.

Based on your TTI/TTL settings, you have those set to 1 hour for bamEntryCache and 1 day for globalUIdCache. Also MaxElementsInMemory is set to 10000. Anything outside these boundaries would result in a cache miss - this is expected behavior. For more information on how these work I would suggest looking at the documentation in ehcache website

http://ehcache.org/documentation/configuration.html
Also, try cluster event API - notifies you when a node joined or left the cluster.
Firstly - I would recommend that you move to the most recent version of Ehcache. This could very well solve your issue. Please try this as step 1.

Secondly, Get could also return null if the element has expired due to TTI and TTL settings in the cache. I need more information about your use case to accurately help you out. Please share your ehcache.xml, the code that you use to get the element (3-4 lines around it would suffice - are you using iskeyincache) , and how you determine that element is present in the cache?
2.0.0 is an older version. Please move to the most recent version of ehcache-core. Also, does your web-app have any other conflicting versions of ehcache jars. Check your webapp classpath.

Also on a different note - your cache configuration has inherent flaws. You have eternal set to true but have specified a TTI and TTL. Set it to zero if you want eternal behavior.
Also if your use case has to only persist to disk, then why do you want your cache to be eternal in the first place?.
Check your ehcache version b/w your desktop app and your webapp.
Post the complete stack trace with ehcache.xml if you are still having issues
I recommend that you start with the ehcache documentation and try the samples found here...

http://ehcache.org/documentation/samples.html
You are looking for disk store persistance. Documentation below

http://ehcache.org/documentation/storage_options.html#Persistence
Change maxElementsInMemory="1". Watch out for performance though. test various scenarios throughly.
Any specific reason that you are going for identity mode? Why dont you want the person object to be serialized?
Wait a second! Did you say the subsequent queries do NOT result in the select statements being printed but just log statements indicating that the method was invoked?
Isn't that the behavior that you would expect?
Your setup seems pretty straightforward. For one test, could you try this with query cache turned off?
Tim said it best in an earlier post "Calling get() on an expired element will return null."
Simply check for this.
Thats fine.
 
Profile for klalithr -> Messages posted by klalithr [482] Go to Page: Previous  1, 2, 3 ... 30 , 31, 32, 33 Next 
Go to:   
Powered by JForum 2.1.7 © JForum Team