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-18682. Move hadoop docker scripts under the main source code #6483

Open
wants to merge 9 commits into
base: trunk
Choose a base branch
from

Conversation

xBis7
Copy link
Contributor

@xBis7 xBis7 commented Jan 22, 2024

Description of PR

There are special branches for running hadoop in docker

docker-hadoop-runner-latest
docker-hadoop-runner-jdk11
docker-hadoop-runner-jdk8
docker-hadoop-runner
docker-hadoop-3
docker-hadoop-2

These branches, run specific versions of hadoop. For example, branch docker-hadoop-3 runs hadoop-3.3.6.
This patch is adding a similar setup under the main source code which will be running the latest trunk. This will be useful for testing code changes and debugging. It will also make it easier for new hadoop contributors to test the project and get familiar with it.

The files were originally copied from the branch hadoop-docker-3 and were modified so that the code comes from trunk and maven builds the docker image instead of the user.

More specifically, in branch hadoop-docker-3

  • The Dockerfile downloads hadoop release 3.3.6 and then un-tars it inside the containers and sets it up
  • The user has to build the Dockerfile image before starting the docker environment

With these changes, in trunk

  • The user doesn't have to build the image, this is done by maven while packaging the project
  • Maven generates a directory hadoop-<version> under hadoop-dist/target
    • That directory contains the same files as a release
    • The compose files are placed under that location
    • The files from that dir are used as docker mounted volumes. That way these files are present in the containers when starting the environment and are also used for starting the services (namenode, etc.)

Jira: https://issues.apache.org/jira/browse/HADOOP-18682

How was this patch tested?

This patch was tested manually in a local env. It's adding a setup for running hadoop in docker. A README.md has been added with instruction for testing the changes locally.

I've also created a patch and tested it against trunk with dev-support/bin/test-patch /tmp/1.patch.

To test that the docker environment uses the latest code from trunk, I added a LOG prefix to this

2024-01-22 09:30:57 INFO  NameNode:1846 - createNameNode []

and then built the project again, started the docker env and checked the logs

2024-01-22 09:58:44 INFO  NameNode:1846 - xbis: createNameNode []

To test the patch locally

> mvn clean install -Dmaven.javadoc.skip=true -DskipTests -DskipShade -Pdist,src

> cd hadoop-dist/target/hadoop-3.5.0-SNAPSHOT/compose/hadoop

> docker-compose up -d --scale datanode=3

> docker exec -it hadoop_datanode_1 bash
bash-4.2$ hdfs dfs -mkdir /test

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?

@xBis7
Copy link
Contributor Author

xBis7 commented Jan 22, 2024

