Updates:
        Cc: baranowb

Comment #6 on issue 1526 by baranowb: Buddy replication not working with MSS Fault Tolerant Timers
http://code.google.com/p/mobicents/issues/detail?id=1526

Actually fixing that NPE wont help. Election process must be altered. It needs to check for group member. (However that check is required for cases when data is not replicated yet, I think)

Attaching server.logs for N1, N2, N3 - in logs N3 takes over, but N2 was buddy backup for N1 which has been killed.

Tested with repl sync timeout set to 500ms and ~20s, same result.



Conf:

<bean name="Mobicents.CacheConfig" class="org.jboss.cache.config.Configuration">

<property name="transactionManagerLookupClass">org.jboss.cache.transaction.JBossTransactionManagerLookup
                </property>

                <property name="nodeLockingScheme">MVCC</property>
                <property name="isolationLevel">REPEATABLE_READ</property>
                <property name="useLockStriping">false</property>

                <!--
                        Must use REPL since used for timestamp caching. Must 
use SYNC to
                        maintain cache coherency for entities.
                -->
                <property name="cacheMode">REPL_SYNC</property>
<property name="clusterName">${jboss.partition.name:DefaultPartition}-mobicents-slee
                </property>
<property name="multiplexerStack">${jboss.default.jgroups.stack:udp}</property>
                <!--
                        Used for timestamps, so must fetch state. <property
                        name="fetchInMemoryState">true</property>
                -->
                <!--
                        The max amount of time (in milliseconds) we wait until 
the state (ie.
                        the contents of the cache) are retrieved from existing 
members at
                        startup. Ignored if FetchInMemoryState=false.
                -->
                <property name="stateRetrievalTimeout">60000</property>
                <!--
                        Number of milliseconds to wait until all responses for 
a synchronous
                        call have been received.
                -->
                <property name="syncReplTimeout">500</property>
                <!-- Max number of milliseconds to wait for a lock acquisition 
-->
                <property name="lockAcquisitionTimeout">15000</property>

                <property name="useRegionBasedMarshalling">true</property>
                <property name="inactiveOnStartup">true</property>

                <!-- Disable asynchronous RPC marshalling/sending -->
                <property name="serializationExecutorPoolSize">0</property>
                <!-- We have no asynchronous notification listeners -->
                <property name="listenerAsyncPoolSize">0</property>

                <property name="lockParentForChildInsertRemove">false</property>
                <property name="buddyReplicationConfig">
                        <bean 
class="org.jboss.cache.config.BuddyReplicationConfig">

                                <!--  Just set to true to turn on buddy 
replication -->
                                <property name="enabled">true</property>

                                <!--
                                        A way to specify a preferred 
replication group. We try and pick a
                                        buddy who shares the same pool name 
(falling back to other buddies
                                        if not available).
                                -->
                                <property 
name="buddyPoolName">default</property>

                                <property 
name="buddyCommunicationTimeout">17500</property>

                                <!-- Do not change these -->
                                <property 
name="autoDataGravitation">false</property>
                                <property 
name="dataGravitationRemoveOnFind">true</property>
                                <property 
name="dataGravitationSearchBackupTrees">true</property>

                                <property name="buddyLocatorConfig">
                                        <bean
                                                
class="org.jboss.cache.buddyreplication.NextMemberBuddyLocatorConfig">
                                                <!-- The number of backup copies 
we maintain -->
                                                <property 
name="numBuddies">1</property>
                                                <!--
                                                        Means that each node 
will try to select a buddy on a different
                                                        physical host. If not 
able to do so though, it will fall back to
                                                        colocated nodes.
                                                -->
                                                <property 
name="ignoreColocatedBuddies">true</property>
                                        </bean>
                                </property>
                        </bean>
                </property>
                <demand>RealTransactionManager</demand>
        </bean>

Attachments:
        server1.log  30.7 KB
        server2.log  31.4 KB
        server3.log  32.2 KB

Reply via email to