Skip to content

Conversation

@steveloughran
Copy link
Contributor

@steveloughran steveloughran commented Oct 13, 2023

this is #4996 on branch-3.3


Protobuf 2.5 JAR is no longer needed at runtime.

The option common.protobuf.scope defines whether the protobuf 2.5.0 dependency is marked as provided or not.

  • New package org.apache.hadoop.ipc.internal for internal only protobuf classes ...with a ShadedProtobufHelper in there which has shaded protobuf refs only, so guaranteed not to need protobuf-2.5 on the CP
  • All uses of org.apache.hadoop.ipc.ProtobufHelper have been replaced by uses of org.apache.hadoop.ipc.internal.ShadedProtobufHelper
  • The scope of protobuf-2.5 is set by the option common.protobuf2.scope In this patch is it is still "compile"
  • There is explicit reference to it in modules where it may be needed.
  • The maven scope of the dependency can be set with the common.protobuf2.scope option. It can be set to "provided" in a build: -Dcommon.protobuf2.scope=provided
  • Add new ipc(callable) method to catch and convert shaded protobuf exceptions raised during invocation of the supplied lambda expression
  • This is adopted in the code where the migration is not traumatically over-complex. RouterAdminProtocolTranslatorPB is left alone for this reason.

Contributed by Steve Loughran

Description of PR

How was this patch tested?

For code changes:

  • Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
  • Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
  • If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

…he#4996)

Protobuf 2.5 JAR is no longer needed at runtime.

The option common.protobuf.scope defines whether the protobuf 2.5.0
dependency is marked as provided or not.

* New package org.apache.hadoop.ipc.internal for internal only protobuf classes
  ...with a ShadedProtobufHelper in there which has shaded protobuf refs
  only, so guaranteed not to need protobuf-2.5 on the CP
* All uses of org.apache.hadoop.ipc.ProtobufHelper have
  been replaced by uses of org.apache.hadoop.ipc.internal.ShadedProtobufHelper
* The scope of protobuf-2.5 is set by the option common.protobuf2.scope
  In this patch is it is still "compile"
* There is explicit reference to it in modules where it may be needed.
*  The maven scope of the dependency can be set with the common.protobuf2.scope
   option. It can be set to "provided" in a build:
       -Dcommon.protobuf2.scope=provided
* Add new ipc(callable) method to catch and convert shaded protobuf
  exceptions raised during invocation of the supplied lambda expression
* This is adopted in the code where the migration is not traumatically
  over-complex. RouterAdminProtocolTranslatorPB is left alone for this
  reason.

Contributed by Steve Loughran

Change-Id: I7268580c3a6b40a1a72de79e36de58d2efb0b76e
@steveloughran
Copy link
Contributor Author

will merge asap

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 10m 2s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 1s codespell was not available.
+0 🆗 detsecrets 0m 1s detect-secrets was not available.
+0 🆗 xmllint 0m 1s xmllint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 3 new or modified test files.
_ branch-3.3 Compile Tests _
+0 🆗 mvndep 15m 13s Maven dependency ordering for branch
+1 💚 mvninstall 39m 45s branch-3.3 passed
+1 💚 compile 19m 27s branch-3.3 passed
+1 💚 checkstyle 3m 1s branch-3.3 passed
+1 💚 mvnsite 27m 7s branch-3.3 passed
+1 💚 javadoc 7m 14s branch-3.3 passed
+0 🆗 spotbugs 0m 18s branch/hadoop-project no spotbugs output file (spotbugsXml.xml)
+1 💚 shadedclient 74m 35s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 31s Maven dependency ordering for patch
+1 💚 mvninstall 54m 33s the patch passed
+1 💚 compile 19m 38s the patch passed
-1 ❌ javac 19m 38s /results-compile-javac-root.txt root generated 1 new + 1879 unchanged - 1 fixed = 1880 total (was 1880)
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 4m 0s root: The patch generated 0 new + 279 unchanged - 8 fixed = 279 total (was 287)
+1 💚 mvnsite 26m 28s the patch passed
+1 💚 javadoc 7m 37s the patch passed
+0 🆗 spotbugs 0m 19s hadoop-project has no data from spotbugs
+1 💚 shadedclient 81m 9s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 732m 44s /patch-unit-root.txt root in the patch passed.
+1 💚 asflicense 1m 35s The patch does not generate ASF License warnings.
1183m 18s
Reason Tests
Failed junit tests hadoop.yarn.client.TestFederationRMFailoverProxyProvider
hadoop.hdfs.TestLeaseRecoveryStriped
hadoop.fs.s3a.prefetch.TestS3ACachingBlockManager
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6184/1/artifact/out/Dockerfile
GITHUB PR #6184
Optional Tests dupname asflicense codespell detsecrets xmllint compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle
uname Linux fd6c79c90a8e 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision branch-3.3 / 454f474
Default Java Private Build-1.8.0_362-8u372-gaus1-0ubuntu118.04-b09
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6184/1/testReport/
Max. process+thread count 2743 (vs. ulimit of 5500)
modules C: hadoop-project hadoop-common-project/hadoop-common hadoop-hdfs-project/hadoop-hdfs-client hadoop-hdfs-project/hadoop-hdfs hadoop-hdfs-project/hadoop-hdfs-nfs hadoop-hdfs-project/hadoop-hdfs-rbf hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager hadoop-mapreduce-project/hadoop-mapreduce-client hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core hadoop-yarn-project/hadoop-yarn/hadoop-yarn-csi . U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6184/1/console
versions git=2.17.1 maven=3.6.0 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@steveloughran steveloughran merged commit 48b37a7 into apache:branch-3.3 Oct 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants