[ 
https://issues.apache.org/jira/browse/HADOOP-19964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18105834#comment-18105834
 ] 

ASF GitHub Bot commented on HADOOP-19964:
-----------------------------------------

pan3793 commented on code in PR #8682:
URL: https://github.com/apache/hadoop/pull/8682#discussion_r3811375770


##########
hadoop-common-project/hadoop-common/src/test/resources/META-INF/services/org.junit.platform.launcher.TestExecutionListener:
##########
@@ -0,0 +1,18 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+org.apache.hadoop.test.TimedOutTestsListener

Review Comment:
   This descriptor never reaches the published test-jar. `hadoop-common` 
inherits
   `prepare-test-jar` from `hadoop-project-dist/pom.xml:78`, whose `<includes>` 
are
   only `**/*.class`, `webapps/**`, `META-INF/LICENSE.txt`, 
`META-INF/NOTICE.txt` —
   `META-INF/services/**` is filtered out. So `hadoop-common-*-tests.jar` has no
   `TestExecutionListener` registration:
   
   - In-reactor the descriptor is in `target/test-classes`, so in-tree modules 
with
     the hadoop-common test-jar get the listener (that half of the "wider net" 
works).
   - Downstream consumers (HBase, Ozone, Hive, Tez) get the 
`GenericTestUtils.waitFor`
     message change (the `.class` files ship) but no listener, so their 
`@Timeout`
     dumps silently disappear.
   
   Either add `<include>META-INF/services/**</include>` to `prepare-test-jar` 
or scope
   the PR description to in-reactor behavior.
   
   But, adding that include is exactly what makes the downstream 
silent-activation concern real — see comment 
https://github.com/apache/hadoop/pull/8682/changes#r3811369877.





> Restore TimedOutTestsListener thread dumps on test timeout
> ----------------------------------------------------------
>
>                 Key: HADOOP-19964
>                 URL: https://issues.apache.org/jira/browse/HADOOP-19964
>             Project: Hadoop Common
>          Issue Type: Test
>            Reporter: Jose Luis López
>            Priority: Critical
>              Labels: pull-request-available
>
> Goal: a test that fails on @Timeout prints a full thread dump into its
> surefire report. Today it prints nothing, and a timeout without thread state
> is undiagnosable after the fact.
>  
> This is a regression. TimedOutTestsListener (HADOOP-8755, 2012) did exactly
> this until the JUnit 5 migration (HADOOP-19415 Part4) left it implementing no
> listener interface. The Surefire "listener" property that 8 poms still carry
> registers nothing.
>  
> Fix:
> * Reimplement it as a JUnit Platform TestExecutionListener, auto-registered
> via META-INF/services in the hadoop-common test artifact.
> * Remove the dead "listener" property from the 8 poms.
> * -Dhadoop.test.timedout.dump=false turns it off;
> -Dhadoop.test.timedout.dump.limit (default 5) caps dumps per JVM.
>  
> Covers timeouts that fail through JUnit. Does not cover Surefire's fork kill
> (forkedProcessTimeoutInSeconds), which halts the JVM and bypasses listeners.
> Complements HADOOP-19950, whose CI upload globs already capture the report
> files these dumps land in.
>  
> The listener activates for every consumer of the hadoop-common test artifact,
> including HBase, Ozone, Hive and Tez: needs a release note.
>  
> Test-scope only; no production code is touched.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to