apurtell commented on PR #4996: URL: https://github.com/apache/hadoop/pull/4996#issuecomment-1696154985
> we can't cut an unshaded protobuf of some form without RPC not linking, so hbase/hive/ozone are in trouble here. HBase branch-3 and trunk are fine, we use our own shaded protobuf everywhere. The major version increment allowed it. For HBase branch-2, all the 2.x releases, and Apache Phoenix, the com.google.protobuf API classes are part of the RPC side of the Coprocessor API so indeed these would all be in trouble in theory. Internally even in 2.x releases we use protobuf 3 for actual RPC. The PB 2.5 classes are only required due to interface compatibility constraints and therefore its on us to ensure the dependencies are imported. We should not depend on Hadoop providing an explicit export of PB 2.5 anyway. When I made a similar change in an internal fork of Hadoop 3 I removed the legacy RPC classes so linkage without any PB 2.5 imports at the Hadoop level in any scope (compile, test, provided, whatever) was not an issue. I couldn't find any users of the legacy RPC classes in any of our downstream code. This is a much more isolated ecosystem than the public Hadoop one so YMMV. Switching PB 2.5 to 'provided' would be a good careful initial step. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