@ayushtkn Can you take a look at this PR?

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 20s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s 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 🆗 shelldocs 0m 0s Shelldocs was not available.
+0 🆗 yamllint 0m 0s yamllint 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 13m 55s Maven dependency ordering for branch
+1 💚 mvninstall 19m 14s trunk passed
+1 💚 compile 8m 19s trunk passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 compile 7m 30s trunk passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 mvnsite 11m 32s trunk passed
+1 💚 javadoc 4m 39s trunk passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 4m 51s trunk passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 shadedclient 28m 12s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 30s Maven dependency ordering for patch
+1 💚 mvninstall 17m 0s the patch passed
+1 💚 compile 8m 0s the patch passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 javac 8m 0s the patch passed
+1 💚 compile 7m 32s the patch passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 javac 7m 32s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-1 ❌ hadolint 0m 1s /results-hadolint.txt The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
+1 💚 mvnsite 7m 15s the patch passed
+1 💚 shellcheck 0m 0s No new issues.
+1 💚 javadoc 4m 32s the patch passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 4m 52s the patch passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 shadedclient 28m 58s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 638m 17s /patch-unit-root.txt root in the patch passed.
+1 💚 asflicense 0m 52s The patch does not generate ASF License warnings.
801m 5s
Reason Tests
Failed junit tests hadoop.yarn.server.timelineservice.security.TestTimelineAuthFilterForV2
Subsystem Report/Notes
Docker ClientAPI=1.44 ServerAPI=1.44 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/1/artifact/out/Dockerfile
GITHUB PR #6483
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint shellcheck shelldocs yamllint markdownlint hadolint
uname Linux 97f22c0771dd 5.15.0-88-generic #98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 5810004
Default Java Private Build-1.8.0_392-8u392-ga-1~20.04-b08
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_392-8u392-ga-1~20.04-b08
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/1/testReport/
Max. process+thread count 4640 (vs. ulimit of 5500)
modules C: hadoop-dist . U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/1/console
versions git=2.25.1 maven=3.6.3 hadolint=1.11.1-0-g0e692dd shellcheck=0.7.0
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 20s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s 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 🆗 shelldocs 0m 0s Shelldocs was not available.
+0 🆗 yamllint 0m 0s yamllint 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 13m 57s Maven dependency ordering for branch
+1 💚 mvninstall 19m 28s trunk passed
+1 💚 compile 8m 18s trunk passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 compile 7m 35s trunk passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 mvnsite 11m 59s trunk passed
+1 💚 javadoc 4m 38s trunk passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 4m 51s trunk passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 shadedclient 28m 0s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 29s Maven dependency ordering for patch
+1 💚 mvninstall 16m 44s the patch passed
+1 💚 compile 8m 1s the patch passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 javac 8m 1s the patch passed
+1 💚 compile 7m 30s the patch passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 javac 7m 30s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-1 ❌ hadolint 0m 1s /results-hadolint.txt The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
+1 💚 mvnsite 7m 1s the patch passed
+1 💚 shellcheck 0m 0s No new issues.
+1 💚 javadoc 4m 32s the patch passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 5m 0s the patch passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 shadedclient 28m 56s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 602m 25s /patch-unit-root.txt root in the patch failed.
+0 🆗 asflicense 0m 35s ASF License check generated no output?
764m 34s
Reason Tests
Failed junit tests hadoop.hdfs.TestErasureCodingPoliciesWithRandomECPolicy
hadoop.hdfs.TestDistributedFileSystemWithECFileWithRandomECPolicy
hadoop.hdfs.server.federation.router.TestRouterRefreshSuperUserGroupsConfiguration
hadoop.hdfs.server.federation.router.TestRouterRetryCache
hadoop.hdfs.server.federation.router.TestRouterUserMappings
hadoop.hdfs.server.federation.router.TestRouterRPCMultipleDestinationMountTableResolver
hadoop.hdfs.server.federation.router.TestRenewLeaseWithSameINodeId
hadoop.hdfs.server.federation.metrics.TestNameserviceRPCMetrics
hadoop.hdfs.server.federation.router.TestRouterWithSecureStartup
hadoop.hdfs.server.federation.metrics.TestRouterClientMetrics
hadoop.hdfs.server.federation.router.TestRouterNamenodeHeartbeat
hadoop.hdfs.server.federation.router.TestRouterMountTableCacheRefresh
hadoop.hdfs.server.federation.router.TestRouterMultiRack
Subsystem Report/Notes
Docker ClientAPI=1.44 ServerAPI=1.44 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/2/artifact/out/Dockerfile
GITHUB PR #6483
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint shellcheck shelldocs yamllint markdownlint hadolint
uname Linux 66f28dabf359 5.15.0-88-generic #98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 464c378
Default Java Private Build-1.8.0_392-8u392-ga-1~20.04-b08
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_392-8u392-ga-1~20.04-b08
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/2/testReport/
Max. process+thread count 4561 (vs. ulimit of 5500)
modules C: hadoop-dist . U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/2/console
versions git=2.25.1 maven=3.6.3 hadolint=1.11.1-0-g0e692dd shellcheck=0.7.0
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor

@jojochuang jojochuang left a comment

Choose a reason for hiding this comment

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

Hi thanks for working on this, but I'm curious

does it mean building Hadoop requires Docker?
does it increase build time, because now it must build the docker image?

Like, if I make a small incremental change to my code, does it rebuild the entire docker image from scratch

@xBis7
Copy link
Contributor Author

xBis7 commented Jan 31, 2024

Hi @jojochuang, it's not the same as running docker-compose build and building the image. It doesn't work unless you use the -Pdist option, which is what takes the extra time and not docker.

When you run docker-compose build in one of the special branches, it downloads the release tarball and then extracts it and copies it under the docker containers. The containers then use the release files when the docker env is started.

Here, when you enable the -Pdist, you get all the files that would normally be under a release, under hadoop-dist/target/hadoop-<version>. We mount the contents of that dir as a docker volume for all the containers. We use these files for the docker env just like we would do with the files from a release, with the difference that we didn't have to download them or copy them.

For reference, these are the times on my machine for this branch

  • Without -Pdist
> mvn clean install -Dmaven.javadoc.skip=true -DskipTests -DskipShade
 ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  02:24 min
  • With -Pdist
