Bug 1056406 - DHT + add brick : Directory self heal is fixing hash layout for few Directories
Summary: DHT + add brick : Directory self heal is fixing hash layout for few Directories
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: distribute
Version: pre-release
Hardware: x86_64
OS: Linux
high
high
Target Milestone: ---
Assignee: Nagaprasad Sathyanarayana
QA Contact:
URL:
Whiteboard:
Depends On: 1049771 1286067
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-01-22 06:58 UTC by Poornima G
Modified: 2016-02-18 00:20 UTC (History)
8 users (show)

Fixed In Version: glusterfs-3.6.0beta1
Doc Type: Bug Fix
Doc Text:
Clone Of: 1049771
Environment:
Last Closed: 2014-11-11 08:27:12 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Comment 1 Anand Avati 2014-01-22 07:36:55 UTC
REVIEW: http://review.gluster.org/6757 (cluster/dht: Fix layout sorting) posted (#1) for review on master by poornima g (pgurusid)

Comment 2 Anand Avati 2014-01-29 12:51:51 UTC
REVIEW: http://review.gluster.org/6757 (cluster/dht: Fix layout sorting) posted (#2) for review on master by Poornima G (pgurusid)

Comment 3 Anand Avati 2014-02-04 01:24:00 UTC
REVIEW: http://review.gluster.org/6757 (cluster/dht: Fix layout sorting) posted (#3) for review on master by Anand Avati (avati)

Comment 4 Anand Avati 2014-02-04 01:24:29 UTC
COMMIT: http://review.gluster.org/6757 committed in master by Anand Avati (avati) 
------
commit 120235d6f5c85af2a0be17ad2705159e9d0b3adf
Author: Poornima G <pgurusid>
Date:   Tue Jan 21 23:50:23 2014 +0000

    cluster/dht: Fix layout sorting
    
    The layout was not being sorted in the ascending order leading
    to the wrong detection of holes/overlaps.
    
    From looking at the previous git commits it appears that the initial version itself had the err comparison code.
    Deductions from the current dht_layout_sort():
    1. The zero'ed out layouts should be in the from of list, if needed
    2. The layout should be sorted in the ascending order of layout error value.
    3. The layout should be sorted in the ascending order of the layout 'start'.
    But In some cases, with the err comparison code its not sorted in the ascending order. Example: If the input is as below for dht_layout_sort(), the sorting doesn't happen in ascending order.
    Input:
    0-1 err:0    2-3 err:0   6-7 err:0    0-0 err:20   4-5 err:0
    
    With the current sort, Output:
    4-5 err:0    0-0 err:0    0-1 err:0    2-3 err:0    6-7 err:0
    Expected: 0-0 err:20 0-1 err:0 2-3 err:0 4-5 err:0 6-7 err:0
    Looking at dht_layout_anomalies() it appears that, it doesn't require the layout to be sorted based on error value.
    The other solution was to replace line 468 with:
     if ((layout->list[i].err || layout->list[j].err) && (layout->list[i].start > layout->list[j].start))
    Since dht_layout_anomalies() didn't expect the layout to be sorted based on the error, removed the err comparison.
    
    Change-Id: I1215f6cd53efc7dba01c0958ba6cc7609dab6ff5
    BUG: 1056406
    Signed-off-by: Poornima G <pgurusid>
    Reviewed-on: http://review.gluster.org/6757
    Reviewed-by: Anand Avati <avati>
    Tested-by: Anand Avati <avati>

Comment 5 Niels de Vos 2014-09-22 12:35:13 UTC
A beta release for GlusterFS 3.6.0 has been released. Please verify if the release solves this bug report for you. In case the glusterfs-3.6.0beta1 release does not have a resolution for this issue, leave a comment in this bug and move the status to ASSIGNED. If this release fixes the problem for you, leave a note and change the status to VERIFIED.

Packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update (possibly an "updates-testing" repository) infrastructure for your distribution.

[1] http://supercolony.gluster.org/pipermail/gluster-users/2014-September/018836.html
[2] http://supercolony.gluster.org/pipermail/gluster-users/

Comment 6 Niels de Vos 2014-11-11 08:27:12 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.6.1, please reopen this bug report.

glusterfs-3.6.1 has been announced [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://supercolony.gluster.org/pipermail/gluster-users/2014-November/019410.html
[2] http://supercolony.gluster.org/mailman/listinfo/gluster-users


Note You need to log in before you can comment on or make changes to this bug.