On 04/09/2015 07:26 PM, Eric Mortensen wrote:
Yes that is correct, read from a different mount (different brick/server). The error from the app server when reading is that the file was not found. (The actual error from the OS which leads to the 404 error from the app server is not visible, I will try and log it. I am pretty sure the OS error is file not found, though.)

The fact that if I add a 1 second wait in the (automated) test client between create and read, then everything is fine, that is what leads me to believe that the problem is that the second server (where the read happens) has not been synchronized with the first server.

But this would make no sense if the replication is synchronous, no?
+gluster-users

hi Eric,
Replication is synchronous, but there are performance translators like write-behind which keep the written data in memory before flushing to the replication module which in turn send the data to the respective bricks synchronously. One more question, are the app servers accessing the files directly through the backend filesystem or using a gluster mount?

Pranith

Eric Mortensen
Appstax Technologies


On Thu, Apr 9, 2015 at 3:32 PM, Pranith Kumar Karampuri <[email protected] <mailto:[email protected]>> wrote:


    On 04/09/2015 04:39 PM, Eric Mortensen wrote:
    We have a Gluster replicated setup with 2 servers. Each server
    also runs an app server that functions as a client of the gluster
    files. Client access to the appservers are load balanced using
    round robin.

    Sometimes, when a client creates a new file and then immediately
    tries to read it, the read fails because the appserver cannot
    find it. If the client sleeps for about 1 second between creating
    the file and reading it, the read always succeeds.

    I was under the impression that gluster replication was
    synchrounous, so the appserver would not return back to the
    client until the created file was replicated to the other server.
    But this does not seem to be the case, because sleeping a little
    bit always seems to make the read failures go away. Is there any
    other reason why a file created is not immediately available on a
    second request?

    I am running 3.6.2 and have not configured anything special
    except storage.owner-id and auth.allow.

    If I understand correctly, creates are happening from one mount
    and reads are happening from another mount?

    What do you mean by read failing? Does it give any error? or the
    data read is not complete?

    Pranith

    Thanks!
    Eric Mortensen
    Appstax Technologies


    _______________________________________________
    Gluster-users mailing list
    [email protected]  <mailto:[email protected]>
    http://www.gluster.org/mailman/listinfo/gluster-users



_______________________________________________
Gluster-users mailing list
[email protected]
http://www.gluster.org/mailman/listinfo/gluster-users

Reply via email to