Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HADOOP-19236. Incorporate VolcanoEngine Cloud TOS File System Implementation. Part 1: add core code and docs. #7294

Open
wants to merge 1 commit into
base: trunk
Choose a base branch
from

Conversation

wojiaodoubao
Copy link
Contributor

@wojiaodoubao wojiaodoubao commented Jan 17, 2025

Description of PR

Please refer to #7194.

The tos integration work is too big. Split it into 2 parts and this is the first part.

How was this patch tested?

With unit tests.

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?

@slfan1989
Copy link
Contributor

@wojiaodoubao If this part of the code is to be merged, it must ensure compatibility with JDK 17, as we are currently working on the upgrade.

@wojiaodoubao
Copy link
Contributor Author

@slfan1989 thanks for your kindly reminder. Let me test it with JDK17.

@wojiaodoubao
Copy link
Contributor Author

hi @slfan1989 , I take a look at HADOOP-15984, nice work! If I understand right, the blocker is upgrading jersey. The hadoop-tos dependencies include jersey through hadoop-common and hadoop-yarn-common, both provided, no direct or indirect use, so I think it's safe to merge.

I notice the HADOOP-15984 is going to be merged within 2 days. It is a real hard work, we don't want any accidents. So I will
wait after HADOOP-15984 is merged.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 17m 5s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 2s 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.
+0 🆗 markdownlint 0m 1s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
-1 ❌ test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
_ trunk Compile Tests _
+0 🆗 mvndep 6m 18s Maven dependency ordering for branch
+1 💚 mvninstall 29m 52s trunk passed
+1 💚 compile 16m 31s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 compile 15m 14s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 checkstyle 4m 25s trunk passed
+1 💚 mvnsite 19m 5s trunk passed
+1 💚 javadoc 9m 15s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 7m 30s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+0 🆗 spotbugs 0m 19s branch/hadoop-project no spotbugs output file (spotbugsXml.xml)
+0 🆗 spotbugs 0m 18s branch/hadoop-cloud-storage-project/hadoop-cloud-storage no spotbugs output file (spotbugsXml.xml)
+1 💚 shadedclient 66m 42s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 48s Maven dependency ordering for patch
-1 ❌ mvninstall 0m 34s /patch-mvninstall-hadoop-cloud-storage-project.txt hadoop-cloud-storage-project in the patch failed.
-1 ❌ mvninstall 33m 27s /patch-mvninstall-root.txt root in the patch failed.
-1 ❌ mvninstall 0m 20s /patch-mvninstall-hadoop-cloud-storage-project_hadoop-cloud-storage.txt hadoop-cloud-storage in the patch failed.
-1 ❌ compile 17m 23s /patch-compile-root-jdkUbuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.txt root in the patch failed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.
-1 ❌ javac 17m 23s /patch-compile-root-jdkUbuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.txt root in the patch failed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.
-1 ❌ compile 15m 5s /patch-compile-root-jdkPrivateBuild-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.txt root in the patch failed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.
-1 ❌ javac 15m 5s /patch-compile-root-jdkPrivateBuild-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.txt root in the patch failed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.
+1 💚 blanks 0m 1s The patch has no blanks issues.
-0 ⚠️ checkstyle 4m 13s /buildtool-patch-checkstyle-root.txt The patch fails to run checkstyle in root
-1 ❌ mvnsite 5m 17s /patch-mvnsite-root.txt root in the patch failed.
-1 ❌ javadoc 9m 36s /patch-javadoc-root-jdkUbuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.txt root in the patch failed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.
-1 ❌ javadoc 7m 39s /patch-javadoc-root-jdkPrivateBuild-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.txt root in the patch failed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.
+0 🆗 spotbugs 0m 21s hadoop-project has no data from spotbugs
+0 🆗 spotbugs 0m 20s hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-shade has no data from spotbugs
-1 ❌ spotbugs 0m 48s /patch-spotbugs-hadoop-cloud-storage-project.txt hadoop-cloud-storage-project in the patch failed.
-1 ❌ spotbugs 30m 28s /patch-spotbugs-root.txt root in the patch failed.
-1 ❌ spotbugs 0m 24s /patch-spotbugs-hadoop-cloud-storage-project_hadoop-cloud-storage.txt hadoop-cloud-storage in the patch failed.
+1 💚 shadedclient 34m 35s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 261m 56s /patch-unit-root.txt root in the patch failed.
+0 🆗 asflicense 0m 38s ASF License check generated no output?
626m 19s
Reason Tests
Failed junit tests hadoop.hdfs.server.blockmanagement.TestBlockTokenWithShortCircuitRead
hadoop.hdfs.server.namenode.TestAddBlockRetry
hadoop.hdfs.server.namenode.TestNameNodeRpcServer
hadoop.hdfs.server.namenode.TestFSImage
hadoop.hdfs.server.namenode.TestAddStripedBlocks
hadoop.hdfs.server.namenode.TestDeadDatanode
hadoop.hdfs.server.namenode.TestCacheDirectivesWithViewDFS
hadoop.hdfs.server.namenode.TestCacheDirectives
hadoop.hdfs.server.namenode.TestAuditLoggerWithCommands
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7294/1/artifact/out/Dockerfile
GITHUB PR #7294
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint
uname Linux 52700de367c4 5.15.0-124-generic #134-Ubuntu SMP Fri Sep 27 20:20:17 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 0d3b07c
Default Java Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7294/1/testReport/
Max. process+thread count 3154 (vs. ulimit of 5500)
modules C: hadoop-project hadoop-cloud-storage-project/hadoop-tos hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-shade hadoop-cloud-storage-project . hadoop-cloud-storage-project/hadoop-cloud-storage hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7294/1/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

