[Gluster-devel] geo-rep regression because of node-uuid change
Xavier Hernandez
xhernandez at datalab.es
Tue Jun 20 07:56:53 UTC 2017
Hi Pranith,
adding gluster-devel, Kotresh and Aravinda,
On 20/06/17 09:45, Pranith Kumar Karampuri wrote:
>
>
> On Tue, Jun 20, 2017 at 1:12 PM, Xavier Hernandez <xhernandez at datalab.es
> <mailto:xhernandez at datalab.es>> wrote:
>
> On 20/06/17 09:31, Pranith Kumar Karampuri wrote:
>
> The way geo-replication works is:
> On each machine, it does getxattr of node-uuid and check if its
> own uuid
> is present in the list. If it is present then it will consider
> it active
> otherwise it will be considered passive. With this change we are
> giving
> all uuids instead of first-up subvolume. So all machines think
> they are
> ACTIVE which is bad apparently. So that is the reason. Even I
> felt bad
> that we are doing this change.
>
>
> And what about changing the content of node-uuid to include some
> sort of hierarchy ?
>
> for example:
>
> a single brick:
>
> NODE(<guid>)
>
> AFR/EC:
>
> AFR[2](NODE(<guid>), NODE(<guid>))
> EC[3,1](NODE(<guid>), NODE(<guid>), NODE(<guid>))
>
> DHT:
>
> DHT[2](AFR[2](NODE(<guid>), NODE(<guid>)), AFR[2](NODE(<guid>),
> NODE(<guid>)))
>
> This gives a lot of information that can be used to take the
> appropriate decisions.
>
>
> I guess that is not backward compatible. Shall I CC gluster-devel and
> Kotresh/Aravinda?
Is the change we did backward compatible ? if we only require the first
field to be a GUID to support backward compatibility, we can use
something like this:
Bricks:
<guid>
AFR/EC:
<guid>(<guid>, <guid>)
DHT:
<guid>(<guid>(<guid>, ...), <guid>(<guid>, ...))
In this case, AFR and EC would return the same <guid> they returned
before the patch, but between '(' and ')' they put the full list of
guid's of all nodes. The first <guid> can be used by geo-replication.
The list after the first <guid> can be used for rebalance.
Not sure if there's any user of node-uuid above DHT.
Xavi
>
>
>
> Xavi
>
>
> On Tue, Jun 20, 2017 at 12:46 PM, Xavier Hernandez
> <xhernandez at datalab.es <mailto:xhernandez at datalab.es>
> <mailto:xhernandez at datalab.es <mailto:xhernandez at datalab.es>>>
> wrote:
>
> Hi Pranith,
>
> On 20/06/17 07:53, Pranith Kumar Karampuri wrote:
>
> hi Xavi,
> We all made the mistake of not sending about changing
> behavior of
> node-uuid xattr so that rebalance can use multiple nodes
> for doing
> rebalance. Because of this on geo-rep all the workers
> are becoming
> active instead of one per EC/AFR subvolume. So we are
> frantically trying
> to restore the functionality of node-uuid and introduce
> a new
> xattr for
> the new behavior. Sunil will be sending out a patch for
> this.
>
>
> Wouldn't it be better to change geo-rep behavior to use the
> new data
> ? I think it's better as it's now, since it gives more
> information
> to upper layers so that they can take more accurate decisions.
>
> Xavi
>
>
> --
> Pranith
>
>
>
>
>
> --
> Pranith
>
>
>
>
>
> --
> Pranith
More information about the Gluster-devel
mailing list