Skip to content

YARN-11993. PublicLocalizer thread exits permanently when pending.remove() returns null - #8755

Merged
slfan1989 merged 2 commits into
apache:trunkfrom
joseluisll:YARN-11993
Oct 7, 2026
Merged

slfan1989 merged 2 commits into
apache:trunkfrom
joseluisll:YARN-11993

Conversation

@joseluisll

@joseluisll joseluisll commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Depends on (has to be merged first):

Required by (waits for this one to be merged):

Description of PR

YARN-11993. PublicLocalizer thread exits permanently when pending.remove() returns null.

When PublicLocalizer.run() dequeues a completed download that is not in pending,
it returns. The finally block then shuts down the download pool, and every later
public localization on the node is rejected until the NodeManager restarts.

This PR changes that return to continue, so the localizer logs the unknown
entry and keeps running.

YARN-11998 moved this null check for SpotBugs but kept the return, so the bug
is still on trunk.

Also removes a stale SpotBugs exclusion for PublicLocalizer.work, a method that
no longer exists.

How was this patch tested?

Added TestResourceLocalizationService#testPublicLocalizerSurvivesUnknownResource.
It fails on current trunk with RejectedExecutionException (pool terminated) and
passes with this change. All 19 tests in TestResourceLocalizationService pass.

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?

🤖 Generated with Claude Code

@hadoop-yetus

Copy link
Copy Markdown

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 22s 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.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ trunk Compile Tests _
+1 💚 shadedclient 19m 32s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 19m 47s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 shadedclient 14m 58s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 asflicense 0m 25s The patch does not generate ASF License warnings.
36m 33s
Subsystem Report/Notes
Docker ClientAPI=1.56 ServerAPI=1.56 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8755/1/artifact/out/Dockerfile
Optional Tests dupname asflicense codespell detsecrets xmllint
uname Linux 83ceec000ab1 5.15.0-190-generic #200-Ubuntu SMP Fri Aug 7 15:06:04 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 90f0d1d
Max. process+thread count 637 (vs. ulimit of 10000)
modules C: hadoop-yarn-project/hadoop-yarn U: hadoop-yarn-project/hadoop-yarn
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8755/1/console
versions git=2.43.0 maven=3.9.15
Powered by Apache Yetus 0.14.1 https://yetus.apache.org

This message was automatically generated.

@joseluisll joseluisll changed the title YARN-11993. Suppress false-positive in ResourceLocalizationService.PublicLocalizer.run() YARN-11993. PublicLocalizer thread dies permanently on an unknown resource Sep 25, 2026
@hadoop-yetus

Copy link
Copy Markdown

💔 -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.
+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 1m 55s Maven dependency ordering for branch
+1 💚 mvninstall 27m 3s trunk passed
+1 💚 compile 3m 35s trunk passed with JDK Ubuntu-21.0.12+8-1-24.04-Ubuntu
+1 💚 compile 3m 31s trunk passed with JDK Ubuntu-17.0.20+8-1-24.04-Ubuntu
+1 💚 checkstyle 1m 25s trunk passed
+1 💚 mvnsite 2m 46s trunk passed
+1 💚 javadoc 2m 55s trunk passed with JDK Ubuntu-21.0.12+8-1-24.04-Ubuntu
+1 💚 javadoc 2m 49s trunk passed with JDK Ubuntu-17.0.20+8-1-24.04-Ubuntu
-1 ❌ spotbugs 6m 53s /branch-spotbugs-hadoop-yarn-project_hadoop-yarn-warnings.html hadoop-yarn-project/hadoop-yarn in trunk has 1 extant spotbugs warnings.
-1 ❌ spotbugs 0m 57s /branch-spotbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-nodemanager-warnings.html hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager in trunk has 1 extant spotbugs warnings.
+1 💚 shadedclient 16m 48s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 19s Maven dependency ordering for patch
+1 💚 mvninstall 4m 29s the patch passed
+1 💚 compile 3m 16s the patch passed with JDK Ubuntu-21.0.12+8-1-24.04-Ubuntu
+1 💚 javac 3m 16s the patch passed
+1 💚 compile 3m 19s the patch passed with JDK Ubuntu-17.0.20+8-1-24.04-Ubuntu
+1 💚 javac 3m 19s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 1m 17s the patch passed
+1 💚 mvnsite 2m 27s the patch passed
+1 💚 javadoc 2m 32s the patch passed with JDK Ubuntu-21.0.12+8-1-24.04-Ubuntu
+1 💚 javadoc 2m 42s the patch passed with JDK Ubuntu-17.0.20+8-1-24.04-Ubuntu
+1 💚 spotbugs 7m 41s hadoop-yarn-project/hadoop-yarn generated 0 new + 0 unchanged - 1 fixed = 0 total (was 1)
+1 💚 spotbugs 1m 1s hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager generated 0 new + 0 unchanged - 1 fixed = 0 total (was 1)
+1 💚 shadedclient 17m 42s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 214m 44s /patch-unit-hadoop-yarn-project_hadoop-yarn.txt hadoop-yarn in the patch failed.
+1 💚 unit 23m 29s hadoop-yarn-server-nodemanager in the patch passed.
+1 💚 asflicense 0m 43s The patch does not generate ASF License warnings.
358m 35s
Subsystem Report/Notes
Docker ClientAPI=1.56 ServerAPI=1.56 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8755/2/artifact/out/Dockerfile
GITHUB PR #8755
Optional Tests dupname asflicense codespell detsecrets xmllint compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle
uname Linux 0318aff44c3a 5.15.0-190-generic #200-Ubuntu SMP Fri Aug 7 15:06:04 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / d463bd3
Default Java Ubuntu-17.0.20+8-1-24.04-Ubuntu
Multi-JDK versions /usr/lib/jvm/java-21-openjdk-amd64:Ubuntu-21.0.12+8-1-24.04-Ubuntu /usr/lib/jvm/java-17-openjdk-amd64:Ubuntu-17.0.20+8-1-24.04-Ubuntu
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8755/2/testReport/
Max. process+thread count 1963 (vs. ulimit of 10000)
modules C: hadoop-yarn-project/hadoop-yarn hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager U: hadoop-yarn-project/hadoop-yarn
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8755/2/console
versions git=2.43.0 maven=3.9.15 spotbugs=4.9.7
Powered by Apache Yetus 0.14.1 https://yetus.apache.org