<include>com.volcengine:*</include>
<include>com.squareup.okhttp3:okhttp</include>
<include>com.squareup.okio:okio-jvm</include>
<include>org.jetbrains.kotlin:kotlin-stdlib*</include>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it safe to relocate a language runtime?

I know that OKHttp was a popular HTTP client in the Java world, but since 4.x, it switched from Java to Kotlin, that means every downstream project that used OKHttp client needs to pull a new JVM language runtime, this do sounds crazy for a HTTP client!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @pan3793 , thanks your comments. The intention of shade is to ensure the tos sdk doesn't conflict with any user's classes, so the hadoop-tos could be simple and safe to use.

Here I shaded tos sdk, okhttp, okio and kotlin-stdlib, the final shaded jar is 6,226,348 bytes. So if the downstream project uses okhttp too, the classes will doubled to 12MB+. The default meta space size is 21MB, in the worst case, 12MB+ are all loaded and occupy 57% meta space, which is a problem(may cause long gc).

The calculation above is not accurate, since the classes in file is smaller than classes in JVM, and classes won't be loaded until used. But its enough to expose the problem.

Your concern is reasonable. We can leave the potential conflicts for downstream projects. They can shade hadoop-tos and it's dependencies if necessary.

Copy link
Member

@pan3793 pan3793 Jan 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Size and class increase does not look like a big deal, concerns are relocation itself.

Class relocation is not a silver bullet, for example, it may break reflection invocations, and does not work with JNI, relocating a JVM language runtime library sounds like risky stuff.

AFAIK, the hadoop-client-runtime was not fully tested in the Hadoop project, and several issues caused by relocation were identified after Spark adoption. I think the hadoop-tos-shade stays in the same situation

How hard is it for TOS to switch to another HTTP client? i.e. Apache HTTP Client, a pure Java HTTP client, and is easy to relocate.

Copy link
Member

@pan3793 pan3793 Jan 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

an alternative: publish ve-tos-java-sdk-shaded, and downstream projects like Hadoop simply consume the single jar, this will address the test coverage concern I mentioned above and save a lot of users for handling class conflict.

I glanced TOS repo README and docs, seems OKHTTP/OKIO is not leaked to public API, so either switching to another HTTP client or creating a ve-tos-java-sdk-shaded with all 3rd classes relocated to com.volcengine.tos. package is feasible, thought?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @pan3793 for your reply.

AFAIK, the hadoop-client-runtime was not fully tested in the Hadoop project, and several issues caused by relocation were identified after Spark adoption. I think the hadoop-tos-shade stays in the same situation

