Todd Lipcon has posted comments on this change. Change subject: WIP: Expose a way to set "advanced" non-types scan options ......................................................................
Patch Set 4: (1 comment) http://gerrit.cloudera.org:8080/#/c/6624/4//COMMIT_MSG Commit Message: PS4, Line 15: without "polluting" the api and in such a way that we can remove : support for this in the future. > Likely a run-time error, as before. In any case I don't think we should the Yea, in this case (and in many similar cases) the flag is really just passed down to the server, in which case it's perfectly likely that the server is allowed to reject it even if the client library has accepted it. So, the client can produce runtime "not-supported" errors, even if the consumer of the API linked against an appropriate client version. Certainly the client could _in theory_ do a compatibility layer by which it notices that the server doesn't support the flag, and instead does a full memcpy/re-padding of the scanner data, so that it implements the requested format. However that would be at a very high perf cost, and I think it would probably be preferable to just tell the consumer that the format is not supported, rather than have a relatively-silent perf issue that might never be discovered. If you want to take the Linux analogy, I'd say this is similar to ioctl() or setsockopt() or other various "more flexible" APIs where the feature may not be supported in a particular runtime environment (filesystem, network socket type, etc) Another analogy to other software: the JDK has plenty of "undocumented" APIs which can be useful to advanced users who are willing to make the tradeoff that they might go away at some point. sun.misc.Unsafe is the most commonly-used example, but there are plenty of other cases where I've seen people downcast in order to do certain tricky things that are outside the scope of what the platform provider wants to generally support. -- To view, visit http://gerrit.cloudera.org:8080/6624 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I043b6514dc5fc307fc9c94eb41f3ae79796ba273 Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: David Ribeiro Alves <dral...@apache.org> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: David Ribeiro Alves <dral...@apache.org> Gerrit-Reviewer: Jean-Daniel Cryans <jdcry...@apache.org> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Matthew Jacobs <m...@cloudera.com> Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon <t...@apache.org> Gerrit-HasComments: Yes