hadoop/hadoop-project
Steve Loughran 91acb8da23
HADOOP-18487. protobuf 2.5 marked as provided.
The option protobuf.scope defines whether the protobuf 2.5.0
dependency is marked as provided or not.

* all declarations except those in yarn-csi are updated
* those modules which don't compile without their own explicit
  import (hadoop-hdfs-client, hadoop-hdfs-rbf)

It's actually interesting to see where/how that compile fails

hadoop-hdfs-client: ClientNamenodeProtocolTranslatorPB
hadoop-hdfs-rbf:RouterAdminProtocolTranslatorPB

both with "class file for com.google.protobuf.ServiceException not found",
even though *neither class uses it*

what they do have is references to ProtobufHelper.getRemoteException(),
which is overloaded to both the shaded ServiceException and the original one

Hypothesis: the javac overload resolution needs to look at the entire
class hierarchy before it can decide which one to use.

Proposed: add a new method
 ioe extractException(org.apache.hadoop.thirdparty.protobuf.ServiceException)
and move our own code to it. Without the overloading the classes should not
be needed

Change-Id: I70354abfe3f1fdc03c418dac88e60f8cc4929a33
2023-03-06 10:20:45 +00:00
..
src/site HADOOP-18470. Remove HDFS RBF text in the 3.3.5 index.md file 2023-02-23 13:23:35 +00:00
pom.xml HADOOP-18487. protobuf 2.5 marked as provided. 2023-03-06 10:20:45 +00:00