This is a new input for me. Could you help giving more details about this issue, thanks a lot.

How hard is it for TOS to switch to another HTTP client?

I'm not sure whether we can push the tos sdk to switch to another HTTP client. Even they would like to do this, it will take a lot of time. So I'd prefer to use the existed tos sdk.

publish ve-tos-java-sdk-shaded, and downstream projects like Hadoop simply consume the single jar, this will address the test coverage concern I mentioned above and save a lot of users for handling class conflict.

In the current version, the ve-tos-java-sdk-shaded is done by hadoop-tos-shade, and the hadoop-tos-core module depends on the hadoop-tos-shade.

If I publish a ve-tos-java-sdk-shaded, what is the difference between the published ve-tos-java-sdk-shaded ant the orignal hadoo-tos-shade module? May be because I don't understand the reflection stuff, I'm not clear at here. Please help if I'm wrong, thanks a lot.

I prefer to make hadoop-tos depending on tos sdk directly, without any shade. The users can shade hadoop-tos and it's dependencies if necessary. This should be the most flexible way, without any side effect.

Copy link
Member

@pan3793 pan3793 Jan 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you help giving more details about this issue

I just pick some tickets to demonstrate the issue, there may be other issues I missed or are not identified yet

If I publish a ve-tos-java-sdk-shaded, what is the difference between the published ve-tos-java-sdk-shaded ant the orignal hadoo-tos-shade module?

have you checked the error stacktrace of unit/integration tests, which package show? the vanilla kotlin package or the relocated one?

