[Bugs] [Bug 1500472] New: Use a bitmap to store local node info instead of conf-> local_nodeuuids[i].uuids

bugzilla at redhat.com bugzilla at redhat.com
Tue Oct 10 16:15:34 UTC 2017


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

            Bug ID: 1500472
           Summary: Use a bitmap to store local node info instead of
                    conf->local_nodeuuids[i].uuids
           Product: GlusterFS
           Version: 3.12
         Component: distribute
          Keywords: Triaged
          Priority: high
          Assignee: bugs at gluster.org
          Reporter: nbalacha at redhat.com
                CC: bugs at gluster.org, srangana at redhat.com
        Depends On: 1451434



+++ This bug was initially created as a clone of Bug #1451434 +++

Description of problem:
>From Jeff Darcy's review:

"Do we really need to gf_uuid_compare here?  What if, instead of storing the
complete list of UUIDs for each replica set, we instead stored a bitmap of
which replicas were local?  Then this comparison would look more like this.
   if ((1 << index) && conf->local_replicas_mask)
Because the bitmap would be more compact, this might also ease worries about
dynamic memory allocation etc."

...

"I'm just keenly aware that this is likely to be a frequently executed code
path - there could be millions of files to be rebalance - so extra loops need
to be carefully considered.  If they're justified, great, so long as they're
considered."

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

--- Additional comment from Worker Ant on 2017-07-21 07:15:49 EDT ---

REVIEW: https://review.gluster.org/17851 (cluster/dht: Don't store the entire
uuid for subvols WIP) posted (#1) for review on master by N Balachandran
(nbalacha at redhat.com)

--- Additional comment from Worker Ant on 2017-09-15 02:07:26 EDT ---

REVIEW: https://review.gluster.org/17851 (cluster/dht: Don't store the entire
uuid for subvols) posted (#2) for review on master by N Balachandran
(nbalacha at redhat.com)

--- Additional comment from Worker Ant on 2017-09-15 12:20:07 EDT ---

REVIEW: https://review.gluster.org/17851 (cluster/dht: Don't store the entire
uuid for subvols) posted (#3) for review on master by N Balachandran
(nbalacha at redhat.com)

--- Additional comment from Worker Ant on 2017-10-03 10:00:31 EDT ---

REVIEW: https://review.gluster.org/17851 (cluster/dht: Don't store the entire
uuid for subvols) posted (#4) for review on master by N Balachandran
(nbalacha at redhat.com)

--- Additional comment from Worker Ant on 2017-10-04 03:45:00 EDT ---

REVIEW: https://review.gluster.org/17851 (cluster/dht: Don't store the entire
uuid for subvols) posted (#5) for review on master by N Balachandran
(nbalacha at redhat.com)

--- Additional comment from Worker Ant on 2017-10-05 08:39:36 EDT ---

REVIEW: https://review.gluster.org/17851 (cluster/dht: Don't store the entire
uuid for subvols) posted (#6) for review on master by N Balachandran
(nbalacha at redhat.com)

--- Additional comment from Worker Ant on 2017-10-10 04:58:43 EDT ---

COMMIT: https://review.gluster.org/17851 committed in master by Raghavendra G
(rgowdapp at redhat.com) 
------
commit c4a608799a577a4f38139f6bb8a47da8efb0fec3
Author: N Balachandran <nbalacha at redhat.com>
Date:   Fri Jul 21 16:38:14 2017 +0530

    cluster/dht: Don't store the entire uuid for subvols

    Comparing the uuid string of the local node against that stored in the
    local_subvol information is inefficient, especially as it is
    done for every file to be migrated. The code has now been changed
    to set the value of info to 1 if the nodeuuid is that of the node
    making the comparison so this becomes an integer comparison.

    Change-Id: I7491d59caad3b71dbf5facc94dcde0cd53962775
    BUG: 1451434
    Signed-off-by: N Balachandran <nbalacha at redhat.com>


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1451434
[Bug 1451434] Use a bitmap to store local node info instead of
conf->local_nodeuuids[i].uuids
-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list