0 Replies Latest reply on Apr 14, 2011 2:48 PM by mpark

    PojoCacheException when trying to attach a java object (POJO) to the PojoCache.

    mpark

      On our project, we are using JBOSS Cache to replicate ~20,000 simple POJO objects among 28 jvm’s.   When attaching a java object (POJO) to the PojoCache, we get “PojoCacheException”.  When this occurs, most of the subsequent attempt to attach additional POJO to the PojoCache result in the same exception.  When the application (Jvm) is restarted, sometime this problem goes away.   

       

      This PojoCacheException problem does not occur 100% – however, when it happens, it usually happens when adding the 1st POJO to the PojoCache, and usually, all subsequent POJO attachment will fail.

      PojoCacheException logged indicate all exceptions appear to be cause by one of the 2 root causes:

      • -          “Root cause is Suspected member:  192.168.209.108:60978”
      • -          “Root cause is State retrieval timed out waiting for flush unblock.  (timeout = 80000 millis)”

      The port number (60978) sited is different for different runs.  Any idea what’s causing either of the problems?   Would like to know if the ip & port sited as root cause have anything to do with JGroup?

       

      Our project has 2 redundant servers that are deployed on JBOSS-5.0.0 GA, using jbosscache-core-3.0.0.GA and jbosscache-pojo-3.0.0.GA which are included in the JBOSS-5.0.0 GA.  All the POJO attachment is being on the servers deployed on the JBOSS appserver, thereforefore, all of the PojoCacheExceptions are coming from the JBOSS jvm’s.

       

       

      Below is the PojoCacheException stack trace for the 2 types of PojoCacheExceptions we’re seeing:

      Org.jboss.cache.pojo.PojoCacheException:  attach failed “OBJECT KEY”

                      At org.jboss.cache.pojo.impl.PojoCacheImpl.attach(PojoCacheImpl.java:111)

                      At org.jboss.cache.pojo.impl.PojoCacheImpl.attach(PojoCacheImpl.java:93)

                      At org.jboss.cache.pojo.impl.PojoCacheImpl.attach(PojoCacheImpl.java:88)

                      At java.lang.Thread.run (Thread.java:619)

      Caused by:  org.jboss.cache.SuspectException:  Suspected member:  192.168.209.108:60978

                      At org.jboss.cache.RPCManagerImpl.callRemoteMethods (RPCManagerImpl.java:472)

                      At org.jboss.cache.RPCManagerImpl.callRemoteMethods (RPCManagerImpl.java:432)

                      At org.jboss.cache.RPCManagerImpl.callRemoteMethods (RPCManagerImpl.java:437)

                      At org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall (BaseRpcInterceptor.java:161)

                      At org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall (BaseRpcInterceptor.java:135)

                      At org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall (BaseRpcInterceptor.java:107)

                      At org.jboss.cache.interceptors.ReplicationInterceptor.handleCrudeMethod (ReplicationInterceptor.java:160)

                      at org.jboss.cache.interceptors.ReplicationInterceptor.visitPutKeyValueCommand(ReplicationInterceptor.java:107)

                      at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)

                      at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)

      at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)

      at org.jboss.cache.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:65)

      at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)

      at org.jboss.cache.interceptors.based.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)

      at org.jboss.cache.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:119)

      at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)

      at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)

      at org.jboss.cache.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:178)

      at org.jboss.cache.interceptors.InvocationContextInterceptor.visitPutKeyValueCommand(InvocationContextInterceptor.java:82)

      at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)

      at org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain.java:265)

      at org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain.java:560)

      at org.jboss.cache.pojo.impl.InternalHelper.lockPojo(InternalHelper.java:342)

      at org.jboss.cache.pojo.impl.PojoCacheDelegate.putObject(PojoCacheDelegate.java:101)

      at org.jboss.cache.pojo.impl.PojoCacheImpl.attach(PojoCacheImpl.java:102)

      Root cause is Suspected member:  192.168.209.108:60978

       

      *************************************************************************

       

                      at org.jboss.cache.pojo.impl.PojoCacheImpl.attach(PojoCacheImpl.java:111)

                      at org.jboss.cache.pojo.impl.PojoCacheImpl.attach(PojoCacheImpl.java:93)

                      at org.jboss.cache.pojo.impl.PojoCacheImpl.attach(PojoCacheImpl.java:88)

                      at java.lang.Thread.run (Thread.java:619)

      Caused by:  org.jboss.cache.lock.TimeoutException:  state retrieval timed out waiting for flush unblock.  (timeout = 80000 milis)

                      at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:455)

                      at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:432)

                      at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:437)

                      at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpcInterceptor.java:161)

                      at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpcInterceptor.java:135)

                      at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpcInterceptor.java:107)

                      at org.jboss.cache.interceptors.ReplicationInterceptor.handleCrudeMethod(ReplicationInterceptor.java:160)

                      at org.jboss.cache.interceptors.ReplicationInterceptor.visitPutKeyValueCommand(ReplicationInterceptor.java:107)

                      at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)

                      at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)

      at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)

      at org.jboss.cache.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:65)

      at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)

      at org.jboss.cache.interceptors.based.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)

      at org.jboss.cache.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:119)

      at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)

      at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)

      at org.jboss.cache.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:178)

      at org.jboss.cache.interceptors.InvocationContextInterceptor.visitPutKeyValueCommand(InvocationContextInterceptor.java:82)

      at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)

      at org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain.java:265)

      at org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain.java:560)

      at org.jboss.cache.pojo.impl.InternalHelper.lockPojo(InternalHelper.java:342)

      at org.jboss.cache.pojo.impl.PojoCacheDelegate.putObject(PojoCacheDelegate.java:101)

      at org.jboss.cache.pojo.impl.PojoCacheImpl.attach(PojoCacheImpl.java:102)

      Root cause is State retrieval timed out waiting for flush unblock.  (timeout = 80000 millis)