2 Replies Latest reply on Mar 26, 2009 9:55 AM by Angus Morison

    CommandAwareRpcDispatcher called, then nothing.

    Angus Morison Newbie

      JBossAS 501. JBC 303, also 302.
      JBC clustered. I put something in the cache on one side of the cluster. On the other side you see it arrive in the trace, CommandAwareRpcDispatcher is called; then no more sign of it.
      Extract from trace below, also the configuation which is closely modeled on that for EJB3 SFSB.
      As ever, any hints, pointers or suggestions greatly appreciated.

      2009-03-25 18:23:23,204 TRACE [org.jboss.cache.eviction.LRUQueue] (EvictionTimer-0) LRUQUeue.size() = 0
      2009-03-25 18:23:23,245 TRACE [org.jgroups.protocols.UDP] (UDP mcast, received (mcast) 652 bytes from
      2009-03-25 18:23:23,245 TRACE [org.jgroups.protocols.UDP] (Incoming-7, message is [dst: <null>, src: (3 headers), size=478 bytes], headers are MessageDispatcher: [Header: name=MessageDispatcher, type=REQ, id=1238001803363, rsp_expected=false], dest_mbrs=[], NAKACK: [MSG, seqno=11], UDP: [channel_name=SipNotifCache]
      2009-03-25 18:23:23,246 TRACE [org.jgroups.protocols.FD] (Incoming-7, received msg from (counts as ack)
      2009-03-25 18:23:23,246 TRACE [org.jgroups.protocols.pbcast.NAKACK] (Incoming-7, [ received
      2009-03-25 18:23:23,246 TRACE [org.jgroups.protocols.FC] (Incoming-7, sender minus 478 credits, 1983138 remaining
      2009-03-25 18:23:23,246 TRACE [org.jgroups.protocols.FC] (Incoming-7, sender minus 478 credits, 1983138 remaining
      2009-03-25 18:23:23,246 TRACE [org.jgroups.blocks.RequestCorrelator] (Incoming-7, calling (org.jboss.cache.marshall.CommandAwareRpcDispatcher) with request 1238001803363
      2009-03-25 18:23:28,164 TRACE [org.jgroups.protocols.pbcast.STABLE] (Timer-1, setting latest_local_digest from NAKACK: [,]

      <?xml version="1.0" encoding="UTF-8"?>
      <deployment xmlns="urn:jboss:bean-deployer:2.0">
       <!-- First we create a Configuration object for the cache -->
       <bean name="SipNotifCacheConfig"
       <!-- Externally injected services -->
       <property name="runtimeConfig">
       <bean class="org.jboss.cache.config.RuntimeConfig">
       <property name="transactionManager">
       <inject bean="jboss:service=TransactionManager"
       <property name="muxChannelFactory"><inject bean="JChannelFactory"/></property>
       <property name="multiplexerStack">udp</property>
       <property name="clusterName">SipNotifCache</property>
       <property name="fetchInMemoryState">true</property>
       <property name="nodeLockingScheme">PESSIMISTIC</property>
       <property name="isolationLevel">REPEATABLE_READ</property>
       <property name="cacheMode">REPL_ASYNC</property>
       <property name="stateRetrievalTimeout">60000</property>
       <property name="syncReplTimeout">20000</property>
       <property name="lockAcquisitionTimeout">15000</property>
       <property name="exposeManagementStatistics">true</property>
       <property name="useRegionBasedMarshalling">false</property>
       <!-- Must match the value of "useRegionBasedMarshalling" -->
       <property name="inactiveOnStartup">false</property>
       <!-- Disable asynchronous RPC marshalling/sending -->
       <property name="serializationExecutorPoolSize">0</property>
       <!-- We have no asynchronous notification listeners -->
       <property name="listenerAsyncPoolSize">0</property>
       <property name="exposeManagementStatistics">true</property>
       <property name="cacheLoaderConfig">
       <bean class="org.jboss.cache.config.CacheLoaderConfig">
       <!-- Do not change these -->
       <property name="passivation">false</property>
       <property name="shared">false</property>
       <property name="individualCacheLoaderConfigs">
       <bean class="org.jboss.cache.loader.FileCacheLoaderConfig">
       <!-- Where passivated sessions are stored -->
       <property name="location">${jboss.server.data.dir}${/}sipnotifcache</property>
       <!-- Do not change these -->
       <property name="async">false</property>
       <property name="fetchPersistentState">false</property>
       <property name="purgeOnStartup">false</property>
       <property name="ignoreModifications">false</property>
       <property name="checkCharacterPortability">false</property>
       <property name="evictionConfig">
       <bean class="org.jboss.cache.config.EvictionConfig">
       <property name="wakeupInterval">5000</property>
       <!-- Overall default -->
       <property name="defaultEvictionRegionConfig">
       <bean class="org.jboss.cache.config.EvictionRegionConfig">
       <property name="regionName">/</property>
       <property name="evictionAlgorithmConfig">
       <bean class="org.jboss.cache.eviction.LRUAlgorithmConfig">
       <!-- Evict LRU node once we have more than this number of nodes -->
       <property name="maxNodes">10000</property>
       <!-- And, evict any node that hasn't been accessed in this many seconds -->
       <property name="timeToLiveSeconds">30</property>
       <!-- Don't evict a node that's been accessed within this many seconds.
       Set this to a value greater than your max expected transaction length. -->
       <property name="minTimeToLiveSeconds">2</property>
       <!-- Regions could be added here-->
       <!-- Factory to build the Cache. -->
       <bean name="DefaultCacheFactory" class="org.jboss.cache.DefaultCacheFactory">
       <constructor factoryClass="org.jboss.cache.DefaultCacheFactory"
       factoryMethod="getInstance" />
       <!-- The cache itself -->
       <bean name="SipNotifCache" class="org.jboss.cache.Cache">
       <constructor factoryMethod="createCache">
       <factory bean="DefaultCacheFactory"/>
       <parameter class="org.jboss.cache.config.Configuration"><inject bean="SipNotifCacheConfig"/></parameter>
       <parameter class="boolean">true</parameter>
       <!-- JMX Management -->
       <bean name="SipNotifCacheJmxWrapper" class="org.jboss.cache.jmx.CacheJmxWrapper">
       <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.cache:service=SipNotifCache", exposedInterface=org.jboss.cache.jmx.CacheJmxWrapperMBean.class, registerDirectly=true)</annotation>
       <parameter><inject bean="SipNotifCache"/></parameter>

        • 1. Re: CommandAwareRpcDispatcher called, then nothing.
          Manik Surtani Master

          Do you actually see the changes on your remote cache?

          • 2. Re: CommandAwareRpcDispatcher called, then nothing.
            Angus Morison Newbie

            Thanks. Actually I have made progress since. I did not have a jar with the classes to be instantiated in the lib directory.
            You might say it was a bit impolite of the system to swallow an error like that, without saying anything (there again, you might say it was pretty stupid of me not to make the classes available to the system in the first place).
            However one thing I have discovered is that it is not a good idea to dynamically set tracing with the cache, as a number of classes set a trace boolean when they initialise, and then stick with that. Hence, I suppose the black hole into which I fell.
            I had it working with the above config. I am now struggling to get it working with MVCC. I imagine that if I get irrevocably stuck I will be back. Again thank you.