This message was automatically generated.

@joseluisll joseluisll changed the title YARN-11993. PublicLocalizer thread dies permanently on an unknown resource YARN-11993. PublicLocalizer thread exits permanently when pending.remove() returns null Sep 25, 2026
@hadoop-yetus

Copy link
Copy Markdown

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 25s 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.
+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 2m 44s Maven dependency ordering for branch
+1 💚 mvninstall 32m 23s trunk passed
+1 💚 compile 3m 51s trunk passed with JDK Ubuntu-21.0.12+8-1-24.04-Ubuntu
+1 💚 compile 4m 3s trunk passed with JDK Ubuntu-17.0.20+8-1-24.04-Ubuntu
+1 💚 checkstyle 1m 37s trunk passed
+1 💚 mvnsite 2m 38s trunk passed
+1 💚 javadoc 2m 49s trunk passed with JDK Ubuntu-21.0.12+8-1-24.04-Ubuntu
+1 💚 javadoc 2m 33s trunk passed with JDK Ubuntu-17.0.20+8-1-24.04-Ubuntu
-1 ❌ spotbugs 7m 2s /branch-spotbugs-hadoop-yarn-project_hadoop-yarn-warnings.html hadoop-yarn-project/hadoop-yarn in trunk has 1 extant spotbugs warnings.
-1 ❌ spotbugs 0m 50s /branch-spotbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-nodemanager-warnings.html hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager in trunk has 1 extant spotbugs warnings.
+1 💚 shadedclient 17m 27s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 19s Maven dependency ordering for patch
+1 💚 mvninstall 4m 22s the patch passed
+1 💚 compile 3m 38s the patch passed with JDK Ubuntu-21.0.12+8-1-24.04-Ubuntu
+1 💚 javac 3m 38s the patch passed
+1 💚 compile 3m 43s the patch passed with JDK Ubuntu-17.0.20+8-1-24.04-Ubuntu
+1 💚 javac 3m 43s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 1m 32s the patch passed
+1 💚 mvnsite 3m 0s the patch passed
+1 💚 javadoc 2m 53s the patch passed with JDK Ubuntu-21.0.12+8-1-24.04-Ubuntu
+1 💚 javadoc 2m 50s the patch passed with JDK Ubuntu-17.0.20+8-1-24.04-Ubuntu
+1 💚 spotbugs 7m 11s hadoop-yarn-project/hadoop-yarn generated 0 new + 0 unchanged - 1 fixed = 0 total (was 1)
+1 💚 spotbugs 1m 3s hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager generated 0 new + 0 unchanged - 1 fixed = 0 total (was 1)
+1 💚 shadedclient 18m 27s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 217m 14s /patch-unit-hadoop-yarn-project_hadoop-yarn.txt hadoop-yarn in the patch failed.
-1 ❌ unit 23m 17s /patch-unit-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-nodemanager.txt hadoop-yarn-server-nodemanager in the patch passed.
+1 💚 asflicense 0m 51s The patch does not generate ASF License warnings.
371m 2s
Reason Tests
Failed junit tests hadoop.yarn.server.nodemanager.containermanager.logaggregation.TestLogAggregationService
hadoop.yarn.server.nodemanager.containermanager.logaggregation.TestLogAggregationService
Subsystem Report/Notes
Docker ClientAPI=1.56 ServerAPI=1.56 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8755/3/artifact/out/Dockerfile
GITHUB PR #8755
Optional Tests dupname asflicense codespell detsecrets xmllint compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle
uname Linux c5a924636366 5.15.0-190-generic #200-Ubuntu SMP Fri Aug 7 15:06:04 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 4c8d772
Default Java Ubuntu-17.0.20+8-1-24.04-Ubuntu
Multi-JDK versions /usr/lib/jvm/java-21-openjdk-amd64:Ubuntu-21.0.12+8-1-24.04-Ubuntu /usr/lib/jvm/java-17-openjdk-amd64:Ubuntu-17.0.20+8-1-24.04-Ubuntu
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8755/3/testReport/
Max. process+thread count 1970 (vs. ulimit of 10000)
modules C: hadoop-yarn-project/hadoop-yarn hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager U: hadoop-yarn-project/hadoop-yarn
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8755/3/console
versions git=2.43.0 maven=3.9.15 spotbugs=4.9.7
Powered by Apache Yetus 0.14.1 https://yetus.apache.org