> mvn clean install -Dmaven.javadoc.skip=true -DskipTests -DskipShade -Pdist,src
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  06:18 min

That's how long it takes in trunk as well.

Copy link
Member

@ayushtkn ayushtkn left a comment

Choose a reason for hiding this comment

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

does it increase build time, because now it must build the docker image?

The build time should increase theoretically when using the Pdist profile, because we are doing stuff for docker image, not sure how much, we need to see the time diff with & without the patch....

Like, if I make a small incremental change to my code, does it rebuild the entire docker image from scratch

I believe yes, I don't think there is any incremental thing while building docker images

I think Ozone even builds the docker images during: https:/apache/ozone/blob/master/hadoop-ozone/dist/pom.xml#L372
there is documentation for that:
https://ozone.apache.org/docs/1.0.0/start/fromsource.html

so, it is similar thing for hadoop

@@ -0,0 +1,48 @@
<!--
Copy link
Member

Choose a reason for hiding this comment

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

this readme will not get published to the website, either add details here:
https:/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/site/markdown/SingleCluster.md.vm

or create a heading in the end like it is there for Fully-Distributed Operation in this page & then add a new page for docker

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@ayushtkn I've updated it with a new page for docker. I don't know how to test if it will get published in the website.

Copy link
Member

Choose a reason for hiding this comment

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

do a mvn clean site and it will build the website locally, and you can check that

@xBis7
Copy link
Contributor Author

xBis7 commented Feb 2, 2024

@ayushtkn Thanks for the review.

I think Ozone even builds the docker images during:

BTW, that's where I got the idea for this PR.

because we are doing stuff for docker image, not sure how much, we need to see the time diff with & without the patch....

The times I posted above, are for this branch. Let me get the times for trunk as well and post them in another comment.

Because we are mounting the dist directory as a docker volume for the containers, there isn't any extra time needed in the build other than the time we spend building the dist directory. It's not building an official hadoop image using a Dockerfile.

@xBis7
Copy link
Contributor Author

xBis7 commented Feb 2, 2024

These are the times from my local machine. Someone with a more powerful CPU or a different OS will be getting different times but the spread, with and without the dist profile, will be analogous.

  • trunk

    • Without -Pdist
    > mvn clean install -Dmaven.javadoc.skip=true -DskipTests -DskipShade
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  03:06 min
    • With -Pdist
    > mvn clean install -Dmaven.javadoc.skip=true -DskipTests -DskipShade -Pdist,src
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  06:49 min
  • this branch

    • Without -Pdist
    > mvn clean install -Dmaven.javadoc.skip=true -DskipTests -DskipShade
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  02:34 min
    • With -Pdist
    > mvn clean install -Dmaven.javadoc.skip=true -DskipTests -DskipShade -Pdist,src
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  06:30 min

Without the dist profile, docker is still built but there are no dist files to be used for the containers and therefore starting the environment will fail.

@github-actions github-actions bot added the Common label Feb 2, 2024
@ayushtkn
Copy link
Member

ayushtkn commented Feb 2, 2024

Thanx @xBis7 for the details. I haven't tried the code locally yet, but on a quick look, it looks fine.

If @jojochuang is convinced, it is good with me

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 25m 27s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+0 🆗 xmllint 0m 0s xmllint was not available.
+0 🆗 shelldocs 0m 0s Shelldocs was not available.
+0 🆗 yamllint 0m 0s yamllint 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 14m 47s Maven dependency ordering for branch
+1 💚 mvninstall 30m 46s trunk passed
+1 💚 compile 16m 26s trunk passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 compile 15m 4s trunk passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 mvnsite 18m 16s trunk passed
+1 💚 javadoc 8m 29s trunk passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 7m 37s trunk passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 shadedclient 47m 28s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 43s Maven dependency ordering for patch
+1 💚 mvninstall 29m 27s the patch passed
+1 💚 compile 15m 46s the patch passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 javac 15m 46s the patch passed
+1 💚 compile 14m 55s the patch passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 javac 14m 55s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-1 ❌ hadolint 0m 1s /results-hadolint.txt The patch generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
+1 💚 mvnsite 13m 57s the patch passed
+1 💚 shellcheck 0m 1s No new issues.
+1 💚 javadoc 8m 18s the patch passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 javadoc 7m 32s the patch passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 shadedclient 50m 49s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 747m 37s /patch-unit-root.txt root in the patch passed.
+1 💚 asflicense 1m 35s The patch does not generate ASF License warnings.
1048m 28s
Reason Tests
Failed junit tests hadoop.hdfs.server.datanode.TestDirectoryScanner
Subsystem Report/Notes
Docker ClientAPI=1.44 ServerAPI=1.44 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/3/artifact/out/Dockerfile
GITHUB PR #6483
Optional Tests dupname asflicense mvnsite codespell detsecrets markdownlint compile javac javadoc mvninstall unit shadedclient xmllint shellcheck shelldocs yamllint hadolint
uname Linux 5c2310990dcf 5.15.0-88-generic #98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 03d600f
Default Java Private Build-1.8.0_392-8u392-ga-1~20.04-b08
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_392-8u392-ga-1~20.04-b08
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/3/testReport/
Max. process+thread count 3913 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-dist . U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/3/console
versions git=2.25.1 maven=3.6.3 hadolint=1.11.1-0-g0e692dd shellcheck=0.7.0
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@xBis7
Copy link
Contributor Author