AFAIK, maven has limited support consuming a shaded module in the same project, that's why hadoop and some other apache projects which use maven as the building system have a dedicated repo for 3rd relocated libs https://github.com/apache/hadoop-thirdparty

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 17m 45s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 2s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 xmllint 0m 0s xmllint was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
-1 ❌ test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
_ trunk Compile Tests _
+0 🆗 mvndep 6m 27s Maven dependency ordering for branch
+1 💚 mvninstall 31m 26s trunk passed
+1 💚 compile 16m 41s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 compile 15m 36s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 checkstyle 4m 12s trunk passed
+1 💚 mvnsite 19m 33s trunk passed
+1 💚 javadoc 9m 18s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 7m 28s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+0 🆗 spotbugs 0m 20s branch/hadoop-project no spotbugs output file (spotbugsXml.xml)
+0 🆗 spotbugs 0m 21s branch/hadoop-cloud-storage-project/hadoop-cloud-storage no spotbugs output file (spotbugsXml.xml)
+1 💚 shadedclient 63m 10s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 47s Maven dependency ordering for patch
+1 💚 mvninstall 32m 44s the patch passed
-1 ❌ compile 16m 13s /patch-compile-root-jdkUbuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.txt root in the patch failed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.
-1 ❌ javac 16m 13s /patch-compile-root-jdkUbuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.txt root in the patch failed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.
-1 ❌ compile 15m 20s /patch-compile-root-jdkPrivateBuild-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.txt root in the patch failed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.
-1 ❌ javac 15m 20s /patch-compile-root-jdkPrivateBuild-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.txt root in the patch failed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 4m 12s /results-checkstyle-root.txt root: The patch generated 274 new + 0 unchanged - 0 fixed = 274 total (was 0)
-1 ❌ mvnsite 5m 37s /patch-mvnsite-root.txt root in the patch failed.
-1 ❌ javadoc 9m 38s /results-javadoc-javadoc-root-jdkUbuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.txt root-jdkUbuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 generated 22 new + 5541 unchanged - 0 fixed = 5563 total (was 5541)
-1 ❌ javadoc 7m 44s /results-javadoc-javadoc-root-jdkPrivateBuild-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.txt root-jdkPrivateBuild-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga generated 22 new + 1429 unchanged - 0 fixed = 1451 total (was 1429)
+0 🆗 spotbugs 0m 20s hadoop-project has no data from spotbugs
+0 🆗 spotbugs 0m 20s hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-shade has no data from spotbugs
-1 ❌ spotbugs 0m 25s /patch-spotbugs-hadoop-cloud-storage-project_hadoop-tos.txt hadoop-tos in the patch failed.
-1 ❌ spotbugs 0m 51s /patch-spotbugs-hadoop-cloud-storage-project.txt hadoop-cloud-storage-project in the patch failed.
-1 ❌ spotbugs 30m 8s /patch-spotbugs-root.txt root in the patch failed.
+0 🆗 spotbugs 0m 28s hadoop-cloud-storage-project/hadoop-cloud-storage has no data from spotbugs
+1 💚 shadedclient 34m 17s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 388m 40s /patch-unit-root.txt root in the patch failed.
-1 ❌ asflicense 1m 12s /results-asflicense.txt The patch generated 1 ASF License warnings.
748m 24s
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7294/2/artifact/out/Dockerfile
GITHUB PR #7294
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint
uname Linux 5455a3911f4c 5.15.0-130-generic #140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 413f3e7
Default Java Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7294/2/testReport/
Max. process+thread count 4895 (vs. ulimit of 5500)
modules C: hadoop-project hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-shade hadoop-cloud-storage-project/hadoop-tos hadoop-cloud-storage-project . hadoop-cloud-storage-project/hadoop-cloud-storage hadoop-cloud-storage-project/hadoop-tos/hadoop-tos-core U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7294/2/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 57s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 2s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 xmllint 0m 0s xmllint was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 1 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 6m 30s Maven dependency ordering for branch
+1 💚 mvninstall 31m 11s trunk passed
+1 💚 compile 16m 49s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 compile 15m 39s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 checkstyle 4m 12s trunk passed
+1 💚 mvnsite 2m 3s trunk passed
+1 💚 javadoc 2m 4s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 2m 1s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+0 🆗 spotbugs 0m 44s branch/hadoop-project no spotbugs output file (spotbugsXml.xml)
+0 🆗 spotbugs 0m 39s branch/hadoop-cloud-storage-project/hadoop-cloud-storage no spotbugs output file (spotbugsXml.xml)
+1 💚 shadedclient 34m 42s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 37s Maven dependency ordering for patch
-1 ❌ mvninstall 0m 28s /patch-mvninstall-hadoop-cloud-storage-project_hadoop-tos.txt hadoop-tos in the patch failed.
-1 ❌ mvninstall 0m 28s /patch-mvninstall-hadoop-cloud-storage-project.txt hadoop-cloud-storage-project in the patch failed.
-1 ❌ mvninstall 0m 14s /patch-mvninstall-hadoop-cloud-storage-project_hadoop-cloud-storage.txt hadoop-cloud-storage in the patch failed.
+1 💚 compile 16m 22s the patch passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javac 16m 22s the patch passed
+1 💚 compile 15m 27s the patch passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 javac 15m 27s the patch passed
-1 ❌ blanks 0m 0s /blanks-eol.txt The patch has 1 line(s) that end in blanks. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
-0 ⚠️ checkstyle 4m 5s /buildtool-patch-checkstyle-root.txt The patch fails to run checkstyle in root
-1 ❌ mvnsite 0m 36s /patch-mvnsite-hadoop-cloud-storage-project_hadoop-cloud-storage.txt hadoop-cloud-storage in the patch failed.
-1 ❌ javadoc 0m 47s /results-javadoc-javadoc-hadoop-cloud-storage-project_hadoop-tos-jdkUbuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.txt hadoop-cloud-storage-project_hadoop-tos-jdkUbuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 generated 18 new + 0 unchanged - 0 fixed = 18 total (was 0)
-1 ❌ javadoc 0m 57s /patch-javadoc-hadoop-cloud-storage-project-jdkUbuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.txt hadoop-cloud-storage-project in the patch failed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.
-1 ❌ javadoc 0m 37s /patch-javadoc-hadoop-cloud-storage-project_hadoop-cloud-storage-jdkUbuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.txt hadoop-cloud-storage in the patch failed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.
-1 ❌ javadoc 0m 44s /results-javadoc-javadoc-hadoop-cloud-storage-project_hadoop-tos-jdkPrivateBuild-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.txt hadoop-cloud-storage-project_hadoop-tos-jdkPrivateBuild-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga generated 18 new + 0 unchanged - 0 fixed = 18 total (was 0)
-1 ❌ javadoc 0m 47s /patch-javadoc-hadoop-cloud-storage-project-jdkPrivateBuild-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.txt hadoop-cloud-storage-project in the patch failed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.
-1 ❌ javadoc 0m 36s /patch-javadoc-hadoop-cloud-storage-project_hadoop-cloud-storage-jdkPrivateBuild-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.txt hadoop-cloud-storage in the patch failed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.
+0 🆗 spotbugs 0m 38s hadoop-project has no data from spotbugs
-1 ❌ spotbugs 1m 36s /new-spotbugs-hadoop-cloud-storage-project.html hadoop-cloud-storage-project generated 24 new + 0 unchanged - 0 fixed = 24 total (was 0)
-1 ❌ spotbugs 0m 37s /patch-spotbugs-hadoop-cloud-storage-project_hadoop-cloud-storage.txt hadoop-cloud-storage in the patch failed.
+1 💚 shadedclient 36m 17s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 0m 37s hadoop-project in the patch passed.
+1 💚 unit 0m 47s hadoop-tos in the patch passed.
+1 💚 unit 0m 49s hadoop-cloud-storage-project in the patch passed.
-1 ❌ unit 0m 37s /patch-unit-hadoop-cloud-storage-project_hadoop-cloud-storage.txt hadoop-cloud-storage in the patch failed.
+1 💚 asflicense 1m 2s The patch does not generate ASF License warnings.
213m 36s
Reason Tests
SpotBugs module:hadoop-cloud-storage-project
org.apache.hadoop.fs.tosfs.RawFileStatus.checksum() may expose internal representation by returning RawFileStatus.checksum At RawFileStatus.java:by returning RawFileStatus.checksum At RawFileStatus.java:[line 49]
new org.apache.hadoop.fs.tosfs.RawFileStatus(long, boolean, long, long, Path, String, byte[]) may expose internal representation by storing an externally mutable object into RawFileStatus.checksum At RawFileStatus.java:Path, String, byte[]) may expose internal representation by storing an externally mutable object into RawFileStatus.checksum At RawFileStatus.java:[line 45]
org.apache.hadoop.fs.tosfs.RawFileStatus doesn't override org.apache.hadoop.fs.FileStatus.equals(Object) At RawFileStatus.java:At RawFileStatus.java:[line 1]
org.apache.hadoop.fs.tosfs.TosChecksum.getBytes() may expose internal representation by returning TosChecksum.checksum At TosChecksum.java:by returning TosChecksum.checksum At TosChecksum.java:[line 47]
new org.apache.hadoop.fs.tosfs.TosChecksum(String, byte[]) may expose internal representation by storing an externally mutable object into TosChecksum.checksum At TosChecksum.java:internal representation by storing an externally mutable object into TosChecksum.checksum At TosChecksum.java:[line 32]
Unsigned right shift cast to short/byte in org.apache.hadoop.fs.tosfs.common.Bytes.toBytes(short) At Bytes.java:short/byte in org.apache.hadoop.fs.tosfs.common.Bytes.toBytes(short) At Bytes.java:[line 41]
org.apache.hadoop.fs.tosfs.common.Tasks$Range$1.next() can't throw NoSuchElementException At Tasks.java:At Tasks.java:[lines 535-537]
org.apache.hadoop.fs.tosfs.conf.TosKeys.FS_TOS_BATCH_DELETE_RETRY_CODES_DEFAULT is a mutable array At TosKeys.java: At TosKeys.java:[line 196]
org.apache.hadoop.fs.tosfs.conf.TosKeys.FS_TOS_CUSTOM_CREDENTIAL_PROVIDER_CLASSES_DEFAULT is a mutable array At TosKeys.java: At TosKeys.java:[line 80]
org.apache.hadoop.fs.tosfs.object.Constants.MAGIC_CHECKSUM is a mutable array At Constants.java: At Constants.java:[line 29]
Exceptional return value of java.io.File.mkdirs() ignored in org.apache.hadoop.fs.tosfs.object.FileStore.initialize(Configuration, String) At FileStore.java:ignored in org.apache.hadoop.fs.tosfs.object.FileStore.initialize(Configuration, String) At FileStore.java:[line 120]
org.apache.hadoop.fs.tosfs.object.ObjectContent.checksum() may expose internal representation by returning ObjectContent.checksum At ObjectContent.java:by returning ObjectContent.checksum At ObjectContent.java:[line 50]
new org.apache.hadoop.fs.tosfs.object.ObjectContent(byte[], InputStream) may expose internal representation by storing an externally mutable object into ObjectContent.checksum At ObjectContent.java:internal representation by storing an externally mutable object into ObjectContent.checksum At ObjectContent.java:[line 32]
org.apache.hadoop.fs.tosfs.object.ObjectInfo.checksum() may expose internal representation by returning ObjectInfo.checksum At ObjectInfo.java:by returning ObjectInfo.checksum At ObjectInfo.java:[line 75]
org.apache.hadoop.fs.tosfs.object.ObjectInfo.mtime() may expose internal representation by returning ObjectInfo.mtime At ObjectInfo.java:by returning ObjectInfo.mtime At ObjectInfo.java:[line 67]
new org.apache.hadoop.fs.tosfs.object.ObjectInfo(String, long, Date, byte[], boolean) may expose internal representation by storing an externally mutable object into ObjectInfo.mtime At ObjectInfo.java:boolean) may expose internal representation by storing an externally mutable object into ObjectInfo.mtime At ObjectInfo.java:[line 47]
new org.apache.hadoop.fs.tosfs.object.ObjectMultiRangeInputStream(ExecutorService, ObjectStorage, String, long, long, byte[]) may expose internal representation by storing an externally mutable object into ObjectMultiRangeInputStream.checksum At ObjectMultiRangeInputStream.java:long, byte[]) may expose internal representation by storing an externally mutable object into ObjectMultiRangeInputStream.checksum At ObjectMultiRangeInputStream.java:[line 73]
Inconsistent synchronization of org.apache.hadoop.fs.tosfs.object.ObjectOutputStream.multipartUpload; locked 57% of time Unsynchronized access at ObjectOutputStream.java:57% of time Unsynchronized access at ObjectOutputStream.java:[line 301]
Possible null pointer dereference of dirs in org.apache.hadoop.fs.tosfs.object.ObjectOutputStream.createStagingDirs(Configuration, String) Dereferenced at ObjectOutputStream.java:dirs in org.apache.hadoop.fs.tosfs.object.ObjectOutputStream.createStagingDirs(Configuration, String) Dereferenced at ObjectOutputStream.java:[line 97]
new org.apache.hadoop.fs.tosfs.object.ObjectRangeInputStream(ObjectStorage, String, Range, byte[]) may expose internal representation by storing an externally mutable object into ObjectRangeInputStream.checksum At ObjectRangeInputStream.java:may expose internal representation by storing an externally mutable object into ObjectRangeInputStream.checksum At ObjectRangeInputStream.java:[line 58]
org.apache.hadoop.fs.tosfs.object.tos.ChainTOSInputStream.checksum() may expose internal representation by returning ChainTOSInputStream.objChecksum At ChainTOSInputStream.java:by returning ChainTOSInputStream.objChecksum At ChainTOSInputStream.java:[line 135]
org.apache.hadoop.fs.tosfs.object.tos.GetObjectOutput.checksum() may expose internal representation by returning GetObjectOutput.checksum At GetObjectOutput.java:by returning GetObjectOutput.checksum At GetObjectOutput.java:[line 45]
new org.apache.hadoop.fs.tosfs.object.tos.GetObjectOutput(GetObjectV2Output, byte[]) may expose internal representation by storing an externally mutable object into GetObjectOutput.checksum At GetObjectOutput.java:internal representation by storing an externally mutable object into GetObjectOutput.checksum At GetObjectOutput.java:[line 37]
org.apache.hadoop.fs.tosfs.object.tos.TOSErrorCodes.FAST_FAILURE_CONFLICT_ERROR_CODES isn't final but should be At TOSErrorCodes.java:be At TOSErrorCodes.java:[line 52]
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7294/3/artifact/out/Dockerfile
GITHUB PR #7294
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint
uname Linux 5986c688eed4 5.15.0-130-generic #140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / a62d2ae
Default Java Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7294/3/testReport/
Max. process+thread count 546 (vs. ulimit of 5500)
modules C: hadoop-project hadoop-cloud-storage-project/hadoop-tos hadoop-cloud-storage-project hadoop-cloud-storage-project/hadoop-cloud-storage U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7294/3/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

