1 Reply Latest reply: Feb 18, 2013 12:13 AM by 文显 李 RSS

TimeoutException

valerio de minico Newbie

Hi all,

I use JBoss Cache Pojo Edition v. 3.0 on a JBOSS AS 5.1.0. I have a cluster with two nodes and the following is pojocache configuration file:

 

 

<?xml version="1.0" encoding="UTF-8"?>


<!-- ===================================================================== -->
<!--                                                                       -->
<!--  Sample TreeCache Service Configuration                               -->
<!--                                                                       -->
<!-- ===================================================================== -->


<server>
<mbean code="org.jboss.cache.pojo.jmx.PojoCacheJmxWrapper" 
          name="jboss.cache:service=PojoCache">
      <depends>jboss:service=TransactionManager</depends>
     
            
      <!-- Isolation level : SERIALIZABLE
                             REPEATABLE_READ (default)
                             READ_COMMITTED
                             READ_UNCOMMITTED
                             NONE
      -->
      <attribute name="IsolationLevel">REPEATABLE_READ</attribute>


      <!-- Valid modes are LOCAL, REPL_ASYNC and REPL_SYNC -->
      <attribute name="CacheMode">REPL_SYNC</attribute>


      <!-- Name of cluster. Needs to be the same for all caches, 
           in order for them to find each other
      -->
      <attribute name="ClusterName">PojoCacheCluster</attribute>


               <!-- JGroups protocol stack properties. -->
      <attribute name="ClusterConfig">
         <config>
            <!-- UDP: if you have a multihomed machine, set the bind_addr 
                 attribute to the appropriate NIC IP address -->
            <!-- UDP: On Windows machines, because of the media sense feature
                 being broken with multicast (even after disabling media sense)
                 set the loopback attribute to true -->
            <UDP mcast_addr="228.1.2.3" mcast_port="48866"
                 ip_ttl="64" ip_mcast="true"
                 mcast_send_buf_size="150000" mcast_recv_buf_size="80000"
                 ucast_send_buf_size="150000" ucast_recv_buf_size="80000"
                 loopback="false"/>
            <PING timeout="2000" num_initial_members="3"/>
            <MERGE2 min_interval="10000" max_interval="20000"/>
            <FD shun="true"/>
            <FD_SOCK/>
            <VERIFY_SUSPECT timeout="1500"/>
            <pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800"
                           max_xmit_size="8192"/>
            <UNICAST timeout="600,1200,2400,4800"/>
            <pbcast.STABLE desired_avg_gossip="400000"/>
            <FC max_credits="2000000" min_threshold="0.10"/>
            <FRAG2 frag_size="8192"/>
            <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
                        shun="true" print_local_addr="true"/>
            <pbcast.STATE_TRANSFER/>
         </config>
      </attribute>
      <!-- CacheLoaderConfiguration -->
<attribute name="CacheLoaderConfig">
   <config>
      <passivation>false</passivation>
      <preload>/profile</preload>
      <shared>true</shared>
          <cacheloader>
           <class>
           org.jboss.cache.loader.ClusteredCacheLoader
           </class>
           <properties>timeout=3000</properties>
           <async>false</async>
           <fetchPersistentState>false</fetchPersistentState>
           <ignoreModifications>false</ignoreModifications>
        </cacheloader>


   </config>
</attribute>


      <!-- Whether or not to fetch state on joining a cluster -->
      <attribute name="FetchInMemoryState">true</attribute>


      <!-- The max amount of time (in milliseconds) we wait until the
           initial state (ie. the contents of the cache) are retrieved from
           existing members in a clustered environment
      -->
      <attribute name="InitialStateRetrievalTimeout">15000</attribute>


      <!-- Number of milliseconds to wait until all responses for a
           synchronous call have been received. default 15000
      -->
      <attribute name="SyncReplTimeout">60000</attribute>


      <!--  Max number of milliseconds to wait for a lock acquisition 
          default 10000
          -->
      <attribute name="LockAcquisitionTimeout">60000</attribute>
   
   </mbean>


</server>

 

After about 5-10 minutes and randomly I have this timeout exception:

 

 

org.jboss.cache.pojo.PojoCacheException: attach failed /profile/3966140353081738423
          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 it.citel.timsocial.fe.ejb.cache.CacheManagerBean.attach(CacheManagerBean.java:109)
          ... 170 more
