----- Original Message -----
> From: "Poornima Gurusiddaiah" <[email protected]>
> To: "Gluster Devel" <[email protected]>, "Niels de Vos" 
> <[email protected]>, "Jeff Darcy"
> <[email protected]>, "Raghavendra Talur" <[email protected]>, "Rajesh Joseph" 
> <[email protected]>, "Pranith Kumar
> Karampuri" <[email protected]>, "Soumya Koduri" <[email protected]>, 
> "Raghavendra Gowdappa"
> <[email protected]>, "Anoop Chirayath Manjiyil Sajan" <[email protected]>
> 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
[email protected]
http://www.gluster.org/mailman/listinfo/gluster-devel

Reply via email to