Re: Usage of xdata to send anything on wire

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




----- Original Message -----
> From: "Poornima Gurusiddaiah" <pgurusid@xxxxxxxxxx>
> To: "Gluster Devel" <gluster-devel@xxxxxxxxxxx>, "Niels de Vos" <ndevos@xxxxxxxxxx>, "Jeff Darcy"
> <jdarcy@xxxxxxxxxx>, "Raghavendra Talur" <rtalur@xxxxxxxxxx>, "Rajesh Joseph" <rjoseph@xxxxxxxxxx>, "Pranith Kumar
> Karampuri" <pkarampu@xxxxxxxxxx>, "Soumya Koduri" <skoduri@xxxxxxxxxx>, "Raghavendra Gowdappa"
> <rgowdapp@xxxxxxxxxx>, "Anoop Chirayath Manjiyil Sajan" <achiraya@xxxxxxxxxx>
> Sent: Friday, May 13, 2016 3:18:51 PM
> Subject: Usage of xdata to send anything on wire
> 
> Hi,
> 
> In the recent past, have seen multiple instances where we needed to send some
> data along with the fop on wire. And we have been using the xdata for the
> same. Eg:
> 1. Add lease-id, transaction id to every fop.
> 2. Send the xattrs to invalidate in xdata.
> 3. Send the share flags during open.
> 
> There were concerns raised around this for the below reasons:
> 1. word-size and endianness
> 2. security issues
> 3. Backward compatibility issues i.e. old/new client and server combination.

Can you please elaborate on the above 3 points? A bit more verbose explanation of what and how the above factors cause problems will help.

> 
> Initiating this mail to arrive at a conclusion, whether we can use xdata or
> we need to find a different solution, if so what is the solution.
> Your thoughts comments are appreciated.
> 
> Solution 1:
> To get rid of sending xdata on wire, one of the solution could be to have
> protocol versioning in Gluster. With this we can modify xdr structures for
> each release and get rid of xdata. But this will be huge work.
> 
> Solution 2:
> - Change dict, to not be an opaque structure , but an array of data elements
> which is a union of (int, string etc.).
> - Backward compatibility issues is when the newer server/client adds data to
> dict but the old client/server fails to read the dict. This is the
> responsibility of the programmer to make sure, thta this case doesn't fail
> silently, op version can be used if it is done as a part of adding new
> feature/volume set. Another approach would be, if client has a list of
> capabilities(features) the server supports it can accordingly tune itself to
> access the xdata.
> 
> Regards,
> Poornima
> 
> 
_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
http://www.gluster.org/mailman/listinfo/gluster-devel



[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux