[jboss-user] [JBoss Cache] - Jboss 1.2.4 Cache not replicated...

rajsoni do-not-reply at jboss.com
Wed Jun 23 14:18:53 EDT 2010


rajsoni [http://community.jboss.org/people/rajsoni] created the discussion

"Jboss 1.2.4 Cache not replicated..."

To view the discussion, visit: http://community.jboss.org/message/549375#549375

--------------------------------------------------------------
Hi,

Am trying to use JbossCache with java 1.4.2_13.That's the java version our application is currently using so based on the compatibility matrix specified in the link below,we tried using the Jboss cache 1.2.4 SP2 version:
JDK compatibility:
 http://community.jboss.org/wiki/jbosscache http://community.jboss.org/wiki/jbosscache

I need to be able to run the cache as standalone Java programs and any other node that joins the cluster should be able to read the data put in the cache by any node.I had got that working with the latest version of Jboss cache.However with 1.2.4 version I see that the node2 is not able to get the data put in the cache by node1.

Would really appreciate any help for this.From the logs I see that the clustering is working fine and node2 joins the cluster first created just with node1.The message communication is happening between the nodes as well

Here's how my replicationconfig xml file and the code for the nodes looks like:

<?xml version="1.0" encoding="UTF-8"?>
 <!-- ===================================================================== -->
 <!--                                                                       -->
 <!--  Sample TreeCache Service Configuration                               -->
 <!--                                                                       -->
 <!-- ===================================================================== -->
 <server>
     <classpath codebase="./lib" archives="jboss-cache.jar, jgroups.jar"/>
     <!-- ==================================================================== -->
     <!-- Defines TreeCache configuration                                      -->
     <!-- ==================================================================== -->
     <mbean code="org.jboss.cache.TreeCache"
            name="jboss.cache:service=TreeCache">
         <depends>jboss:service=Naming</depends>
         <depends>jboss:service=TransactionManager</depends>
         <!--
         Configure the TransactionManager
     -->
         <attribute name="TransactionManagerLookupClass">org.jboss.cache.DummyTransactionManagerLookup</attribute>
         <!--<attribute name="TransactionManagerLookupClass">org.jboss.cache.GenericTransactionManagerLookup</attribute>-->
         <!--
             Isolation level : SERIALIZABLE
             REPEATABLE_READ (default)
             READ_COMMITTED
             READ_UNCOMMITTED
             NONE
         -->
         <!--<attribute name="IsolationLevel">REPEATABLE_READ</attribute>-->
         <attribute name="IsolationLevel">NONE</attribute>
         <!--
             Valid modes are LOCAL, REPL_ASYNC and REPL_SYNC
         -->
         <attribute name="CacheMode">REPL_ASYNC</attribute>
         <!--
         Just used for async repl: use a replication queue
         -->
         <attribute name="UseReplQueue">false</attribute>
         <!--
             Replication interval for replication queue (in ms)
         -->
         <attribute name="ReplQueueInterval">0</attribute>
         <!--
             Max number of elements which trigger replication
         -->
         <attribute name="ReplQueueMaxElements">0</attribute>
         <!-- Name of cluster. Needs to be the same for all clusters, in order
              to find each other
         -->
         <attribute name="ClusterName">insurancecluster</attribute>
         <!-- JGroups protocol stack properties. Can also be a URL,
              e.g. file:/home/bela/default.xml
            <attribute name="ClusterProperties"></attribute>
         -->
         <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"
                      bind_addr="10.9.10.164"/>
                 <PING timeout="10000" num_initial_members="3"
                       up_thread="false" down_thread="false"/>
                 <!--<PING -->
                       <!--timeout="10000" -->
                       <!--num_initial_members="3"-->
                       <!--up_thread="false" -->
                       <!--down_thread="false"-->
                 <!--/>-->
                 <MERGE2 min_interval="10000" max_interval="20000"/>
                 <!-- NOTE: this was commented off in the example config file -->
                 <!--<FD shun="true" up_thread="true" down_thread="true" />-->
                 <FD
                     shun="false"
                     up_thread="true"
                     down_thread="true"
                 />
                 <FD_SOCK/>
                 <VERIFY_SUSPECT timeout="1500"
                                 up_thread="false" down_thread="false"/>
                 <pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800"
                                max_xmit_size="8192" up_thread="false" down_thread="false"/>
                 <UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10"
                          down_thread="false"/>
                 <pbcast.STABLE desired_avg_gossip="20000"
                                up_thread="false" down_thread="false"/>
                 <FRAG frag_size="8192"
                       down_thread="false" up_thread="false"/>
                 <!--<pbcast.GMS join_timeout="5000" join_retry_timeout="2000"-->
                             <!--shun="true" print_local_addr="true"/>-->
                 <pbcast.GMS
                         join_timeout="5000"
                         join_retry_timeout="2000"
                         shun="false"
                         print_local_addr="true"
                     disable_initial_coord="false"
             />
                 <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
             </config>
         </attribute>
         <!--
         Whether or not to fetch state on joining a cluster
         'true' (default)
        -->
         <attribute name="FetchStateOnStartup">true</attribute>
         <attribute name="FetchInMemoryState">true</attribute>
         <attribute name="StateRetrievalTimeout">60000</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">5000</attribute>
         <!--
             Number of milliseconds to wait until all responses for a
             synchronous call have been received.
         -->
         <attribute name="SyncReplTimeout">20000</attribute>
         <!-- Max number of milliseconds to wait for a lock acquisition -->
         <attribute name="LockAcquisitionTimeout">15000</attribute>
        <!-- Name of the eviction policy class. -->
        <attribute name="EvictionPolicyClass"></attribute>
        <!--
                   Indicate whether to use marshalling or not. Set this to true if you are running under a scoped
                   class loader, e.g., inside an application server. Default is "false".
                -->
         <attribute name="UseMarshalling">false</attribute>
    </mbean>
    <!--  Uncomment to get a graphical view of the TreeCache MBean above -->
       <!--<mbean code="org.jboss.cache.TreeCacheView" name="jboss.cache:service=TreeCacheView">-->
          <!--<depends>jboss.cache:service=TreeCache</depends>-->
          <!--<attribute name="CacheService">jboss.cache:service=TreeCache</attribute>-->
       <!--</mbean>-->
</server>

Code Node1 :

         Fqn insuranceFqn = Fqn.fromString("/com/themunicenter/insurance");
         cache = new TreeCache();
         PropertyConfigurator config = new PropertyConfigurator();
         config.configure(cache, "/usr/local/tmc/replication-configuration.xml");
         cache.createService();
         cache.startService();
         HashMap map = new HashMap();
         map.put("abc", "ValueToBeShown");
         cache.put(insuranceFqn, map);

Code Node 2:

         cache = new TreeCache();
         PropertyConfigurator config = new PropertyConfigurator();
         config.configure(cache, "/usr/local/tmc/MuniCenter/properties/replication-configuration.xml");
         cache.createService();
         cache.startService();
         Fqn insuranceFqn = Fqn.fromString("/com/themunicenter/insurance");
         String testData = (String) cache.get(insuranceFqn,"abc");
         System.out.println("THE CACHE NOW IS"+testData);

The cache shows as NULL when node2 code runs:

Log from Server is attached here(showing the communication is happening fine between the nodes):
I say server here,since the progams put and pick messages in Jboss cache based on inflow of a JMS message on weblogic JMS queue.

Will really appreciate any pointers...thanks for taking time to look into this issue!!

The last few lines in server log shows:
2010-06-23 14:12:56,207 -  WARN (STATE_TRANSFER.java:283:[UpHandler (STATE_TRANSFER)]) - state received from 10.9.10.164:44127 is null, will return null state to application

2010-06-23 14:12:56,207 -  INFO (TreeCache.java:2632:[main]) - *state could not be retrieved (must be first member in group)*
2010-06-23 14:12:56,207 -  INFO (TreeCache.java:4010:[Thread-10]) - new cache is null (may be first member in cluster)
2010-06-23 14:12:56,207 -  INFO (TreeCache.java:1281:[main]) - Cache is started!!
2010-06-23 14:12:56,208 - DEBUG (PessimisticLockInterceptor.java:217:[main]) - failed to find or create child com of node /
2010-06-23 14:12:56,208 - DEBUG (TreeCache.java:2716:[main]) - _get("/com/themunicenter/insurance", 010824FU9, "true")

--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/549375#549375]

Start a new discussion in JBoss Cache at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2052]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20100623/9572e474/attachment-0001.html 


More information about the jboss-user mailing list