You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I saw that some contributors have started adding riscv64 support. Currently, Hadoop neither has riscv64 CI pipeline nor a dev container, the reviewers are not easy to verify the patch on x86_64 or aarch64 platforms.
This PR proposes to leverage Docker's cross-platform capability to allow running standard dev containers on x86_64 or aarch64 platforms.
Note: this requires upgrading protobuf to 3.25.5 first, see HADOOP-19605.
How was this patch tested?
I'm using a MacBook Pro with an M1 Max chip.
$ uname -a
Darwin H27212-MAC-01.local 24.6.0 Darwin Kernel Version 24.6.0: Mon Jul 14 11:30:29 PDT 2025; root:xnu-11417.140.69~1/RELEASE_ARM64_T6000 arm64
$ docker --version
Docker version 28.3.3, build 980b856
Launch Hadoop dev container
$ docker run --rm --privileged tonistiigi/binfmt --install riscv64
$ CPU_ARCH=riscv64 ./start-build-env.sh ubuntu_24
...
=> => naming to docker.io/library/hadoop-build_ubuntu_24-501 0.0s
_ _ _ ______
| | | | | | | _ \
| |_| | __ _ __| | ___ ___ _ __ | | | |_____ __
| _ |/ _` |/ _` |/ _ \ / _ \| '_ \ | | | / _ \ \ / /
| | | | (_| | (_| | (_) | (_) | |_) | | |/ / __/\ V /
\_| |_/\__,_|\__,_|\___/ \___/| .__/ |___/ \___| \_(_)
| |
|_|
This is the standard Hadoop Developer build environment.
This has all the right tools installed required to build
Hadoop from source.
You must install 'com.google.protobuf:protoc:exe:linux-riscv64:3.25.5'
into maven local repository (~/.m2) manually on riscv64 platform.
mvn install:install-file \
-DgroupId=com.google.protobuf \
-DartifactId=protoc \
-Dversion=3.25.5 \
-Dclassifier=linux-riscv64 \
-Dpackaging=exe \
-Dfile=/opt/protobuf/bin/protoc
chengpan@65fadd843df5:~/hadoop$
Successfully building hadoop common modules, there are some issues that need to be fixed independently
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
8m 59s
Maven dependency ordering for branch
+1 💚
mvninstall
34m 15s
trunk passed
+1 💚
compile
15m 1s
trunk passed
+1 💚
mvnsite
23m 1s
trunk passed
+1 💚
javadoc
8m 40s
trunk passed
+1 💚
shadedclient
43m 40s
branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗
mvndep
0m 44s
Maven dependency ordering for patch
+1 💚
mvninstall
33m 47s
the patch passed
+1 💚
compile
15m 15s
the patch passed
+1 💚
javac
15m 15s
the patch passed
+1 💚
blanks
0m 0s
The patch has no blanks issues.
+1 💚
mvnsite
20m 54s
the patch passed
+1 💚
xmllint
0m 0s
No new issues.
+1 💚
javadoc
8m 39s
the patch passed
+1 💚
shadedclient
45m 32s
patch has no errors when building and testing our client artifacts.
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
9m 2s
Maven dependency ordering for branch
+1 💚
mvninstall
33m 2s
trunk passed
+1 💚
compile
15m 26s
trunk passed
+1 💚
mvnsite
23m 52s
trunk passed
+1 💚
javadoc
8m 41s
trunk passed
+1 💚
shadedclient
43m 46s
branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗
mvndep
0m 44s
Maven dependency ordering for patch
+1 💚
mvninstall
33m 54s
the patch passed
+1 💚
compile
14m 52s
the patch passed
+1 💚
javac
14m 52s
the patch passed
+1 💚
blanks
0m 0s
The patch has no blanks issues.
+1 💚
mvnsite
20m 50s
the patch passed
+1 💚
xmllint
0m 0s
No new issues.
+1 💚
javadoc
8m 43s
the patch passed
+1 💚
shadedclient
45m 41s
patch has no errors when building and testing our client artifacts.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of PR
I saw that some contributors have started adding riscv64 support. Currently, Hadoop neither has riscv64 CI pipeline nor a dev container, the reviewers are not easy to verify the patch on x86_64 or aarch64 platforms.
This PR proposes to leverage Docker's cross-platform capability to allow running standard dev containers on x86_64 or aarch64 platforms.
Note: this requires upgrading protobuf to 3.25.5 first, see HADOOP-19605.
How was this patch tested?
I'm using a MacBook Pro with an M1 Max chip.
Launch Hadoop dev container
Successfully building hadoop common modules, there are some issues that need to be fixed independently
For code changes:
LICENSE,LICENSE-binary,NOTICE-binaryfiles?