[
https://issues.apache.org/jira/browse/ARTEMIS-2920?focusedWorklogId=492361&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-492361
]
ASF GitHub Bot logged work on ARTEMIS-2920:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 29/Sep/20 10:09
Start Date: 29/Sep/20 10:09
Worklog Time Spent: 10m
Work Description: gemmellr commented on a change in pull request #3280:
URL: https://github.com/apache/activemq-artemis/pull/3280#discussion_r496599324
##########
File path: artemis-features/pom.xml
##########
@@ -30,6 +30,20 @@
</properties>
<dependencies>
+ <dependency>
+ <groupId>org.apache.karaf.features</groupId>
+ <artifactId>framework</artifactId>
+ <version>${karaf.version}</version>
+ <type>xml</type>
+ <classifier>features</classifier>
Review comment:
If making this change of adding deps is the simplest albeit hacky
workaround then thats fair enough, but I still think they should be at provided
scope like the existing dep, so that anything referencing the pom in turn wont
pick the unecessary deps up. To be clear, its the maven sense of things rather
than the karaf sense of things I am considering here. Having the deps at
compile scope would would mean anything referencing this pom will pick them up
and end up downloading those dependencies even if they arent strictly needed
(otherwise it wouldnt work anywhere currently and this change wouldnt be
effective). If there isnt a reason using provided wont work, then that seems
like what should be used.
--
Seperately though I would also say the expanded error just confirms what I
was thinking. The download failure occurring while the karaf plugin attempts
the download is due to a TLS protocol version issue, likely it doesnt have the
required TLS version enabled/supported and so it fails. This change will avoid
that causing maven itself to download the artifacts earlier as dependencies of
the pom (and make them available when karaf goes looking locally), and
presumably due to using a different stack for the process it somehow does have
the required TLS version supported.
I'd guess this is because some code involved is using a TLS protocol lookup
of "TLS", which in non-IBM JDKs tends to allow all protocol versions but in the
IBM JDK doing so defaults to allowing only 1.0, support for which has been
dropped from the maven repositories. Searching suggests various sys props used
to avoid issues such as this on the IBM JDK (or JDK7 in cases), such as:
https.protocols=TLSv1.2
com.ibm.jsse2.overrideDefaultProtocol=TLSv12
com.ibm.jsse2.overrideDefaultTLS=true
The first is something I actually used recently in an unrelated ASF project
CI job failing for similar reasons on JDK7, using "mvn <foo>
-Dhttps.protocols=TLSv1.2" to enable TLS 1.2 and resolve the issue as JDK 7
supported but didnt enable it by default for compatibility.
The last one is something that looks to be used during the Artemis tests
automatically due to Surefire configuration in the parent pom:
https://github.com/apache/activemq-artemis/blob/2.15.0/pom.xml#L896
In this case, I dont know that the karaf plugin has a way to configure such
things specifically, so I expect it would be needed to pass one or more of them
when executing maven for it to be effective.
--
I also just noticed there are non-https repositories in your custom maven
configuration, and so it is presumably being redirected to the https, you
probably want to resolve that; who knows it may even be related
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 492361)
Time Spent: 1.5h (was: 1h 20m)
> ActiveMQ Artemis Features build fails using IBM JDK 1.8
> -------------------------------------------------------
>
> Key: ARTEMIS-2920
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2920
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Reporter: Domenico Francesco Bruscino
> Assignee: Domenico Francesco Bruscino
> Priority: Major
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> ActiveMQ Artemis Features build fails with the following error using IBM JDK
> 1.8:
> {code:java}
> [ERROR] Failed to execute goal
> org.apache.karaf.tooling:karaf-maven-plugin:4.2.8:verify (verify) on project
> artemis-features: Unable to load features descriptors: Error:
> [ERROR] Error downloading
> mvn:org.apache.karaf.features/enterprise/4.2.8/xml/features
> [ERROR] Error downloading
> mvn:org.apache.karaf.features/framework/4.2.8/xml/features
> {code}
> Stack trace:
> {code:java}
> [WARNING] Error resolving artifact
> org.apache.karaf.features:enterprise:xml:features:4.2.8: [Could not transfer
> artifact org.apache.karaf.features:enterprise:xml:features:4.2.8 from/to
> jboss-earlyaccess-repository
> (http://maven.repository.redhat.com/earlyaccess/all/): Received fatal alert:
> protocol_version, Could not transfer artifact
> org.apache.karaf.features:enterprise:xml:features:4.2.8 from/to
> jboss-ga-repository (http://maven.repository.redhat.com/ga/): Received fatal
> alert: protocol_version, Could not find artifact
> org.apache.karaf.features:enterprise:xml:features:4.2.8 in amq7-repository
> (file://amq-broker-7.8.0.GA-maven-repository/maven-repository/), Could not
> transfer artifact org.apache.karaf.features:enterprise:xml:features:4.2.8
> from/to redhat-maven-central
> (https://repository.engineering.redhat.com/nexus/content/repositories/central/):
> Received fatal alert: protocol_version]
> java.io.IOException: Error resolving artifact
> org.apache.karaf.features:enterprise:xml:features:4.2.8: [Could not transfer
> artifact org.apache.karaf.features:enterprise:xml:features:4.2.8 from/to
> jboss-earlyaccess-repository
> (http://maven.repository.redhat.com/earlyaccess/all/): Received fatal alert:
> protocol_version, Could not transfer artifact
> org.apache.karaf.features:enterprise:xml:features:4.2.8 from/to
> jboss-ga-repository (http://maven.repository.redhat.com/ga/): Received fatal
> alert: protocol_version, Could not find artifact
> org.apache.karaf.features:enterprise:xml:features:4.2.8 in amq7-repository
> (file://amq-broker-7.8.0.GA-maven-repository/maven-repository/), Could not
> transfer artifact org.apache.karaf.features:enterprise:xml:features:4.2.8
> from/to redhat-maven-central
> (https://repository.engineering.redhat.com/nexus/content/repositories/central/):
> Received fatal alert: protocol_version]
> at
> org.ops4j.pax.url.mvn.internal.AetherBasedResolver.configureIOException
> (AetherBasedResolver.java:803)
> at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve
> (AetherBasedResolver.java:774)
> at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve
> (AetherBasedResolver.java:657)
> at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve
> (AetherBasedResolver.java:598)
> at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve
> (AetherBasedResolver.java:565)
> at org.apache.karaf.tooling.utils.ReactorMavenResolver.resolve
> (ReactorMavenResolver.java:63)
> at
> org.apache.karaf.features.internal.download.impl.MavenDownloadTask.download
> (MavenDownloadTask.java:49)
> at
> org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run
> (AbstractRetryableDownloadTask.java:60)
> at java.util.concurrent.Executors$RunnableAdapter.call
> (Executors.java:522)
> at java.util.concurrent.FutureTask.run (FutureTask.java:277)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201
> (ScheduledThreadPoolExecutor.java:191)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run
> (ScheduledThreadPoolExecutor.java:304)
> at java.util.concurrent.ThreadPoolExecutor.runWorker
> (ThreadPoolExecutor.java:1160)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run
> (ThreadPoolExecutor.java:635)
> at java.lang.Thread.run (Thread.java:820)
> Caused by: shaded.org.eclipse.aether.resolution.ArtifactResolutionException:
> Error resolving artifact
> org.apache.karaf.features:enterprise:xml:features:4.2.8
> at
> shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve
> (DefaultArtifactResolver.java:413)
> at
> shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts
> (DefaultArtifactResolver.java:215)
> at
> shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact
> (DefaultArtifactResolver.java:192)
> at
> shaded.org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact
> (DefaultRepositorySystem.java:247)
> at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve
> (AetherBasedResolver.java:767)
> at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve
> (AetherBasedResolver.java:657)
> at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve
> (AetherBasedResolver.java:598)
> at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve
> (AetherBasedResolver.java:565)
> at org.apache.karaf.tooling.utils.ReactorMavenResolver.resolve
> (ReactorMavenResolver.java:63)
> at
> org.apache.karaf.features.internal.download.impl.MavenDownloadTask.download
> (MavenDownloadTask.java:49)
> at
> org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run
> (AbstractRetryableDownloadTask.java:60)
> at java.util.concurrent.Executors$RunnableAdapter.call
> (Executors.java:522)
> at java.util.concurrent.FutureTask.run (FutureTask.java:277)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201
> (ScheduledThreadPoolExecutor.java:191)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run
> (ScheduledThreadPoolExecutor.java:304)
> at java.util.concurrent.ThreadPoolExecutor.runWorker
> (ThreadPoolExecutor.java:1160)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run
> (ThreadPoolExecutor.java:635)
> at java.lang.Thread.run (Thread.java:820)
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)