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

Reply via email to