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&...]