Caused by: org.jboss.cache.lock.TimeoutException: Replication timeout for 10.173.49.90:60920
          at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:768)
          at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:716)
          at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:721)
          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.handleCrudMethod(ReplicationInterceptor.java:160)
          at org.jboss.cache.interceptors.ReplicationInterceptor.visitPutDataMapCommand(ReplicationInterceptor.java:113)
          at org.jboss.cache.commands.write.PutDataMapCommand.acceptVisitor(PutDataMapCommand.java:104)
          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.visitPutDataMapCommand(AbstractVisitor.java:60)
          at org.jboss.cache.commands.write.PutDataMapCommand.acceptVisitor(PutDataMapCommand.java:104)
          at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
          at org.jboss.cache.interceptors.TxInterceptor.attachGtxAndPassUpChain(TxInterceptor.java:301)
          at org.jboss.cache.interceptors.TxInterceptor.handleDefault(TxInterceptor.java:283)
          at org.jboss.cache.commands.AbstractVisitor.visitPutDataMapCommand(AbstractVisitor.java:60)
          at org.jboss.cache.commands.write.PutDataMapCommand.acceptVisitor(PutDataMapCommand.java:104)
          at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
          at org.jboss.cache.interceptors.CacheMgmtInterceptor.visitPutDataMapCommand(CacheMgmtInterceptor.java:97)
          at org.jboss.cache.commands.write.PutDataMapCommand.acceptVisitor(PutDataMapCommand.java:104)
          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.visitPutDataMapCommand(InvocationContextInterceptor.java:64)
          at org.jboss.cache.commands.write.PutDataMapCommand.acceptVisitor(PutDataMapCommand.java:104)
          at org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain.java:287)
          at org.jboss.cache.invocation.CacheInvocationDelegate.invokePut(CacheInvocationDelegate.java:705)
          at org.jboss.cache.invocation.CacheInvocationDelegate.put(CacheInvocationDelegate.java:519)
          at org.jboss.cache.pojo.impl.InternalHelper.put(InternalHelper.java:110)
          at org.jboss.cache.pojo.impl.SerializableObjectHandler.putIntoCache(SerializableObjectHandler.java:86)
          at org.jboss.cache.pojo.impl.SerializableObjectHandler.put(SerializableObjectHandler.java:71)
          at org.jboss.cache.pojo.impl.PojoCacheDelegate.putObject(PojoCacheDelegate.java:138)
          at org.jboss.cache.pojo.impl.PojoCacheImpl.attach(PojoCacheImpl.java:102)

 

It seems that a timeout occurs on a lock acquisition...

Any idea about the cause???

 

Thanks,

Valerio.

  • 1. Re: TimeoutException
    文显 李 Newbie

    org.jboss.cache.lock.TimeoutException: Replication timeout for ip:port

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

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

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

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

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

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

              at org.jboss.cache.interceptors.ReplicationInterceptor.handleCrudMethod(ReplicationInterceptor.java:182)

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

              at org.jboss.cache.interceptors.MethodDispacherInterceptor.invoke(MethodDispacherInterceptor.java:75)

              at org.jboss.cache.interceptors.Interceptor.nextInterceptor(Interceptor.java:111)

              at org.jboss.cache.interceptors.MethodDispacherInterceptor.invoke(MethodDispacherInterceptor.java:58)

              at org.jboss.cache.interceptors.Interceptor.nextInterceptor(Interceptor.java:111)

              at org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:456)

              at org.jboss.cache.interceptors.TxInterceptor.handlePutKeyValueMethod(TxInterceptor.java:265)

              at org.jboss.cache.interceptors.MethodDispacherInterceptor.invoke(MethodDispacherInterceptor.java:75)

              at org.jboss.cache.interceptors.Interceptor.nextInterceptor(Interceptor.java:111)

              at org.jboss.cache.interceptors.CacheMgmtInterceptor.handlePutExternalAndKeyValue(CacheMgmtInterceptor.java:139)

              at org.jboss.cache.interceptors.CacheMgmtInterceptor.handlePutKeyValueMethod(CacheMgmtInterceptor.java:132)

              at org.jboss.cache.interceptors.MethodDispacherInterceptor.invoke(MethodDispacherInterceptor.java:75)

    ...

    哪位高手知道