On 10/25/13 13:33, Anand Avati wrote:
On Fri, Oct 25, 2013 at 12:51 PM, James <[email protected]
<mailto:[email protected]>> wrote:

    On Fri, Oct 25, 2013 at 3:18 PM, Anand Avati <[email protected]
    <mailto:[email protected]>> wrote:
     > In normal operations they will differ as much as the time drift
    between the
     > servers + lag in delivery/issue of write() calls on the servers.
    This delta
     > is "fixed up" by consistently returning the highest of the two mtimes
     > whenever queried.


    But lets says we have replica == 2.
    On server A this mtime is 4:45
    On server B this mtime is 4:46
    So fuse queries the times, and it returns the max, which is 4:46.
    All is good.
    Suppose now that server B is down, and the query is run again.
    It should now return 4:45, although this means that file has changed
    mtime.
    This could break client operations, which may care about a change in
    mtime.

    Note that I don't expect differences of 1 minute, but I just chose
    arbitrary values to make understanding the example easier.

    So isn't this a bug?


This is a known behavior - when a server goes down, files can witness a
changed mtime (but I don't think that is what the original post was
about). We could provide a new feature/enhancement to keep mtimes in
sync with explicit utimes() call per-write() - but that might be too
expensive for most users.

Also, the time used would have to be sent from the client (using the client's time.) Otherwise, every query will cause a time negotiation between all servers to figure out the "proper" time.

Then it will be on the users to keep all clients sync'd, or you will have competing time updates.

--
Mr. Flibble
King of the Potato People
_______________________________________________
Gluster-users mailing list
[email protected]
http://supercolony.gluster.org/mailman/listinfo/gluster-users

Reply via email to