[ 
https://issues.apache.org/jira/browse/SLING-11937?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Konrad Windszus updated SLING-11937:
------------------------------------
    Description: 
The ITs for the sling-maven-plugin are unstable (particularly on Windows). 
They fail with

{code}
[INFO] --- sling:3.0.3-SNAPSHOT:install-file (bundle-install) @ example-pom ---
[INFO] Downloading from central: 
https://repo.maven.apache.org/maven2/org/apache/sling/org.apache.sling.commons.messaging/1.0.2/org.apache.sling.commons.messaging-1.0.2.jar
[INFO] Downloaded from central: 
https://repo.maven.apache.org/maven2/org/apache/sling/org.apache.sling.commons.messaging/1.0.2/org.apache.sling.commons.messaging-1.0.2.jar
 (9.1 kB at 27 kB/s)
[INFO] Resolved artifact to 
F:\jenkins\jenkins-home\712657a4\workspace\odules_sling-maven-plugin_master\jdk_1.8_latest\.repository\org\apache\sling\org.apache.sling.commons.messaging\1.0.2\org.apache.sling.commons.messaging-1.0.2.jar
[INFO] Installing Bundle 
org.apache.sling.commons.messaging(F:\jenkins\jenkins-home\712657a4\workspace\odules_sling-maven-plugin_master\jdk_1.8_latest\.repository\org\apache\sling\org.apache.sling.commons.messaging\1.0.2\org.apache.sling.commons.messaging-1.0.2.jar)
 to http://localhost:50972/system/console/ via WebConsole...
[INFO] Bundle installed successfully
[INFO] 
[INFO] --- sling:3.0.3-SNAPSHOT:uninstall (bundle-uninstall) @ example-pom ---
[INFO] Uninstalling Bundle org.apache.sling.commons.messaging from 
http://localhost:50972/system/console/ via WebConsole...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.721 s
[INFO] Finished at: 2023-07-02T02:08:33Z
[INFO] ------------------------------------------------------------------------
[INFO] [jenkins-event-spy] Generated 
F:\jenkins\jenkins-home\712657a4\workspace\odules_sling-maven-plugin_master\jdk_1.8_latest@tmp\withMaven4b5a6f97\maven-spy-20230702-020831-4455121863055328026922.log
[ERROR] Failed to execute goal 
org.apache.sling:sling-maven-plugin:3.0.3-SNAPSHOT:uninstall (bundle-uninstall) 
on project example-pom: Uninstall from http://localhost:50972/system/console/ 
failed, cause: status code: 404, reason phrase: Not Found -> [Help 1]
{code}
(https://ci-builds.apache.org/blue/organizations/jenkins/Sling%2Fmodules%2Fsling-maven-plugin/detail/master/195/pipeline/)

The reason is that the installation happens asynchronously in a background 
thread in 
https://github.com/apache/felix-dev/blob/8e35c940a95c91f3fee09c537dbaf9665e5d027e/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java#L1726,
 so there is a race condition if the uninstall is triggered before the 
installation in the background thread is finished.

Also the documentation in 
https://sling.apache.org/components/sling-maven-plugin/bundle-installation.html 
currently incorrectly states:

{quote}
Felix Web Console
The plugin by default places an HTTP POST request to the Felix Web Console. 
This will achieve both upload and installation of the bundle in one request 
synchronously.
{quote}

In fact this is an asynchronous operation.

  was:
The ITs for the sling-maven-plugin are unstable (particularly on Windows). 
They fail with

{code}
[INFO] --- sling:3.0.3-SNAPSHOT:install-file (bundle-install) @ example-pom ---
[INFO] Downloading from central: 
https://repo.maven.apache.org/maven2/org/apache/sling/org.apache.sling.commons.messaging/1.0.2/org.apache.sling.commons.messaging-1.0.2.jar
[INFO] Downloaded from central: 
https://repo.maven.apache.org/maven2/org/apache/sling/org.apache.sling.commons.messaging/1.0.2/org.apache.sling.commons.messaging-1.0.2.jar
 (9.1 kB at 27 kB/s)
[INFO] Resolved artifact to 
F:\jenkins\jenkins-home\712657a4\workspace\odules_sling-maven-plugin_master\jdk_1.8_latest\.repository\org\apache\sling\org.apache.sling.commons.messaging\1.0.2\org.apache.sling.commons.messaging-1.0.2.jar
[INFO] Installing Bundle 
org.apache.sling.commons.messaging(F:\jenkins\jenkins-home\712657a4\workspace\odules_sling-maven-plugin_master\jdk_1.8_latest\.repository\org\apache\sling\org.apache.sling.commons.messaging\1.0.2\org.apache.sling.commons.messaging-1.0.2.jar)
 to http://localhost:50972/system/console/ via WebConsole...
[INFO] Bundle installed successfully
[INFO] 
[INFO] --- sling:3.0.3-SNAPSHOT:uninstall (bundle-uninstall) @ example-pom ---
[INFO] Uninstalling Bundle org.apache.sling.commons.messaging from 
http://localhost:50972/system/console/ via WebConsole...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.721 s
[INFO] Finished at: 2023-07-02T02:08:33Z
[INFO] ------------------------------------------------------------------------
[INFO] [jenkins-event-spy] Generated 
F:\jenkins\jenkins-home\712657a4\workspace\odules_sling-maven-plugin_master\jdk_1.8_latest@tmp\withMaven4b5a6f97\maven-spy-20230702-020831-4455121863055328026922.log
[ERROR] Failed to execute goal 
org.apache.sling:sling-maven-plugin:3.0.3-SNAPSHOT:uninstall (bundle-uninstall) 
on project example-pom: Uninstall from http://localhost:50972/system/console/ 
failed, cause: status code: 404, reason phrase: Not Found -> [Help 1]
{code}
(https://ci-builds.apache.org/blue/organizations/jenkins/Sling%2Fmodules%2Fsling-maven-plugin/detail/master/195/pipeline/)

The reason is that the installation happens asynchronously in a background 
thread in 
https://github.com/apache/felix-dev/blob/8e35c940a95c91f3fee09c537dbaf9665e5d027e/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java#L1726,
 so there is a race condition if the uninstall is triggered before the 
installation in the background thread is finished.

Also the documentation in currently incorrectly states:

{quote}
Felix Web Console
The plugin by default places an HTTP POST request to the Felix Web Console. 
This will achieve both upload and installation of the bundle in one request 
synchronously.
{quote}

In fact this is an asynchronous operation.


> sling-maven-plugin: Unstable ITs: Uninstall bundle returns a 404
> ----------------------------------------------------------------
>
>                 Key: SLING-11937
>                 URL: https://issues.apache.org/jira/browse/SLING-11937
>             Project: Sling
>          Issue Type: Improvement
>          Components: Maven Plugins and Archetypes
>    Affects Versions: Sling Maven Plugin 3.0.2
>            Reporter: Konrad Windszus
>            Assignee: Konrad Windszus
>            Priority: Major
>
> The ITs for the sling-maven-plugin are unstable (particularly on Windows). 
> They fail with
> {code}
> [INFO] --- sling:3.0.3-SNAPSHOT:install-file (bundle-install) @ example-pom 
> ---
> [INFO] Downloading from central: 
> https://repo.maven.apache.org/maven2/org/apache/sling/org.apache.sling.commons.messaging/1.0.2/org.apache.sling.commons.messaging-1.0.2.jar
> [INFO] Downloaded from central: 
> https://repo.maven.apache.org/maven2/org/apache/sling/org.apache.sling.commons.messaging/1.0.2/org.apache.sling.commons.messaging-1.0.2.jar
>  (9.1 kB at 27 kB/s)
> [INFO] Resolved artifact to 
> F:\jenkins\jenkins-home\712657a4\workspace\odules_sling-maven-plugin_master\jdk_1.8_latest\.repository\org\apache\sling\org.apache.sling.commons.messaging\1.0.2\org.apache.sling.commons.messaging-1.0.2.jar
> [INFO] Installing Bundle 
> org.apache.sling.commons.messaging(F:\jenkins\jenkins-home\712657a4\workspace\odules_sling-maven-plugin_master\jdk_1.8_latest\.repository\org\apache\sling\org.apache.sling.commons.messaging\1.0.2\org.apache.sling.commons.messaging-1.0.2.jar)
>  to http://localhost:50972/system/console/ via WebConsole...
> [INFO] Bundle installed successfully
> [INFO] 
> [INFO] --- sling:3.0.3-SNAPSHOT:uninstall (bundle-uninstall) @ example-pom ---
> [INFO] Uninstalling Bundle org.apache.sling.commons.messaging from 
> http://localhost:50972/system/console/ via WebConsole...
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time:  1.721 s
> [INFO] Finished at: 2023-07-02T02:08:33Z
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] [jenkins-event-spy] Generated 
> F:\jenkins\jenkins-home\712657a4\workspace\odules_sling-maven-plugin_master\jdk_1.8_latest@tmp\withMaven4b5a6f97\maven-spy-20230702-020831-4455121863055328026922.log
> [ERROR] Failed to execute goal 
> org.apache.sling:sling-maven-plugin:3.0.3-SNAPSHOT:uninstall 
> (bundle-uninstall) on project example-pom: Uninstall from 
> http://localhost:50972/system/console/ failed, cause: status code: 404, 
> reason phrase: Not Found -> [Help 1]
> {code}
> (https://ci-builds.apache.org/blue/organizations/jenkins/Sling%2Fmodules%2Fsling-maven-plugin/detail/master/195/pipeline/)
> The reason is that the installation happens asynchronously in a background 
> thread in 
> https://github.com/apache/felix-dev/blob/8e35c940a95c91f3fee09c537dbaf9665e5d027e/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java#L1726,
>  so there is a race condition if the uninstall is triggered before the 
> installation in the background thread is finished.
> Also the documentation in 
> https://sling.apache.org/components/sling-maven-plugin/bundle-installation.html
>  currently incorrectly states:
> {quote}
> Felix Web Console
> The plugin by default places an HTTP POST request to the Felix Web Console. 
> This will achieve both upload and installation of the bundle in one request 
> synchronously.
> {quote}
> In fact this is an asynchronous operation.



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

Reply via email to