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]

Reply via email to