Subject: Re: POHMELFS high performance network filesystem. Transactions, failover, performance.

From: Jeff Garzik <[email-masked]>
Date: Wed, 14 May 2008 17:34:22 -0400

Evgeniy Polyakov wrote:
> Well, that's how things exist today - POHMELFS client connects to number
> of servers and can send data to all of them (currently it doest that for
> only 'active' server, i.e. that which was not failed, but that can be
> trivially changed). It should be extended to receive 'add/remove server
> to the group' command and liekly that's all (modulo other todo items
> which are not yet resolved). Then that group becomes quorum and client
> has to get response from them. Kind of that...
> 
> What I do not like, is putting lots of logic into client, like following
> inner server state changes (sync/not sync, quorum election and so on).
> With above dumb scheme it should not, but some other magic in the server
> land will tell client with whom to start working.

The client need not (and should not) worry about quorum, elections or 
server cloud state management.  The client need only support these 
basics: some method of read balancing, parallel data writes, and a 
method to retrieve a list of active servers.

The server cloud and/or cluster management can handle the rest, 
including telling the client if the transaction failed or succeeded (as 
it must), or if it should store to additional replicas before the 
transaction may proceed.

	Jeff