You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Thomas Watson (JIRA)" <ji...@apache.org> on 2017/02/23 14:25:44 UTC

[jira] [Resolved] (ARIES-1637) Subsystem persistent cache is not successfully deleted on uninstall

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

Thomas Watson resolved ARIES-1637.
----------------------------------
    Resolution: Fixed

I released a fix for this.

> Subsystem persistent cache is not successfully deleted on uninstall
> -------------------------------------------------------------------
>
>                 Key: ARIES-1637
>                 URL: https://issues.apache.org/jira/browse/ARIES-1637
>             Project: Aries
>          Issue Type: Bug
>          Components: Subsystem
>            Reporter: Thomas Watson
>            Assignee: Thomas Watson
>
> It is unclear the cause of this, but sometimes upon uninstalling a subsystem I find that the subsystems cache on disk still will contain the DEPLOYMENT.MF file for the subsystem.  On restart if the same subsystem is installed again you will see the exception below.  One cause may be because the DEPLOYMENT.MF holds the state of the subsystem, it may be possible that another thread is attempting to save the state in the DEPLOYMENT.MF file while the uninstall command is trying to delete the cache folder for the subsystem.  On restart the DEPLOYMENT.MF file has the header indicating that it is uninstalled:
> AriesSubsystem-State: UNINSTALLED
> One possible fix is to detect the uninstalled state while reading the subsystems cache and discarding the ones that are uninstalled.
> org.osgi.service.subsystem.SubsystemException: java.lang.NullPointerException
>         at org.apache.aries.subsystem.core.internal.BasicSubsystem.getSubsystemManifest(BasicSubsystem.java:512)
>         at org.apache.aries.subsystem.core.internal.BasicSubsystem.getSymbolicName(BasicSubsystem.java:336)
>         at org.apache.aries.subsystem.core.internal.TargetRegion.contains(TargetRegion.java:36)
>         at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:63)
>         at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:27)
>         at java.security.AccessController.doPrivileged(AccessController.java:594)
>         at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:738)
>         at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:732)
>         at com.ibm.ws.app.manager.esa.internal.DeploySubsystemAction.installSubsystem(DeploySubsystemAction.java:190)
>         at com.ibm.ws.app.manager.esa.internal.DeploySubsystemAction.deploySubsystem(DeploySubsystemAction.java:163)
>         at com.ibm.ws.app.manager.esa.internal.DeploySubsystemAction.deploy(DeploySubsystemAction.java:113)
>         at com.ibm.ws.app.manager.esa.internal.SubsystemHandler.install(SubsystemHandler.java:356)
>         at com.ibm.ws.app.manager.esa.internal.EBAToSubsystemHandler.install(EBAToSubsystemHandler.java:189)
>         at com.ibm.ws.app.manager.internal.statemachine.StartAction.execute(StartAction.java:141)
>         at com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl.enterState(ApplicationStateMachineImpl.java:1191)
>         at com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl.run(ApplicationStateMachineImpl.java:804)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>         at java.lang.Thread.run(Thread.java:785)
> Caused by: java.lang.NullPointerException
>         at org.apache.aries.subsystem.core.internal.BasicSubsystem.getSubsystemManifest(BasicSubsystem.java:509)
>         ... 18 more



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)