Distributed session cache locking problem
norad_2 Apr 4, 2012 4:06 PMI have a cluster of jboss servers running behind a vip. The session cache uses infinispan and is configured below:
{code}
<cache-container name="web" aliases="standard-session-cache" default-cache="sso">
<transport lock-timeout="60000"/>
<replicated-cache name="sso" mode="SYNC" batching="true">
<file-store/>
</replicated-cache>
</cache-container>
{code}
I am seeing the following error show up sporadically. It does not happen every request but when it happens the request fails.
{code}
2012-04-04 19:57:26,627 ERROR [http--0.0.0.0-4080-1] [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host]] {} {} Exception sending request initialized lifecycle event to listener instance of class org.jboss.weld.servlet.WeldListener: java.lang.RuntimeException: JBAS018060: Exception acquiring ownership of kkTs5N-UGggp3VngthDv4X+L
at org.jboss.as.web.session.ClusteredSession.acquireSessionOwnership(ClusteredSession.java:528)
at org.jboss.as.web.session.ClusteredSession.access(ClusteredSession.java:496)
at org.apache.catalina.connector.Request.doGetSession(Request.java:2625)
at org.apache.catalina.connector.Request.getSession(Request.java:2375)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:841)
at org.jboss.weld.context.beanstore.http.LazySessionBeanStore.getSession(LazySessionBeanStore.java:72)
at org.jboss.weld.context.beanstore.http.LazySessionBeanStore.<init>(LazySessionBeanStore.java:58)
at org.jboss.weld.context.http.HttpSessionContextImpl.associate(HttpSessionContextImpl.java:31)
at org.jboss.weld.context.http.HttpSessionContextImpl.associate(HttpSessionContextImpl.java:16)
at org.jboss.weld.servlet.WeldListener.requestInitialized(WeldListener.java:134)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.jboss.as.clustering.lock.TimeoutException: JBAS010223: Cannot acquire lock //default-host//project/kkTs5N-UGggp3VngthDv4X+L from cluster
at org.jboss.as.clustering.lock.SharedLocalYieldingClusterLockManager.lock(SharedLocalYieldingClusterLockManager.java:439)
at org.jboss.as.clustering.web.infinispan.DistributedCacheManager.acquireSessionOwnership(DistributedCacheManager.java:372)
at org.jboss.as.web.session.ClusteredSession.acquireSessionOwnership(ClusteredSession.java:520)
... 17 more
{code}
Is this a known issue? I've seen some similar JIRA's open but no solutions.