<div dir="ltr"><div>Responses inline.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Nov 22, 2019 at 6:04 PM Niels de Vos &lt;<a href="mailto:ndevos@redhat.com">ndevos@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Thu, Nov 21, 2019 at 04:01:23PM +0530, Amar Tumballi wrote:<br>
&gt; Hi All,<br>
&gt; <br>
&gt; As per the discussion on <a href="https://review.gluster.org/23645" rel="noreferrer" target="_blank">https://review.gluster.org/23645</a>, recently we<br>
&gt; changed the status of gNFS (gluster&#39;s native NFSv3 support) feature to<br>
&gt; &#39;Depricated / Orphan&#39; state. (ref:<br>
&gt; <a href="https://github.com/gluster/glusterfs/blob/master/MAINTAINERS#L185..L189" rel="noreferrer" target="_blank">https://github.com/gluster/glusterfs/blob/master/MAINTAINERS#L185..L189</a>).<br>
&gt; With this email, I am proposing to change the status again to &#39;Odd Fixes&#39;<br>
&gt; (ref: <a href="https://github.com/gluster/glusterfs/blob/master/MAINTAINERS#L22" rel="noreferrer" target="_blank">https://github.com/gluster/glusterfs/blob/master/MAINTAINERS#L22</a>)<br>
<br>
I&#39;d recommend against re-surrecting gNFS. The server is not very<br>
extensible and adding new features is pretty tricky without breaking<br>
other (mostly undocumented) use-cases.</blockquote><div><br></div><div>I too am against adding the features/enhancements to gNFS. It doesn&#39;t make sense. We are removing features from glusterfs itself, adding features to gNFS after 3 years wouldn&#39;t even be feasible.</div><div><br></div><div>I guess you missed the intention of my proposal. It was not about &#39;resurrecting&#39; gNFS to &#39;Maintained&#39; or &#39;Supported&#39; status. It was about taking it out of &#39;Orphan&#39; status, because there are still users who are &#39;happy&#39; with it. Hence I picked the status as &#39;Odd Fixes&#39; (as per MAINTAINERS file, there was nothing else which would give meaning of <b>&#39;This feature is still shipped, but we are not adding any features or not actively maintaining it&#39;. </b></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> Eventhough NFSv3 is stateless,<br>
the actual usage of NFSv3, mounting and locking is definitely not. The<br>
server keeps track of which clients have an export mounted, and which<br>
clients received grants for locks. These things are currently not very<br>
reliable in combination with high-availability. And there is also the by<br>
default disabled duplicate-reply-cache (DRC) that has always been very<br>
buggy (and neither cluster-aware).<br>
<br>
If we enable gNFS by default again, we&#39;re sending out an incorrect<br>
message to our users. gNFS works fine for certain workloads and<br>
environments, but it should not be advertised as &#39;clustered NFS&#39;.<br>
<br></blockquote><div><br></div><div>I didn&#39;t talk or was intending to go this route. I am not even talking about making gNFS &#39;default&#39; enable. That would take away our focus on glusterfs, and different things we can solve with Gluster alone. Not sure why my email was taken as there would be focus on gNFS.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Instead of going the gNFS route, I suggest to make it easier to deploy<br>
NFS-Ganesha as that is a more featured, well maintained and can be<br>
configured for much more reliable high-availability than gNFS.<br>
<br></blockquote><div><br></div><div>I believe this is critical, and we surely need to work on it. But doesn&#39;t come in the way of doing 1-2 bug fixes in gNFS (if any) in a release. </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
If someone really wants to maintain gNFS, I won&#39;t object much, but they<br>
should know that previous maintainers have had many difficulties just<br>
keeping it working well while other components evolved. Addressing some<br>
of the bugs/limitations will be extremely difficult and may require<br>
large rewrites of parts of gNFS.<br></blockquote><div><br></div><div>Yes, that awareness is critical, and it should exist.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Until now, I have not read convincing arguments in this thread that gNFS<br>
is stable enough to be consumed by anyone in the community. Users should<br>
be aware of its limitations and be careful what workloads to run on it.<br></blockquote><div><br></div><div>In this thread, Xie mentioned that he is managing gNFS on 1000+ servers with 2000+ clients (more than 24 gluster cluster overall) for more than 2 years now. If that doesn&#39;t sound as &#39;stability&#39;, not sure what sounds as.</div><div><br></div><div>I agree that the users should be careful about the proper usecase to use gNFS. I am even open to say we should add a warning or console log in gluster CLI when &#39;gluster volume set &lt;VOL&gt; nfs.disable false&#39; is performed, saying it is advised to move to NFS-Ganesha based approach, and give a URL link in that message. But the whole point is, when we make a release, we should still ship gNFS as there are some users, very happy with gNFS, and their usecases are properly handled by gNFS in its current form itself. Why make them unhappy, or shift to other projects? </div><div><br></div><div>End of the day, as developers it is our duty to make sure we suggest the best technologies to users, but the intentions should always be to make sure we solve problems. If there are already solved problems, why resurface them in the name of better technology?</div><div><br></div><div>So, again, my proposal is, to keep gNFS in the codebase (not as Orphan), and continue to make releases with gNFS binary shipped when we make release, not to make the focus of project to start working on enhancements of gNFS.</div><div><br></div><div>Happy to answer if anyone has further queries.</div><div><br></div><div>I have sent a patch <a href="https://review.gluster.org/23738">https://review.gluster.org/23738</a> for the same, and I see people commenting already on that. I agree that Xie&#39;s contributions to Gluster may need to increase (specifically in gNFS component) to be called as MAINTAINER. Happy to introduce him as &#39;Peer&#39; and change the title later when it is time. Jiffin, thanks for volunteering to have a look on patches when you have time till glusterfs-8.</div><div><br></div><div>Regards,</div><div>Amar</div><div> </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
HTH,<br>
Niels<br>
<br>
</blockquote></div></div>