Github user JoshRosen commented on the issue: https://github.com/apache/spark/pull/16866 In terms of API compatibility, I believe that the classes in `network-common` are public simply due to being implemented in Java. However, for the sake of argument let's say that someone _did_ use them in their own code. Adding an exception to an interface shouldn't break binary compatibility because it doesn't change the method signature. It might result in weird runtime behavior since an exception might be thrown which client code doesn't expect, but I think that our network code can callback into Scala code which throws arbitrary exceptions, so this problem already existed. In terms of source compatibility, this would have an impact on external Java code building against these sources since that code would now need to throw a new exception, but I don't think this is a common use-case and there are easy workarounds in such cases (either update the code or update the build to compile against the old interface even though you run against the new implementation (since binary compat is the same)).
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org