AnsweredAssumed Answered

Cluster Issues - New Content not showing on other servers

Question asked by curious_george on Apr 25, 2008
Latest reply on Dec 10, 2008 by amitabhandari1
I'm running Alfresco 2.1 CE on Linux. I've created a clustered Alfresco environment on two servers. They share the same content store (and use local lucene index directories, of course). Despite having followed the Wiki instructions to the dot, I am still having issues with clustering. If I create a document on one machine (e.g. ServerA), it does not show up on the other machine, ServerB. Both servers have their times synchronized via ntpd.

I turned up debug logging for the ehcache methods. I can see that the servers are receiving heartbeats from each other every 10 seconds. Furthermore, if I create a document on ServerB, I can see entries on ServerA's log file that display the following:

2008-04-25 09:41:23,681 DEBUG [net.sf.ehcache.distribution.RMICachePeer] Remote remove received for key: org.alfresco.repo.domain.hibernate.NodeImpl#104096
2008-04-25 09:41:23,683 DEBUG [net.sf.ehcache.distribution.RMICachePeer] Remote remove received for key: alf_node_status
2008-04-25 09:41:23,735 DEBUG [net.sf.ehcache.distribution.RMICachePeer] Remote remove received for key: org.alfresco.repo.domain.hibernate.NodeStatusImpl#NodeKey[ id=6d44db9a-12e6-11dd-bd5e-8742755ac402, protocol=workspace, identifier=SpacesStore]

How come documents created on ServerA do not show up on ServerB? If I restart the Alfresco server, the documents will appear (I presume this is due to the lucene indexes being recreated)

Here is the relevant portion of my custom-repository.properties:
index.recovery.mode=AUTO
db.schema.update=false

index.tracking.cronExpression=0/10 * * * * ?
index.tracking.adm.cronExpression=${index.tracking.cronExpression}
index.tracking.avm.cronExpression=${index.tracking.cronExpression}
index.tracking.maxTxnDurationMinutes=60
index.tracking.reindexLagMs=1000
index.tracking.maxRecordSetSize=1000

I have ehcache-custom.xml in my {extRoot}/alfresco/extension directory. Both servers use the same multicast address and ports.  Being that it's a very large file, here's the top portion of it:
    <cacheManagerPeerProviderFactory
            class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
            properties="peerDiscovery=automatic,
                        multicastGroupAddress=230.0.0.1,
                        multicastGroupPort=4446"/>

Thanks in advance for any responses - looking through the forums, I see that this is an issue that a few other people have encountered with varying degrees of success.

Outcomes