This message was automatically generated.

@hadoop-yetus

Copy link
Copy Markdown

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 24s 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.
+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 2m 17s Maven dependency ordering for branch
+1 💚 mvninstall 32m 23s trunk passed
+1 💚 compile 3m 54s trunk passed with JDK Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu
+1 💚 compile 3m 47s trunk passed with JDK Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
+1 💚 checkstyle 1m 32s trunk passed
+1 💚 mvnsite 2m 48s trunk passed
+1 💚 javadoc 3m 1s trunk passed with JDK Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu
+1 💚 javadoc 2m 49s trunk passed with JDK Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
-1 ❌ spotbugs 7m 47s /branch-spotbugs-hadoop-yarn-project_hadoop-yarn-warnings.html hadoop-yarn-project/hadoop-yarn in trunk has 1 extant spotbugs warnings.
-1 ❌ spotbugs 0m 59s /branch-spotbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-nodemanager-warnings.html hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager in trunk has 1 extant spotbugs warnings.
+1 💚 shadedclient 18m 53s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 19s Maven dependency ordering for patch
+1 💚 mvninstall 4m 4s the patch passed
+1 💚 compile 3m 25s the patch passed with JDK Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu
+1 💚 javac 3m 25s the patch passed
+1 💚 compile 3m 35s the patch passed with JDK Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
+1 💚 javac 3m 35s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 1m 22s the patch passed
+1 💚 mvnsite 2m 41s the patch passed
+1 💚 javadoc 2m 48s the patch passed with JDK Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu
+1 💚 javadoc 3m 12s the patch passed with JDK Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
+1 💚 spotbugs 8m 12s hadoop-yarn-project/hadoop-yarn generated 0 new + 0 unchanged - 1 fixed = 0 total (was 1)
+1 💚 spotbugs 1m 10s hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager generated 0 new + 0 unchanged - 1 fixed = 0 total (was 1)
+1 💚 shadedclient 19m 23s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 219m 4s /patch-unit-hadoop-yarn-project_hadoop-yarn.txt hadoop-yarn in the patch failed.
+1 💚 unit 23m 42s hadoop-yarn-server-nodemanager in the patch passed.
+1 💚 asflicense 0m 52s The patch does not generate ASF License warnings.
376m 11s
Subsystem Report/Notes
Docker ClientAPI=1.56 ServerAPI=1.56 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8755/4/artifact/out/Dockerfile
GITHUB PR #8755
Optional Tests dupname asflicense codespell detsecrets xmllint compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle
uname Linux d3f907b26d27 5.15.0-190-generic #200-Ubuntu SMP Fri Aug 7 15:06:04 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 2bc06d4
Default Java Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
Multi-JDK versions /usr/lib/jvm/java-21-openjdk-amd64:Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu /usr/lib/jvm/java-17-openjdk-amd64:Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8755/4/testReport/
Max. process+thread count 1981 (vs. ulimit of 10000)
modules C: hadoop-yarn-project/hadoop-yarn hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager U: hadoop-yarn-project/hadoop-yarn
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8755/4/console
versions git=2.43.0 maven=3.9.15 spotbugs=4.9.7
Powered by Apache Yetus 0.14.1 https://yetus.apache.org