…ntation.

Contributed by: ZhengHu, SunXin, XianyinXin, Rascal Wu, FangBo, Yuanzhihuan.
@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 55s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 2s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 xmllint 0m 0s xmllint was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 1 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 6m 21s Maven dependency ordering for branch
+1 💚 mvninstall 31m 7s trunk passed
+1 💚 compile 17m 6s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 compile 15m 23s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 checkstyle 4m 15s trunk passed
+1 💚 mvnsite 2m 5s trunk passed
+1 💚 javadoc 2m 7s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 2m 2s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+0 🆗 spotbugs 0m 46s branch/hadoop-project no spotbugs output file (spotbugsXml.xml)
+0 🆗 spotbugs 0m 39s branch/hadoop-cloud-storage-project/hadoop-cloud-storage no spotbugs output file (spotbugsXml.xml)
+1 💚 shadedclient 34m 23s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 37s Maven dependency ordering for patch
+1 💚 mvninstall 1m 28s the patch passed
+1 💚 compile 16m 5s the patch passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javac 16m 5s the patch passed
+1 💚 compile 15m 21s the patch passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 javac 15m 21s the patch passed
+1 💚 blanks 0m 1s The patch has no blanks issues.
-0 ⚠️ checkstyle 4m 8s /results-checkstyle-root.txt root: The patch generated 36 new + 0 unchanged - 0 fixed = 36 total (was 0)
+1 💚 mvnsite 2m 56s the patch passed
-1 ❌ javadoc 0m 46s /results-javadoc-javadoc-hadoop-cloud-storage-project_hadoop-tos-jdkUbuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.txt hadoop-cloud-storage-project_hadoop-tos-jdkUbuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
-1 ❌ javadoc 0m 53s /results-javadoc-javadoc-hadoop-cloud-storage-project-jdkUbuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04.txt hadoop-cloud-storage-project-jdkUbuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
-1 ❌ javadoc 0m 44s /results-javadoc-javadoc-hadoop-cloud-storage-project_hadoop-tos-jdkPrivateBuild-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.txt hadoop-cloud-storage-project_hadoop-tos-jdkPrivateBuild-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
-1 ❌ javadoc 0m 51s /results-javadoc-javadoc-hadoop-cloud-storage-project-jdkPrivateBuild-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga.txt hadoop-cloud-storage-project-jdkPrivateBuild-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
+0 🆗 spotbugs 0m 38s hadoop-project has no data from spotbugs
+0 🆗 spotbugs 0m 39s hadoop-cloud-storage-project/hadoop-cloud-storage has no data from spotbugs
+1 💚 shadedclient 34m 29s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 0m 37s hadoop-project in the patch passed.
+1 💚 unit 0m 47s hadoop-tos in the patch passed.
+1 💚 unit 0m 48s hadoop-cloud-storage-project in the patch passed.
+1 💚 unit 0m 39s hadoop-cloud-storage in the patch passed.
+1 💚 asflicense 1m 4s The patch does not generate ASF License warnings.
212m 11s
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7294/4/artifact/out/Dockerfile
GITHUB PR #7294
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle markdownlint
uname Linux 0854c5a4a9be 5.15.0-130-generic #140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 547fb01
Default Java Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7294/4/testReport/
Max. process+thread count 554 (vs. ulimit of 5500)
modules C: hadoop-project hadoop-cloud-storage-project/hadoop-tos hadoop-cloud-storage-project hadoop-cloud-storage-project/hadoop-cloud-storage U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7294/4/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants