[Bugs] [Bug 1324809] arbiter volume write performance is bad.

bugzilla at redhat.com bugzilla at redhat.com
Mon Apr 11 12:04:12 UTC 2016


https://bugzilla.redhat.com/show_bug.cgi?id=1324809



--- Comment #3 from Vijay Bellur <vbellur at redhat.com> ---
COMMIT: http://review.gluster.org/13925 committed in release-3.7 by Kaushal M
(kaushal at redhat.com) 
------
commit c9c2c08d34003f49bc3a509757a135665fb20518
Author: Ravishankar N <ravishankar at redhat.com>
Date:   Tue Apr 5 15:16:52 2016 +0530

    arbiter: write performance improvement

    Backport of: http://review.gluster.org/#/c/13906

    Problem: The throughput for a 'dd' workload was much less for arbiter
    configuration when compared to normal replica-3 volume. There were 2
    issues:

    i)arbiter_writev was using the request dict as response dict while
    unwinding, leading to incorect GLUSTERFS_WRITE_IS_APPEND and
    GLUSTERFS_OPEN_FD_COUNT values (=4), leading to immediate post-ops
    because is_afr_delayed_changelog_post_op_needed() failed due to
    afr_are_multiple_fds_opened() check.

    ii) The arbiter code in afr was setting local->transaction.{start and len}
=0
    to take full file locks. What this meant was even for simultaenous but
    non-overlapping writevs, afr_transaction_eager_lock_init() was not
    happening because afr_locals_overlap() always stays true. Consequently
    is_afr_delayed_changelog_post_op_needed() failed due to
    local->delayed_post_op not being set.

    Fix:
    i) Send appropriate response dict values in arbiter_writev.
    ii) Modify flock params instead of local->transaction.{start and len} to
    take full file locks in the transaction.

    Also changed _fill_writev_xdata() in posix to fill rsp_xdata for
    whatever key is requested for.

    Change-Id: I1c5fc5e98aba49ade540bb441a022e65b753432a
    BUG: 1324809
    Signed-off-by: Ravishankar N <ravishankar at redhat.com>
    Reported-by: Robert Rauch <robert.rauch at gns-systems.de>
    Reported-by: Russel Purinton <russell.purinton at gmail.com>
    Reviewed-on: http://review.gluster.org/13925
    Smoke: Gluster Build System <jenkins at build.gluster.com>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu at redhat.com>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.com>
    NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=NcHF4s7maO&a=cc_unsubscribe


More information about the Bugs mailing list