We have two clustering servers for applications. We have always got a serious problem of document conflicted when two persons open a same document on different server. Do we have the way to prevent this problem? I knew that we can mark “out of services” on databases but it’s not effective way cause of a lot of databases and no fail-over. Your help will be appreciated.
Subject: Clustering Problem - Document Conflicted
Hi,
Did you solve this problem already? What did you do to prevent users to edit the same documents on different servers? I have a same situation which I want to solve…
Hope you will have some more information!
Regards, Janno
Subject: RE: Clustering Problem - Document Conflicted
Hi Janno
I don’t know of the question if for me but in my first post, there is a few steps to take.
First, you must know what is the average time taken by your cluster .
Like I said, the most interesting stats are:
Retry.Skipped
SecondsOnQueue
SecondsOnQueue.Avg
SecondsOnQueue.Max
WorkQueueDepth
WorkQueueDepth.Avg
WorkQueueDepth.Max
How many cluster replicators do you have?
JYR
Subject: Clustering Problem - Document Conflicted
You can use the document locking feature.
Do you have a lot of replication conflicts? Are your clsuters used for mail?
A cluster should take less than 5 seconds to update a document on a cluster.
You can run this command on your clustered servers:
show stat replica.cluster*
You will have stats like that:
Replica.Cluster.CachedHandles Number of handles cached by cluster.
Replica.Cluster.Docs.Added Number of docs added by cluster replicator.
Replica.Cluster.Docs.Deleted Number of docs deleted by cluster replicator.
Replica.Cluster.Docs.Updated Number of docs updated by cluster replicator.
Replica.Cluster.Failed Number of failed replications since server startup.
Replica.Cluster.Files.Local Number of cluster replicas on this server.
Replica.Cluster.Files.Remote Number of cluster replicas on other servers in cluster.
Replica.Cluster.Retry.Skipped Number of times the Cluster Replicator did not attempt replication because it knew the server was unreachable or the database inaccessible.
Replica.Cluster.Retry.Waiting Number of replicas currently waiting for replication retry attempts.
Replica.Cluster.SecondsOnQueue Number of seconds Cluster Replictor was on queue.
Replica.Cluster.SecondsOnQueue.Avg Average number of seconds Cluster Replictor was on queue.
Replica.Cluster.SecondsOnQueue.Max Maximum number of seconds Cluster Replictor was on queue.
Replica.Cluster.Servers Number of other servers in the cluster that are receiving replications from this server.
Replica.Cluster.SessionBytes.In Number of incoming bytes to the Cluster Replicator.
Replica.Cluster.SessionBytes.Out Number of outgoing bytes to the Cluster Replicator.
Replica.Cluster.Successful Number of successful replications since server startup.
Replica.Cluster.WorkQueueDepth Current number of modified databases in the queue waiting to be replicated by the Cluster Replicator to other servers.
Replica.Cluster.WorkQueueDepth.Avg Average number of modified databases in the queue waiting to be replicated by the Cluster Replicator to other servers.
Replica.Cluster.WorkQueueDepth.Max Maximum number of modified databases in the queue waiting to be replicated by the Cluster Replicator to other servers.
Replica.Docs.Added Number of documents added to the server’s databases via replication.
Replica.Docs.Deleted Number of documents deleted from the server’s databases via replication.
Replica.Docs.Updated Number of documents updated in the server’s databases via replication.
Replica.Failed Number of attempted replications that returned some kind of error.
Replica.Successful Number of replication attempts that returned no error of any kind.
How many cluster replicators do you have?
If you run good servers, with dedicated network card, you should run at least 4 instances. One of my client was runnign 6 instances of cluster replicator without any problems.
Subject: RE: Clustering Problem - Document Conflicted
Sorry for the display,
the most interesting stats are:
Retry.Skipped
SecondsOnQueue
SecondsOnQueue.Avg
SecondsOnQueue.Max
WorkQueueDepth
WorkQueueDepth.Avg
WorkQueueDepth.Max
JYR