Coda File System

Doubts on replication strategy in CODA

From: Sundaram, Arunkumar <arunkumar_sundaram_at_adaptec.com>
Date: Tue, 18 May 2004 21:58:21 +0530
Hi Everyone,
 
First of all a big kudos to CODA community, it's a wonderful job you guys are doing.
 
In one of the documents I read that CODA uses read-one, write-all approach for server replication. I am a little bit concerned here.
 
Let's assume that there are three replicated servers A, B and C.
And let's assume that client Ac is connected to A, client Bc is connected to B and client Cc is connected to C.
 
In this scenario let's say there is a file named "CommonFile" under root directory of CODA share. Consider a sequence of following operations on this file
 
Ac opens "CommonFile" for write
Bc opens "CommonFile" for write
Ac appends some content �A to "CommonFile"
Bc appends some content �B to "CommonFile"
Ac propagates �A to other replicated servers
Bc propagates �B to other replicated servers
lets say at this time �A is propagated to servers in the following order; first to A then to C and then to B
lets say at the same time �B is propagated to servers in the following order; first to B then to C and then to A
In this situation there is a chance for
server A to have "CommonFile" + �B and lost �A
server B to have "CommonFile" + �A and lost �B
 
Basically I would like to know whether there is any locking done when accessing a single file, if yes who is responsible for it.
Or is it a limitation that files cannot be used simultaneously at two clients connected to two different duplicated servers.
 
Please feel free to clarify anything in this question with me; I may have not stated things clearly. Thanks in advance.
 
Cheers,
Arun
Received on 2004-05-18 12:29:23