This message was automatically generated.

@gerashegalov gerashegalov left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@hadoop-yetus

Copy link
Copy Markdown

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 22s 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.
+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 2m 17s Maven dependency ordering for branch
+1 💚 mvninstall 26m 55s trunk passed
+1 💚 compile 3m 31s trunk passed with JDK Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu
+1 💚 compile 3m 32s trunk passed with JDK Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
+1 💚 checkstyle 1m 26s trunk passed
+1 💚 mvnsite 2m 43s trunk passed
+1 💚 javadoc 2m 55s trunk passed with JDK Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu
+1 💚 javadoc 2m 51s trunk passed with JDK Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
+1 💚 spotbugs 7m 51s trunk passed
+1 💚 shadedclient 15m 46s branch has no errors when building and testing our client artifacts.
-0 ⚠️ patch 16m 2s Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 17s Maven dependency ordering for patch
+1 💚 mvninstall 4m 20s the patch passed
+1 💚 compile 3m 32s the patch passed with JDK Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu
+1 💚 javac 3m 32s the patch passed
+1 💚 compile 3m 35s the patch passed with JDK Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
+1 💚 javac 3m 35s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 1m 20s the patch passed
+1 💚 mvnsite 2m 36s the patch passed
+1 💚 javadoc 2m 45s the patch passed with JDK Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu
+1 💚 javadoc 2m 43s the patch passed with JDK Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
+1 💚 spotbugs 8m 6s the patch passed
+1 💚 shadedclient 16m 7s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 215m 24s /patch-unit-hadoop-yarn-project_hadoop-yarn.txt hadoop-yarn in the patch failed.
+1 💚 unit 23m 46s hadoop-yarn-server-nodemanager in the patch passed.
+1 💚 asflicense 0m 43s The patch does not generate ASF License warnings.
357m 24s
Reason Tests
Failed junit tests hadoop.yarn.server.router.webapp.TestFederationWebApp
Subsystem Report/Notes
Docker ClientAPI=1.56 ServerAPI=1.56 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8755/5/artifact/out/Dockerfile
GITHUB PR #8755
Optional Tests dupname asflicense codespell detsecrets xmllint compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle
uname Linux 45b505a0bec1 5.15.0-190-generic #200-Ubuntu SMP Fri Aug 7 15:06:04 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / da1216e
Default Java Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
Multi-JDK versions /usr/lib/jvm/java-21-openjdk-amd64:Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu /usr/lib/jvm/java-17-openjdk-amd64:Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8755/5/testReport/
Max. process+thread count 1985 (vs. ulimit of 10000)
modules C: hadoop-yarn-project/hadoop-yarn hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager U: hadoop-yarn-project/hadoop-yarn
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8755/5/console
versions git=2.43.0 maven=3.9.15 spotbugs=4.9.7
Powered by Apache Yetus 0.14.1 https://yetus.apache.org

This message was automatically generated.

joseluisll and others added 2 commits October 6, 2026 13:16
…ove() returns null

When pending.remove(completed) returned null, run() logged "Localized unknown
resource" and returned. That terminated the Public Localizer thread for the life
of the NodeManager, and run()'s finally block shut the download pool down on the
way out. Every later public-resource request was then rejected; YARN-1800's
handler turns each RejectedExecutionException into a
ResourceFailedLocalizationEvent, so containers fail rather than hang, but no
public resource can be localized on that node again until the NM is restarted.
That is the state reported in YARN-9968, which fixed a different branch of this
method. Skip the unattributable resource with continue instead.

The branch is defensive rather than reachable today: addResource() wraps
queue.submit(...) and pending.put(...) in one synchronized (pending) block so a
future cannot complete and be dequeued before the map is updated, and pending is
a synchronizedMap on the same monitor. It matters because YARN-11746 proposes
shutting the NodeManager down when this thread exits, which would turn a single
unknown resource into a node-wide outage.

