Skip to content

TEZ-4700: [Cloud] Single image shared between AM and Task - #472

Merged
abstractdog merged 2 commits into
apache:masterfrom
Aggarwal-Raghav:TEZ-4700
Apr 20, 2026
Merged

TEZ-4700: [Cloud] Single image shared between AM and Task#472
abstractdog merged 2 commits into
apache:masterfrom
Aggarwal-Raghav:TEZ-4700

Conversation

@Aggarwal-Raghav

Copy link
Copy Markdown
Contributor

No description provided.

@tez-yetus

This comment was marked as outdated.

@Aggarwal-Raghav

Aggarwal-Raghav commented Mar 28, 2026

Copy link
Copy Markdown
ContributorAuthor

CC @abstractdog , This jira is more for discussion/organization of tez docker image.
Key changes:

  1. Unified Docker Image: A single Dockerfile that builds an image for both AM and Task process.
  2. Added a main entrypoint.sh that decide execution to either am-entrypoint.sh or child-entrypoint.sh based on the TEZ_COMPONENT environment variable.
  3. The child-entrypoint.sh and am-entrypoint.sh are same except the main classname in java command. _I don't want to put everything into a main entrypoint.sh at this point. This decision can be taken at the end.
  4. TEZ-4682 docker image i.e. apache/tez-am:1.0.0-SNAPSHOT -> apache/tez:1.0.0-SNAPSHOT. IMO we should publish the new one as part of TEZ-4698, will help the consumer to not switch to new one.

Points to discuss: (Its per my understanding and can be wrong)

  1. As TEZ Child needs 5 java args: amHost, amPort, containerId, token, attemptNo. tez-am and tez-child are standalone docker process and tez-child will have to watch/read from zk /tez-external-sessions/tez_am/server to get this info. So, we would need to extend that capability like TEZ-4007 in TezChild as well, this is my understanding
image
  1. The TaskScheduler and ContainerLauncher needs to be extended i.e. new implementation such that TezAM can start TezChild, TEZ-4665 needs to be completed before this. Once TEZ-4665 is done, we can get rid of tez.local.mode from docker tez-site.xml
  2. Once TEZ-4665 + TEZ-4700 is done, TEZ-4663 will be automatically done. The ExternalAmWordCount.java should work.

@tez-yetus

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeLogfileComment
+0 🆗reexec1m 57sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗detsecrets0m 7sdetect-secrets was not available.
+0 🆗xmllint0m 7sxmllint was not available.
+0 🆗shelldocs0m 7sShelldocs was not available.
+1 💚@author0m 0sThe patch does not contain any @author tags.
-1 ❌test4tests0m 0sThe 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.
_ master Compile Tests _
+1 💚mvninstall10m 1smaster passed
+1 💚compile0m 41smaster passed
+1 💚javadoc0m 47smaster passed
_ Patch Compile Tests _
+1 💚mvninstall0m 21sthe patch passed
+1 💚codespell1m 20sNo new issues.
+1 💚compile0m 18sthe patch passed
+1 💚javac0m 18sthe patch passed
+1 💚blanks0m 0sThe patch has no blanks issues.
+1 💚hadolint0m 0sNo new issues.
+1 💚markdownlint0m 2sNo new issues.
+1 💚shellcheck0m 1sNo new issues.
+1 💚yamllint0m 1sNo new issues.
+1 💚javadoc0m 16sthe patch passed
_ Other Tests _
+1 💚unit0m 18stez-dist in the patch passed.
+1 💚asflicense0m 15sThe patch does not generate ASF License warnings.
17m 53s
SubsystemReport/Notes
DockerClientAPI=1.54 ServerAPI=1.54 base: https://ci-hadoop.apache.org/job/tez-multibranch/job/PR-472/2/artifact/out/Dockerfile
GITHUB PR#472
Optional Testsdupname asflicense javac javadoc unit codespell detsecrets xmllint compile shellcheck shelldocs yamllint hadolint markdownlint
unameLinux 3468eed59e4f 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personality/home/jenkins/jenkins-agent/workspace/tez-multibranch_PR-472/src/.yetus/personality.sh
git revisionmaster / b4fff53
Default JavaUbuntu-21.0.10+7-Ubuntu-124.04
Test Resultshttps://ci-hadoop.apache.org/job/tez-multibranch/job/PR-472/2/testReport/
Max. process+thread count74 (vs. ulimit of 5500)
modulesC: tez-dist U: tez-dist
Console outputhttps://ci-hadoop.apache.org/job/tez-multibranch/job/PR-472/2/console
versionsgit=2.43.0 maven=3.8.7 hadolint=1.18.0-0-g76eee5c codespell=2.4.1 markdownlint=0.46.0 shellcheck=0.7.1 yamllint=1.38.0
Powered byApache Yetus 0.15.1 https://yetus.apache.org

