[
https://issues.apache.org/jira/browse/HADOOP-20009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18123775#comment-18123775
]
ASF GitHub Bot commented on HADOOP-20009:
-----------------------------------------
slfan1989 opened a new pull request, #8797:
URL: https://github.com/apache/hadoop/pull/8797
### Description of PR
JIRA: HADOOP-20009. Ensure token manager cleanup in
testNodesLoadedAfterRestart.
`TestZKDelegationTokenSecretManager.testNodesLoadedAfterRestart()` destroys
the original token manager before creating a replacement, but does not destroy
the replacement when the test finishes. Cleanup is also not guaranteed when
initialization or an assertion fails.
After teardown closes ZooKeeper, the remaining `ExpiredTokenRemover` thread
can encounter `ConnectionLossException` while updating the shared key ID
counter and call `Runtime.exit(-1)`. This terminates the Surefire JVM with exit
code 255, including when the test is inherited by HDFS-RBF's
`TestZKDelegationTokenSecretManagerImpl`.
This patch gives each manager its own `try/finally` lifecycle, ensuring
cleanup before ZooKeeper teardown. It preserves the existing cache-load and
token-expiration assertions.
Observed failure:
https://github.com/sankalpsthakur/hadoop/actions/runs/37423881058/job/112143007635
### How was this patch tested?
CI
### For code changes:
- [ ] Does the title of this PR start 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? *Note:
Automated CI
testing doesn't cover all cases so manual testing with cloud storage
is still
required.*
- [ ] If adding new dependencies to the code, are these dependencies
licensed in a way that is compatible for inclusion under [ASF
2.0](http://www.apache.org/legal/resolved.html#category-a)?
- [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`,
`NOTICE-binary` files?
### AI Tooling
If an AI tool was used:
- [ ] The PR includes the phrase "Contains content generated by <tool>"
where <tool> is the name of the AI tool used.
- [ ] My use of AI contributions follows the ASF legal policy
https://www.apache.org/legal/generative-tooling.html
> Ensure token manager cleanup in testNodesLoadedAfterRestart
> -----------------------------------------------------------
>
> Key: HADOOP-20009
> URL: https://issues.apache.org/jira/browse/HADOOP-20009
> Project: Hadoop Common
> Issue Type: Bug
> Components: test
> Affects Versions: 3.5.1, 3.6.0
> Reporter: Shilun Fan
> Assignee: Shilun Fan
> Priority: Major
>
> TestZKDelegationTokenSecretManager.testNodesLoadedAfterRestart() destroys the
> original DelegationTokenManager before creating a replacement,
> but does not destroy the replacement when the test finishes. Cleanup is also
> not guaranteed if initialization or an assertion fails.
> The teardown then closes ZooKeeper while the ExpiredTokenRemover thread may
> still be running.
> The thread can encounter ConnectionLossException while updating the shared
> key ID counter and call Runtime.exit(-1),
> terminating the Surefire JVM with exit code 255.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]