xBis7 commented Feb 26, 2024

Hi @jojochuang any comments on this?

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
_ Prechecks _
+1 💚 dupname 0m 02s No case conflicting files found.
+0 🆗 codespell 0m 02s codespell was not available.
+0 🆗 detsecrets 0m 02s detect-secrets was not available.
+0 🆗 markdownlint 0m 02s markdownlint was not available.
+0 🆗 xmllint 0m 00s xmllint was not available.
+0 🆗 shellcheck 0m 01s Shellcheck was not available.
+0 🆗 shelldocs 0m 01s Shelldocs was not available.
+0 🆗 yamllint 0m 01s yamllint was not available.
+0 🆗 hadolint 0m 01s hadolint was not available.
+1 💚 @author 0m 00s The patch does not contain any @author tags.
-1 ❌ test4tests 0m 00s 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 4m 56s Maven dependency ordering for branch
+1 💚 mvninstall 108m 15s trunk passed
+1 💚 compile 47m 52s trunk passed
-1 ❌ mvnsite 28m 48s /branch-mvnsite-root.txt root in trunk failed.
+1 💚 javadoc 19m 14s trunk passed
+1 💚 shadedclient 390m 28s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 5m 06s Maven dependency ordering for patch
-1 ❌ mvninstall 3m 08s /patch-mvninstall-hadoop-dist.txt hadoop-dist in the patch failed.
+1 💚 compile 48m 07s the patch passed
+1 💚 javac 48m 07s the patch passed
+1 💚 blanks 0m 01s The patch has no blanks issues.
-1 ❌ mvnsite 28m 00s /patch-mvnsite-root.txt root in the patch failed.
+1 💚 javadoc 19m 56s the patch passed
+1 💚 shadedclient 232m 42s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 asflicense 7m 47s The patch does not generate ASF License warnings.
813m 26s
Subsystem Report/Notes
GITHUB PR #6483
Optional Tests dupname asflicense mvnsite codespell detsecrets markdownlint compile javac javadoc mvninstall unit shadedclient xmllint shellcheck shelldocs yamllint hadolint
uname MINGW64_NT-10.0-17763 34cb8b2b35a4 3.4.10-87d57229.x86_64 2024-02-14 20:17 UTC x86_64 Msys
Build tool maven
Personality /c/hadoop/dev-support/bin/hadoop.sh
git revision trunk / 03d600f
Default Java Azul Systems, Inc.-1.8.0_332-b09
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch-windows-10/job/PR-6483/1/testReport/
modules C: hadoop-common-project/hadoop-common hadoop-dist . U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch-windows-10/job/PR-6483/1/console
versions git=2.44.0.windows.1
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@ayushtkn
Copy link
Member

@xBis7 the compilation is failing in your PR,

@adoroszlai
Copy link
Contributor

Instead of building hadoop image with "snapshot" version, why not use hadoop-runner with bind mounts? The former may result in lots of throwaway images locally.

@xBis7
Copy link
Contributor Author

xBis7 commented Oct 10, 2024

why not use hadoop-runner with bind mounts?

@adoroszlai you are right. Now that I'm going over this PR again, it can be simplified. All we need is a base image and to mount the generated distribution files.

Is there a way to run the CI locally before pushing to the PR?

@xBis7
Copy link
Contributor Author

xBis7 commented Oct 10, 2024

I tried it locally and it looks like it's working like that

why not use hadoop-runner with bind mounts?