This message was automatically generated.

@Aggarwal-Raghav
Aggarwal-Raghav marked this pull request as ready for review April 5, 2026 17:03
@abstractdog

abstractdog commented Apr 20, 2026

Copy link
Copy Markdown
Contributor

I can see that a few PR are depending on each other now, like: TEZ-4700(this), TEZ-4665, TEZ-4698
I believe the ideal order to merge them would be:

  1. TEZ-4700 (this)
  2. TEZ-4698: given we have the common image name after this
  3. TEZ-4665 -> and move every discussion to that place

so if we move this forward first, it doesn't have to contain any "child" specific content, because those can be added in TEZ-4665

does it make sense to you?

@Aggarwal-Raghav

Copy link
Copy Markdown
ContributorAuthor

I can see that a few PR are depending on each other now, like: TEZ-4700(this), TEZ-4665, TEZ-4698 I believe the ideal order to merge them would be:

  1. TEZ-4700 (this)
  2. TEZ-4698: given we have the common image name after this
  3. TEZ-4665 -> and move every discussion to that place

so if we move this forward first, it doesn't have to contain any "child" specific content, because those can be added in TEZ-4665

does it make sense to you?

ok, will remove child.env and child-entrypoint and update the docker-compose.yml etc.

@Aggarwal-Raghav

Copy link
Copy Markdown
ContributorAuthor

@abstractdog , updated the PR

@tez-yetus

Copy link
Copy Markdown

💔 -1 overall

VoteSubsystemRuntimeLogfileComment
+0 🆗reexec15m 32sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+0 🆗detsecrets0m 1sdetect-secrets was not available.
+0 🆗xmllint0m 1sxmllint was not available.
+0 🆗shelldocs0m 1sShelldocs was not available.
+1 💚@author0m 0sThe patch does not contain any @author tags.
-1 ❌test4tests0m 0sThe 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.
_ master Compile Tests _
+1 💚mvninstall4m 49smaster passed
+1 💚compile0m 25smaster passed
+1 💚javadoc0m 27smaster passed
_ Patch Compile Tests _
+1 💚mvninstall0m 12sthe patch passed
+1 💚codespell0m 58sNo new issues.
+1 💚compile0m 11sthe patch passed
+1 💚javac0m 11sthe patch passed
+1 💚blanks0m 0sThe patch has no blanks issues.
+1 💚hadolint0m 0sNo new issues.
+1 💚markdownlint0m 3sNo new issues.
+1 💚shellcheck0m 1sNo new issues.
+1 💚yamllint0m 0sNo new issues.
+1 💚javadoc0m 10sthe patch passed
_ Other Tests _
+1 💚unit0m 11stez-dist in the patch passed.
+1 💚asflicense0m 11sThe patch does not generate ASF License warnings.
24m 14s
SubsystemReport/Notes
DockerClientAPI=1.54 ServerAPI=1.54 base: https://ci-hadoop.apache.org/job/tez-multibranch/job/PR-472/3/artifact/out/Dockerfile
GITHUB PR#472
Optional Testsdupname asflicense javac javadoc unit codespell detsecrets xmllint compile shellcheck shelldocs yamllint hadolint markdownlint
unameLinux cce67f8a833c 5.15.0-174-generic #184-Ubuntu SMP Fri Mar 13 18:41:50 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personality/home/jenkins/jenkins-agent/workspace/tez-multibranch_PR-472/src/.yetus/personality.sh
git revisionmaster / 75b0506
Default JavaUbuntu-21.0.10+7-Ubuntu-124.04
Test Resultshttps://ci-hadoop.apache.org/job/tez-multibranch/job/PR-472/3/testReport/
Max. process+thread count81 (vs. ulimit of 5500)
modulesC: tez-dist U: tez-dist
Console outputhttps://ci-hadoop.apache.org/job/tez-multibranch/job/PR-472/3/console
versionsgit=2.43.0 maven=3.9.14 hadolint=1.18.0-0-g76eee5c codespell=2.4.1 markdownlint=0.46.0 shellcheck=0.7.1 yamllint=1.38.0
Powered byApache Yetus 0.15.1 https://yetus.apache.org

This message was automatically generated.

@abstractdog
abstractdog self-requested a review April 20, 2026 08:06
@abstractdog
abstractdog merged commit 41a448c into apache:masterApr 20, 2026
4 checks passed
@Aggarwal-Raghav
Aggarwal-Raghav deleted the TEZ-4700 branch May 1, 2026 05:52
Sign up for freeto 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.

3 participants

@Aggarwal-Raghav@tez-yetus@abstractdog