"bela" wrote : glad you found the STABLE protocol. You're also missing a failure detection protocol (FD for example), so try killing a member and see what happens, this might lead to problems. Well, I am further along now, but things are still quirky. Here is the latest configuration that I am using for TreeCache (IP addresses changed for security reasons):
<?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.JBossTransactionManagerLookup</attribute> | | <!-- | 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_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">TelematicsCache</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> | <TCP start_port="7900" bind_addr="143.61.XXX.XXX"/> | <TCPPING initial_hosts="143.61.YYY.ZZZ[7900]" port_range="1" timeout="3000" | num_initial_members="1" up_thread="true" down_thread="true"/> | <FD shun="true" up_thread="true" down_thread="true" timeout="2500" max_tries="5" /> | <VERIFY_SUSPECT timeout="1500" up_thread="false" down_thread="false" /> | <pbcast.NAKACK gc_lag="100" retransmit_timeout="3000" up_thread="true" down_thread="true" /> | <pbcast.STABLE desired_avg_gossip="20000" up_thread="false" down_thread="false" /> | <pbcast.GMS join_timeout="5000" join_retry_timeout="2000" shun="false" print_local_addr="false" down_thread="true" up_thread="true" /> | <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/> | </config> | </attribute> | | <!-- | Max number of entries in the cache. If this is exceeded, the | eviction policy will kick some entries out in order to make | more room | --> | <attribute name="MaxCapacity">20000</attribute> | | <!-- | Whether or not to fetch state on joining a cluster | --> | <attribute name="FetchStateOnStartup">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. | --> | <attribute name="SyncReplTimeout">10000</attribute> | | <!-- Max number of milliseconds to wait for a lock acquisition --> | <attribute name="LockAcquisitionTimeout">15000</attribute> | | <!-- Max number of milliseconds we hold a lock (not currently | implemented) --> | <attribute name="LockLeaseTimeout">60000</attribute> | | <!-- Name of the eviction policy class. Not supported now. --> | <attribute name="EvictionPolicyClass"></attribute> | </mbean> | | | </server> I have two servers that are clustered: one Win2K server with Java 1.4.1 and one HP/UX server with Java 1.3.1. Both are running JBoss 3.2.2. Here's the sequence of events that works as expected: 1) Start Win2K JBoss instance. TreeCache is initialized with data from this instance. Wait until it is completely started. 2) Start HP/UX JBoss instance. TreeCache state is transferred successfully to this node and additional data is added from this node. Both nodes have synchronized cache information. 3) Stop HP/UX JBoss instance. TreeCache is updated to reflect the loss of this node. 4) Start HP/UX JBoss instance again. TreeCache state is successfully transferred (again) and the cache is updated to reflect the reappearance of this node. Now, time for quirkiness to occur -- new sequence of events: 1) Start Win2K JBoss instance. TreeCache is initialized with data from this instance. Wait until it is completely started. 2) Start HP/UX JBoss instance. TreeCache state is transferred successfully to this node and additional data is added from this node. Both nodes have synchronized cache information. 3) Stop Win2K JBoss instance. TreeCache is updated to reflect loss of this node. 4) Start Win2K JBoss instance again. TreeCache state appears to be transferred successfully, BUT the updates applied to the cache by the Win2K node are not distributed to the cache instance on the HP/UX node. Looking in the log, I see the following message repeated for each update that should have been replicated: [ERROR] RpcDispatcher.handle(): exception=java.lang.ClassNotFoundException: No ClassLoaders found for: boolean Any ideas as to what's going on here? Why would it work in one direction and not the other? "bela" wrote : Wrt docs, I'm working on it, but because I'm also working on several other projects, this thread gets a bit starved... :-) | Bela I know the feeling... :-) I've got about 5 projects that are going concurrently, plus a baby on the way at home (which adds a whole lot of home projects!) If I can get this cache to work as I expect, it will really help take the pressure off of this project, so I can focus on the others. <a href="http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3824964#3824964">View the original post</a> <a href="http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3824964>Reply to the post</a> ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ JBoss-Development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development
