[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-07-23 Thread niuxuetao_fiserv
Thanks for your suggestions! For this I have a question: anonymous wrote : No, the id is purely the FQN. It sounds like one FQN is associated to only one pojo that is attached with the string id. There cannot be multiple pojos (we do not count the nested inner pojos of one attached pojo) under

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-07-23 Thread galder.zamarr...@jboss.com
With regards to the performance issue, please send me several thread dumps taken with 30s-1m difference each using the kill -3 or Ctrl+Break method explained in http://www.jboss.org/community/wiki/StackTrace and enable garbage collection logging

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-07-23 Thread galder.zamarr...@jboss.com
niuxuetao_fiserv wrote : I just realized that since I am using Pojo cache, I am not sure how Pojo cache creates the FQN when I pass a string id to the PojoCache.attach(String id,Object obj). | | Suppose I pass id as X/Y what FQN will be really created? | | What will be the performance

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-07-21 Thread niuxuetao_fiserv
I just realized that since I am using Pojo cache, I am not sure how Pojo cache creates the FQN when I pass a string id to the PojoCache.attach(String id,Object obj). Suppose I pass id as X/Y what FQN will be really created? What will be the performance impact if I have 10-20 variations of X

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-07-21 Thread niuxuetao_fiserv
Now I have a very serious performance problem with the way (the X/Y way) I compose the string id when using Pojo cache. I have one PojoCache instance globally shared by 20 threads in websphere, but those 20 threads are mostly in the waiting state by what I see with JProfiler, the hotspots are:

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-07-21 Thread niuxuetao_fiserv
I mean the healthy concurrency situation I would expect to see is that at least one thread is busy at ANY moment. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4244945#4244945 Reply to the post :

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-07-21 Thread niuxuetao_fiserv
The stack trace of the waiting thread is below: | org.jboss.cache.util.concurrent.locks.OwnableReentrantLock.tryLock(long, java.util.concurrent.TimeUnit) | java.util.concurrent.locks.Lock.tryLock(long, java.util.concurrent.TimeUnit) |

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-07-20 Thread niuxuetao_fiserv
Thanks Galder! I doubt managing the number of nodes can greatly increase the difficulty of our implementation or deployment when we use Pojo cache. Or perhaps it is even not doable to dynamically manage the node numbers? I am wondering if there is a jboss product (perhaps infini-span) that

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-07-20 Thread galder.zamarr...@jboss.com
Right, I suspect that your lock timeout issues might be related to your current fqn structure. If you bear in mind that locks are acquired on a per FQN basis, storing a lot keys within an FQN leads to lock contention. Instead, I'd suggest you add more FQNs and reduce the number of keys stored

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-07-14 Thread galder.zamarr...@jboss.com
How many A objects do you expect to have in the system? Are all A objects stored under the same FQN? Also, of those A objects, take for example instance A1. Are you calling multiple attach/detach for the same A1 instance? Or for each A instance, i.e. A1, there's only one attach and one detach?

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-07-14 Thread niuxuetao_fiserv
We use about 10-20 nodes (i.e. 10-20 different FQNs) and each node keeps up to 1000,000 keys in the map, so each node/FQN also keeps up to 1000,000 instances of A. For A1, I am calling attach() and detach() only once respectively. View the original post :

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-07-05 Thread niuxuetao_fiserv
Thanks a lot Galder for your help! What I need from Pojo cache is that it returns the same reference of object with the same fqn under the same node, which is what jboss core cache probably cannot do at the moment. Do you know any way to use jboss core cache with the reference comparability

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-06-30 Thread galder.zamarr...@jboss.com
niuxuetao_fiserv wrote : About the write-intensive stuff, yes, we will have a lot more calls to attach() than modifying the already cached Pojos. Attaching a pojo is an expensive operation where the pojo is dissected and mapped to the cache, hence such operation should be used as less as

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-06-26 Thread niuxuetao_fiserv
Thanks for your reply Galder! I couldn't reproduce the deadlocking problem on my windows machine anymore (with a rather large number of lockWaiting time config), I am trying on Linux where it does happen randomly. About the write-intensive stuff, yes, we will have a lot more calls to attach()

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-06-24 Thread galder.zamarr...@jboss.com
First of all, to generate thread dumps and see where threads holding write locks might be stuck, see generating thread dumps wiki: http://www.jboss.org/community/wiki/StackTrace I must say that 100ms for lock timeout is pretty small. Something around 10-20 seconds is more usual. Rather than

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-06-23 Thread niuxuetao_fiserv
Anyone has an idea? View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4239410#4239410 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4239410 ___ jboss-user mailing list

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-06-22 Thread galder.zamarr...@jboss.com
How big are the Pojos that you're storing? Several kbs/megs...etc? Did you try getting some thread dumps to see what the thread holding the lock to the database is doing? Can you try commenting preloading and trying again? View the original post :

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-06-22 Thread niuxuetao_fiserv
Maybe something useful to give: Now I use 20 threads doing the same job (setting ockAcquisitionTimeout=4294967, all the rest configuration is the same as I pasted before), I experience a phenonemen which seems to be a true deadlock since no threads are running (jobs in the Threadpool

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-06-22 Thread niuxuetao_fiserv
Hi Galder, Thanks for the hints to probe the problem! The size of a Pojo is between 5k and 100k by estimate. I did not track the lock-holder thread's behavior, cuz I do not know how to do it, could you give some tips on this? I disabled the preloading and I haven't seen the berkeleyDb

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-06-22 Thread niuxuetao_fiserv
P.S., I am sharing one org.jboss.cache.pojo.PojoCache instance amongst multiple threads. View the original post : http://www.jboss.org/index.html?module=bbop=viewtopicp=4239191#4239191 Reply to the post : http://www.jboss.org/index.html?module=bbop=postingmode=replyp=4239191

[jboss-user] [JBoss Cache: Core Edition] - Re: BerkeleyDB Deadlock Exception from JBoss Cache Loader: B

2009-06-22 Thread niuxuetao_fiserv
And, this is my class which should have the cache object fully initialized within the constructor: | private final PojoCache cache; | | JBossPojoCacheStorage(Configuration config){ | | | cache =