In general, you don't want to synchronize on the cache to do a put. I don't know
your use case in enough detail (i.e. who's putting what where when) to absolutely say
you shouldn't, but JBC already provides concurrency control at the individual Node
level.
I don't know what your isCacheActive() call does; perhaps some synchronization is
needed there.
Blocking in the GroupRequest for a while during cache replication is perfectly normal.
The caller thread sends the RPC call out to the cluster, and then blocks waiting for
responses that come in separately from each cluster node. Seeing a thread blocking there
in a thread dump means nothing. Seeing the thread continually blocking there for a long
time over more than one thread dump tells you that for some reason it's taking a while
for responses to come back. The issue then is why it's taking a long time to get
responses, which could be all sorts of reasons.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3971310#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...