jakartaee / jakartaee/authentication
excessive amount of TCK testing causes Apache to deny download of Apache ANT (should this be a TCK challenge?)
- Dominant language
- Java
- Stars
- 27
- Forks
- 35
- PR merge metrics
- No merged PRs in 30d
Description
Failure occurs while testing EE 10 + Authentication 3.0.1 TCK, we observed the following behavior when running the Old Authentication TCK:
> [INFO] -----< org.eclipse.ee4j.tck.authentication:old-authentication-tck >-----
> [INFO] Building Old Jakarta Authentication TCK - build 3.0.1
> [INFO] from pom.xml
> [INFO] --------------------------------[ pom ]---------------------------------
> [INFO]
> [INFO] --- download:1.6.7:wget (download-ant) @ old-authentication-tck ---
> Jul 02, 2025 9:01:11 AM org.apache.http.impl.execchain.RetryExec execute
> INFO: I/O exception (java.net.NoRouteToHostException) caught when processing request to {s}->[https://archive.apache.org:443](https://archive.apache.org/): No route to host
> Jul 02, 2025 9:01:11 AM org.apache.http.impl.execchain.RetryExec execute
> INFO: Retrying request to {s}->[https://archive.apache.org:443](https://archive.apache.org/)
> Jul 02, 2025 9:03:21 AM org.apache.http.impl.execchain.RetryExec execute
> INFO: I/O exception (java.net.NoRouteToHostException) caught when processing request to {s}->[https://archive.apache.org:443](https://archive.apache.org/): No route to host
> Jul 02, 2025 9:03:21 AM org.apache.http.impl.execchain.RetryExec execute
> INFO: Retrying request to {s}->[https://archive.apache.org:443](https://archive.apache.org/)
> Jul 02, 2025 9:05:49 AM org.apache.http.impl.execchain.RetryExec execute
> INFO: I/O exception (java.net.NoRouteToHostException) caught when processing request to {s}->[https://archive.apache.org:443](https://archive.apache.org/): No route to host
> Jul 02, 2025 9:05:49 AM org.apache.http.impl.execchain.RetryExec execute
> INFO: Retrying request to {s}->[https://archive.apache.org:443](https://archive.apache.org/)
> [WARNING] Could not get content
> java.net.NoRouteToHostException: No route to host
> at sun.nio.ch.Net.connect0 (Native Method)
> at sun.nio.ch.Net.connect (Net.java:579)
> at sun.nio.ch.Net.connect (Net.java:568)
> at sun.nio.ch.NioSocketImpl.connect (NioSocketImpl.java:593)
> at java.net.SocksSocketImpl.connect (SocksSocketImpl.java:327)
> at java.net.Socket.connect (Socket.java:633)
> at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket (SSLConnectionSocketFactory.java:368)
> at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect (DefaultHttpClientConnectionOperator.java:142)
> at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect (PoolingHttpClientConnectionManager.java:376)
> at org.apache.http.impl.execchain.MainClientExec.establishRoute (MainClientExec.java:393)
> at org.apache.http.impl.execchain.MainClientExec.execute (MainClientExec.java:236)
> at org.apache.http.impl.execchain.ProtocolExec.execute (ProtocolExec.java:186)
> at org.apache.http.impl.execchain.RetryExec.execute (RetryExec.java:89)
> at org.apache.http.impl.execchain.RedirectExec.execute (RedirectExec.java:110)
> at org.apache.http.impl.client.InternalHttpClient.doExecute (InternalHttpClient.java:185)
> at org.apache.http.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:72)
> at org.apache.http.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:221)
> at org.apache.http.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:165)
> at com.googlecode.download.maven.plugin.internal.HttpFileRequester.download (HttpFileRequester.java:56)
> at com.googlecode.download.maven.plugin.internal.WGet.doGet (WGet.java:576)
> at com.googlecode.download.maven.plugin.internal.WGet.execute (WGet.java:434)
> at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
> at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
> at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
> at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
> at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
> at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
> at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
> at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
> at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
> at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:569)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
> [WARNING] Retrying (1 more)
> Jul 02, 2025 9:10:44 AM org.apache.http.impl.execchain.RetryExec execute
> INFO: I/O exception (java.net.NoRouteToHostException) caught when processing request to {s}->[https://archive.apache.org:443](https://archive.apache.org/): No route to host
> Jul 02, 2025 9:10:44 AM org.apache.http.impl.execchain.RetryExec execute
> INFO: Retrying request to {s}->[https://archive.apache.org:443](https://archive.apache.org/)
> Jul 02, 2025 9:13:12 AM org.apache.http.impl.execchain.RetryExec execute
> INFO: I/O exception (java.net.NoRouteToHostException) caught when processing request to {s}->[https://archive.apache.org:443](https://archive.apache.org/): No route to host
> Jul 02, 2025 9:13:12 AM org.apache.http.impl.execchain.RetryExec execute
> INFO: Retrying request to {s}->[https://archive.apache.org:443](https://archive.apache.org/)
> Jul 02, 2025 9:15:55 AM org.apache.http.impl.execchain.RetryExec execute
> INFO: I/O exception (java.net.NoRouteToHostException) caught when processing request to {s}->[https://archive.apache.org:443](https://archive.apache.org/): No route to host
> Jul 02, 2025 9:15:55 AM org.apache.http.impl.execchain.RetryExec execute
> INFO: Retrying request to {s}->[https://archive.apache.org:443](https://archive.apache.org/)
> [WARNING] Could not get content
> java.net.NoRouteToHostException: No route to host
> at sun.nio.ch.Net.connect0 (Native Method)
> at sun.nio.ch.Net.connect (Net.java:579)
> at sun.nio.ch.Net.connect (Net.java:568)
> at sun.nio.ch.NioSocketImpl.connect (NioSocketImpl.java:593)
> at java.net.SocksSocketImpl.connect (SocksSocketImpl.java:327)
> at java.net.Socket.connect (Socket.java:633)
> at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket (SSLConnectionSocketFactory.java:368)
> at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect (DefaultHttpClientConnectionOperator.java:142)
> at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect (PoolingHttpClientConnectionManager.java:376)
> at org.apache.http.impl.execchain.MainClientExec.establishRoute (MainClientExec.java:393)
> at org.apache.http.impl.execchain.MainClientExec.execute (MainClientExec.java:236)
> at org.apache.http.impl.execchain.ProtocolExec.execute (ProtocolExec.java:186)
> at org.apache.http.impl.execchain.RetryExec.execute (RetryExec.java:89)
> at org.apache.http.impl.execchain.RedirectExec.execute (RedirectExec.java:110)
> at org.apache.http.impl.client.InternalHttpClient.doExecute (InternalHttpClient.java:185)
> at org.apache.http.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:72)
> at org.apache.http.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:221)
> at org.apache.http.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:165)
> at com.googlecode.download.maven.plugin.internal.HttpFileRequester.download (HttpFileRequester.java:56)
> at com.googlecode.download.maven.plugin.internal.WGet.doGet (WGet.java:576)
> at com.googlecode.download.maven.plugin.internal.WGet.execute (WGet.java:434)
> at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
> at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
> at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
> at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
> at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
> at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
> at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
> at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
> at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
> at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
> at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
> at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
> at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
> at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
> at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke (Method.java:569)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
> at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
> at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
> at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
>
Cause:
tck/old-tck/build/pom.xml has:
```
1.10.11
${project.build.directory}/apache-ant-${ant.version}
https://archive.apache.org/dist/ant/binaries/apache-ant-${ant.version}-bin.zip
com.googlecode.maven-download-plugin
download-maven-plugin
false
1.6.7
download-ant
generate-sources
wget
${skipITs}
${ant.zip.url}
true
${project.build.directory}
```
Some possible options to address:
- Allow user running the TCK to set ANT_HOME to a folder that already contains Apache ANT and change TCK to detect that is set to be used instead of downloading a new copy of Apache Ant.
- Instruct users to hack copy Apache Ant files into project.build.directory and hack the tck/old-tck/build/pom.xml to not download Apache Ant.
- Something else?
It seems reasonable that Apache detects that Apache Ant has been downloaded too many times in a short period of time but it is also reasonable that users expect the old Authentication TCK to just work.
Contributor guide
Research direction
Start with tck/old-tck/build/pom.xml, especially the ant.version, ant.home, and ant.zip.url properties, then reproduce the Old Authentication TCK build failure. Determine whether the repeated download of Apache Ant should be changed as part of the TCK setup or treated as a TCK challenge; done means the intended behavior is agreed and the build no longer fails for this download scenario.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100