❯ docker image ls | grep hadoop
apache/hadoop-runner                                 docker-hadoop-3   0bcc0ce3086d   5 years ago     1.06GB

The -SNAPSHOT is only appended for the project version, not the image.

Also, the build succeeds.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 34s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+0 🆗 xmllint 0m 0s xmllint was not available.
+0 🆗 shelldocs 0m 0s Shelldocs was not available.
+0 🆗 yamllint 0m 0s yamllint 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 15m 16s Maven dependency ordering for branch
+1 💚 mvninstall 32m 1s trunk passed
+1 💚 compile 17m 43s trunk passed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04
+1 💚 compile 16m 34s trunk passed with JDK Private Build-1.8.0_422-8u422-b05-1~20.04-b05
+1 💚 mvnsite 25m 25s trunk passed
+1 💚 javadoc 9m 59s trunk passed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04
+1 💚 javadoc 8m 20s trunk passed with JDK Private Build-1.8.0_422-8u422-b05-1~20.04-b05
+1 💚 shadedclient 52m 42s 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 31m 59s the patch passed
+1 💚 compile 17m 20s the patch passed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04
+1 💚 javac 17m 20s the patch passed
+1 💚 compile 16m 34s the patch passed with JDK Private Build-1.8.0_422-8u422-b05-1~20.04-b05
+1 💚 javac 16m 34s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 hadolint 0m 1s No new issues.
+1 💚 mvnsite 19m 37s the patch passed
+1 💚 shellcheck 0m 0s No new issues.
+1 💚 javadoc 9m 56s the patch passed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04
+1 💚 javadoc 8m 14s the patch passed with JDK Private Build-1.8.0_422-8u422-b05-1~20.04-b05
+1 💚 shadedclient 54m 30s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 760m 21s root in the patch passed.
+1 💚 asflicense 1m 45s The patch does not generate ASF License warnings.
1066m 24s
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/4/artifact/out/Dockerfile
GITHUB PR #6483
Optional Tests dupname asflicense mvnsite codespell detsecrets markdownlint compile javac javadoc mvninstall unit shadedclient xmllint shellcheck shelldocs yamllint hadolint
uname Linux db670b08318c 5.15.0-117-generic #127-Ubuntu SMP Fri Jul 5 20:13:28 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / e9a25c6
Default Java Private Build-1.8.0_422-8u422-b05-1~20.04-b05
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_422-8u422-b05-1~20.04-b05
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/4/testReport/
Max. process+thread count 3916 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-dist . U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/4/console
versions git=2.25.1 maven=3.6.3 hadolint=1.11.1-0-g0e692dd shellcheck=0.7.0
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

Copy link
Member

@ayushtkn ayushtkn left a comment

Choose a reason for hiding this comment

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

LGTM

Comment on lines +23 to +26
* [docker-hadoop-runner-latest](https:/apache/hadoop/tree/docker-hadoop-runner-latest)
* [docker-hadoop-runner-jdk11](https:/apache/hadoop/tree/docker-hadoop-runner-jdk11)
* [docker-hadoop-runner-jdk8](https:/apache/hadoop/tree/docker-hadoop-runner-jdk8)
* [docker-hadoop-runner](https:/apache/hadoop/tree/docker-hadoop-runner)
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: docker-hadoop-runner* images are not related to any specific Hadoop version. They are just the base images for running any Hadoop version.

hadoop-dist/pom.xml Outdated Show resolved Hide resolved
@xBis7
Copy link
Contributor Author

xBis7 commented Oct 18, 2024

