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