Re: close() blocks until flush-behind finishes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello again,

On Thu, Sep 15, 2011 at 10:53:35AM +0530, Raghavendra G wrote:
> The option flush-behind makes only the flush call as background. However it
> waits for all the writes to complete, so that it can return the application
> errors (if any) happened while syncing them to server. [...]

Ok, I understand the behavior now, close() returns when the writes to
all (replicating) servers are complete.  I would like to sketch our
desired setup/situation.  Maybe it is something that is already possible
but we haven't thought of the right solution, or we could work towards it.

We have a client machine and a server/master machine that is connected
to the client machine via a relatively low-bandwidth line.  To prevent
noticing this low bandwidth on the client-side, we thought of writing
data fast locally, and getting the data to the server in a flush-behind
fashion.  However, the blocking behavior of close() currently gets in
the way performance-wise.

Our idea was to have a gluster server with a brick on the client that
can be fully trusted, and a replicating gluster server with a brick on
the master.  When we write, close() returns once the local client
gluster server has received all the data and client-side write errors
can thus still be reported.  If flushing to the replacing server fails
thereafter for whatever reason, self-healing can be applied.

Is this kind of low-bandwidth robust setup already possible?  If not,
are there any pointers to where we could add/improve things?

Kind regards,
Paul

-- 
PhD Student @ Eindhoven                     | email: paul@xxxxxxxx
University of Technology, The Netherlands   | JID: paul@xxxxxxxx
>>> Using the Power of Debian GNU/Linux <<< | GnuPG key ID: 0x50064181



[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux