[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: ari  XML
Profile for ari -> Messages posted by ari [1528] Go to Page: Previous  1, 2, 3 , ... 100, 101, 102 Next 
Author Message
This is both using DSO and on a complex set of platforms. I suggest calling Terracotta or emailing their support org directly.

This is not something they can help you with via the forums.

--Ari
you are trying to traverse the keyspace in list-order you should traverse using an external iteration-key as an array index / accessor. In pseudo-code the difference is:

your model would go with( keys ) or for( ... keys.hasNext() ... );

my model wouldn't need the list of keys. You know them. go for( i = 0; i < cache.size(); i++ ) { nextMessage = cache.get( new element( i.toString, null )); ...}

--Ari
Ehcache 1.2.3 or 2.1.3?

And, if Hibernate is not caching, or you suspect that it is not, simply turn on "show SQL" in your connection properties and take note of the SQL it is executing down to the DB.

Sometimes you need to turn on timestamp caching. Sometimes you don't have the entities cached (esp. when Spring is in the mix, injecting your dependencies) even though you think you do.

Easiest path fwd is to see the exact SQL statements firing against the DB.

Let us know if you need more help after you know what's hitting the DB.

--Ari
BTW, there is a bucketing thing going on inside the cache I think (not sure). Basically segments exist so those limits are a per-segment limit OR a per-cache limit in cases where the # is smaller than the # segments. I know this is true in L2 but might be true in L1 as well. 3.6-line gets you exactly what you want but 3.5 should come close.

Reduce segment count to get reduced element count (but be warned you reduce concurrency in the name of saving memory).

--Ari
well, those statistics mBeans are reporting on the total cache contents, no? How do you know those elements are in your L1? Have you started the dev console and checked what's in L1 vs. L2?

--Ari
A terracotta client is another app / stack altogether such as Tomcat or Weblogic or SpringDM, etc. Is there something about using the specific instructions for whatever container your client runs in that breaks when the tc libraries are present?

Can you give us the following:

1. What container is your terracotta client?
2. What about that container's Windows Service enablement is failing?
3. Any specific errors or logs you can attach to illustrate the point?

Thanks :)

--Ari
2 things:

1. turn on eventual mode. Infinispan is eventual (or not even, more likely) so we should be set that way too.

2. move the server array onto separate HW if it is not already that way.

Also, depending on your test, you might need bulkload / batch API with us.

For now just start w/ eventual, then move to dedicated HW for server array. Should fly unless test puts unforeseen demands on us.

--Ari
http://ehcache.org/documentation/operations/logging

Wanna try to set DEBUG logging and see if that gets us a notification that the disk store is corrupt and not being trusted? That will be faster than trying an array.

--Ari
BTW, server arrays are open source too.
Is this persistent to Terracotta array or to local disk. if local disk, the disk repo could have been flagged dirty and is not being trusted. Post up your full logs on restart for us to see if this is the case.

if this is to an array, then how much data is in the array and is it all expired?

If on local disk, try switching to an array just for a minute to isolate the problem to your config or ours. If you can restart and reconnect to the array and get your data back, then we will want to look at ehcache.xml. if not, we will want to look at your grails app further.

--Ari
There is a non-public API to interogate the cache for local-only data. I suggest not violating that interface contract and instead keeping a local cache for each node of the keys it created.

Then use that local-only cache as an index to remove people from the clustered one.

Sorry there's not a better answer. File a JIRA asking for a feature enhancement to expose the local data.

Alternatively, you can ask QuartzWhere to fire a job that runs the remove only what's local to each Ehcache node. That will do what you want out of the box but QuartzWhere isn't free.

--Ari
Locality of reference == keep each app node working on a local dataset only so all operations are in-memory and not network-bound.

Eventual consistency is a setting in Ehcache running w/ server arrays. It is a lock-free yet consistent mode of operation that is capable of millions of reads per second and similar writes / second in a smallish cluster of 10 nodes or thereabouts.

start here for Ehcache clusters: http://www.ehcache.org/documentation/configuration/distributed-cache-configuration

--Ari
I dont understand...are you asking a question other than where are the Quartz docs? http://www.quartz-scheduler.org
ah, fair point. Sorry.

I think tc-announce will work for you as it is pretty low volume and announces anything to do with Ehcache, Quartz, or server array releases...

Hope that helps :)

--Ari
http://lists.terracotta.org/mailman/listinfo
 
Profile for ari -> Messages posted by ari [1528] Go to Page: Previous  1, 2, 3 , ... 100, 101, 102 Next 
Go to:   
Powered by JForum 2.1.7 © JForum Team