@adoroszlai I updated the README and also changed the hadoop-runner version as suggested. I tested it locally and there are no issues.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 6m 48s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+0 🆗 xmllint 0m 1s xmllint was not available.
+0 🆗 shelldocs 0m 1s Shelldocs was not available.
+0 🆗 yamllint 0m 1s yamllint 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 14m 16s Maven dependency ordering for branch
+1 💚 mvninstall 18m 57s trunk passed
-1 ❌ compile 0m 20s /branch-compile-root-jdkUbuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.txt root in trunk failed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.
+1 💚 compile 8m 31s trunk passed with JDK Private Build-1.8.0_422-8u422-b05-1~20.04-b05
+1 💚 mvnsite 15m 24s trunk passed
+1 💚 javadoc 5m 40s trunk passed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04
+1 💚 javadoc 4m 59s trunk passed with JDK Private Build-1.8.0_422-8u422-b05-1~20.04-b05
+1 💚 shadedclient 30m 48s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 32s Maven dependency ordering for patch
+1 💚 mvninstall 20m 9s the patch passed
-1 ❌ compile 0m 14s /patch-compile-root-jdkUbuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.txt root in the patch failed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.
-1 ❌ javac 0m 14s /patch-compile-root-jdkUbuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.txt root in the patch failed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.
+1 💚 compile 8m 13s the patch passed with JDK Private Build-1.8.0_422-8u422-b05-1~20.04-b05
+1 💚 javac 8m 13s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 hadolint 0m 1s No new issues.
+1 💚 mvnsite 10m 35s the patch passed
+1 💚 shellcheck 0m 0s No new issues.
+1 💚 javadoc 5m 26s the patch passed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04
+1 💚 javadoc 5m 0s the patch passed with JDK Private Build-1.8.0_422-8u422-b05-1~20.04-b05
+1 💚 shadedclient 31m 23s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 638m 41s root in the patch passed.
+1 💚 asflicense 1m 8s The patch does not generate ASF License warnings.
807m 55s
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/5/artifact/out/Dockerfile
GITHUB PR #6483
Optional Tests dupname asflicense mvnsite codespell detsecrets markdownlint compile javac javadoc mvninstall unit shadedclient xmllint shellcheck shelldocs yamllint hadolint
uname Linux cd0fd39ca20a 5.15.0-117-generic #127-Ubuntu SMP Fri Jul 5 20:13:28 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 1343de8
Default Java Private Build-1.8.0_422-8u422-b05-1~20.04-b05
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_422-8u422-b05-1~20.04-b05
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/5/testReport/
Max. process+thread count 4118 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-dist . U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/5/console
versions git=2.25.1 maven=3.6.3 hadolint=1.11.1-0-g0e692dd shellcheck=0.7.0
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 17m 40s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+0 🆗 xmllint 0m 1s xmllint was not available.
+0 🆗 shelldocs 0m 1s Shelldocs was not available.
+0 🆗 yamllint 0m 1s yamllint 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 14m 39s Maven dependency ordering for branch
+1 💚 mvninstall 36m 31s trunk passed
-1 ❌ compile 0m 26s /branch-compile-root-jdkUbuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.txt root in trunk failed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.
+1 💚 compile 18m 17s trunk passed with JDK Private Build-1.8.0_422-8u422-b05-1~20.04-b05
+1 💚 mvnsite 26m 34s trunk passed
+1 💚 javadoc 10m 39s trunk passed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04
+1 💚 javadoc 8m 1s trunk passed with JDK Private Build-1.8.0_422-8u422-b05-1~20.04-b05
+1 💚 shadedclient 57m 36s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 45s Maven dependency ordering for patch
+1 💚 mvninstall 35m 46s the patch passed
-1 ❌ compile 0m 26s /patch-compile-root-jdkUbuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.txt root in the patch failed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.
-1 ❌ javac 0m 26s /patch-compile-root-jdkUbuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.txt root in the patch failed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04.
+1 💚 compile 17m 43s the patch passed with JDK Private Build-1.8.0_422-8u422-b05-1~20.04-b05
+1 💚 javac 17m 43s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 hadolint 0m 0s No new issues.
+1 💚 mvnsite 19m 41s the patch passed
+1 💚 shellcheck 0m 0s No new issues.
+1 💚 javadoc 10m 31s the patch passed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04
+1 💚 javadoc 7m 56s the patch passed with JDK Private Build-1.8.0_422-8u422-b05-1~20.04-b05
+1 💚 shadedclient 58m 14s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 808m 31s root in the patch passed.
+1 💚 asflicense 1m 40s The patch does not generate ASF License warnings.
1117m 46s
Subsystem Report/Notes
Docker ClientAPI=1.46 ServerAPI=1.46 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/6/artifact/out/Dockerfile
GITHUB PR #6483
Optional Tests dupname asflicense mvnsite codespell detsecrets markdownlint compile javac javadoc mvninstall unit shadedclient xmllint shellcheck shelldocs yamllint hadolint
uname Linux c90eaab50e78 5.15.0-117-generic #127-Ubuntu SMP Fri Jul 5 20:13:28 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 08987d1
Default Java Private Build-1.8.0_422-8u422-b05-1~20.04-b05
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_422-8u422-b05-1~20.04-b05
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/6/testReport/
Max. process+thread count 3692 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-dist . U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-6483/6/console
versions git=2.25.1 maven=3.6.3 hadolint=1.11.1-0-g0e692dd shellcheck=0.7.0
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.

5 participants