Hoisting the null check out of the try block also makes the assoc dereference in
the ExecutionException handler provably safe, so SpotBugs no longer reports
NP_NULL_ON_SOME_PATH_EXCEPTION. The exclude entry for it is therefore dropped
rather than repaired; it had been inert since the revert of HADOOP-19668/19670
(apache#8568) restored run() without restoring the method name YARN-11912 changed to
work().

The new test submits a download straight to the completion queue so the Future
is never recorded in pending, then asserts the localizer neither dies nor shuts
its pool down. It fails on the unfixed code with "Public Localizer exited after
taking an unknown resource".

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The latch in testPublicLocalizerSurvivesUnknownResource counted down inside
the callable, before the FutureTask completed and was queued, so the test only
showed that nothing broke within 5s, not that the localizer had taken the
unknown resource and carried on.

Waiting for the "Localized unknown resource" log alone is not enough either:
run() wrote that line before the old return too. The test now waits for the
log, then submits a second unknown resource and waits for that to be logged as
well, which only a localizer still taking from the queue can do. On the
unfixed code the second submit is rejected because the pool has shut down.
The test also no longer spends a fixed 5s waiting.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VAqFrhFHxmwcfKkxfYf8Df
@hadoop-yetus

Copy link
Copy Markdown

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 22s 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.
+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 2m 6s Maven dependency ordering for branch
+1 💚 mvninstall 28m 2s trunk passed
+1 💚 compile 3m 24s trunk passed with JDK Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu
+1 💚 compile 3m 42s trunk passed with JDK Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
+1 💚 checkstyle 1m 24s trunk passed
+1 💚 mvnsite 2m 39s trunk passed
+1 💚 javadoc 2m 58s trunk passed with JDK Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu
+1 💚 javadoc 2m 51s trunk passed with JDK Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
+1 💚 spotbugs 7m 47s trunk passed
+1 💚 shadedclient 15m 41s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 19s Maven dependency ordering for patch
+1 💚 mvninstall 4m 19s the patch passed
+1 💚 compile 3m 24s the patch passed with JDK Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu
+1 💚 javac 3m 24s the patch passed
+1 💚 compile 3m 29s the patch passed with JDK Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
+1 💚 javac 3m 29s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 1m 20s the patch passed
+1 💚 mvnsite 2m 32s the patch passed
+1 💚 javadoc 2m 42s the patch passed with JDK Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu
+1 💚 javadoc 2m 44s the patch passed with JDK Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
+1 💚 spotbugs 7m 55s the patch passed
+1 💚 shadedclient 15m 48s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 214m 29s hadoop-yarn in the patch passed.
+1 💚 unit 22m 42s hadoop-yarn-server-nodemanager in the patch passed.
+1 💚 asflicense 0m 52s The patch does not generate ASF License warnings.
355m 39s
Subsystem Report/Notes
Docker ClientAPI=1.56 ServerAPI=1.56 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8755/6/artifact/out/Dockerfile
GITHUB PR #8755
Optional Tests dupname asflicense codespell detsecrets xmllint compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle
uname Linux 36fef5deec22 5.15.0-190-generic #200-Ubuntu SMP Fri Aug 7 15:06:04 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 6edc455
Default Java Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
Multi-JDK versions /usr/lib/jvm/java-21-openjdk-amd64:Ubuntu-21.0.12.1+1-1-24.04.4-Ubuntu /usr/lib/jvm/java-17-openjdk-amd64:Ubuntu-17.0.20.1+1-1-24.04-Ubuntu
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8755/6/testReport/
Max. process+thread count 1997 (vs. ulimit of 10000)
modules C: hadoop-yarn-project/hadoop-yarn hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager U: hadoop-yarn-project/hadoop-yarn
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8755/6/console
versions git=2.43.0 maven=3.9.15 spotbugs=4.9.7
Powered by Apache Yetus 0.14.1 https://yetus.apache.org

This message was automatically generated.

@joseluisll

Copy link
Copy Markdown
Contributor Author

@gerashegalov It is ready to be merged, yetus just gave the +1.

@gerashegalov

gerashegalov commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

@joseluisll it is LGTM. Thank you for this fix. I have not committed to Apache Hadoop recently. I would like an active committer to take a look and merge it.

@slfan1989 @ayushtkn could you take a look?

@slfan1989 slfan1989 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM.

The change correctly keeps the PublicLocalizer running when a completed download is missing from pending.

I verified that the new regression test passes with the fix and fails when the original return is restored.

The latest Yetus run and GitHub Actions Build are green. Ready to merge.

@ayushtkn ayushtkn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM

@slfan1989
slfan1989 merged commit 768188c into apache:trunk Oct 7, 2026
6 checks passed
@slfan1989

Copy link
Copy Markdown
Contributor

@joseluisll Thanks for the contribution! Merged into trunk. @gerashegalov @ayushtkn Thanks for the review!

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.

6 participants