karaf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Baptiste Onofré (JIRA) <j...@apache.org>
Subject [jira] [Updated] (KARAF-3997) Subsystem feature does not save regions state after install of a subsystem causing a startup issue.
Date Thu, 05 Nov 2015 14:24:27 GMT

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

Jean-Baptiste Onofré updated KARAF-3997:
    Fix Version/s:     (was: 4.0.3)

> Subsystem feature does not save regions state after install of a subsystem causing a
startup issue.
> ---------------------------------------------------------------------------------------------------
>                 Key: KARAF-3997
>                 URL: https://issues.apache.org/jira/browse/KARAF-3997
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf-feature
>    Affects Versions: 4.0.1
>         Environment: java 1.7
>            Reporter: Bas
>            Assignee: Jean-Baptiste Onofré
>         Attachments: application.esa, features-core.patch, karaf-subsystem-restart-exception.txt
> Problem:
> Subsystem feature does not save digraph state after install of a subsystem causing a
startup issue showing the exception added as an attachment.
> Reproduce:
> Install karaf 4.0.1
> Install the subsystem feature
> Install the attached application.esa file
> Kill the osgi process (in an ungraceful way like kill -9)
> Startup karaf
> The above is a problem in the way features.core has encapsulated the region bundle and
changed the persistence (it is now saved in the file 'digraph.json' which cannot be triggered
by the class 'StandardRegionDigraphPersistence'). When the region implementation was an external
bundle for karaf, it was possible to gain access to the persistence logic by the use of and
access to the class 'StandardRegionDigraphPersistence' and save the file yourself if you changed
it. This is not possible anymore in karaf version 4.0.1. We would like to be able to do so.
> The feature.core functionality itself does save the state of the digraph on install of
a new feature but in a different file 'digraph.json'.
> The subsystems feature and other features/bundles might want to persist the digraph and
get stability on ungraceful shutdowns in the same way as installing a feature.
> I made a patch where I am exporting an interface that can trigger feature.core region
persistence logic. It is a workaround for our code that also uses the region functionality.
So it is not that I'm advising to do it like this.
> Probably short term the patch could help, or a different solution like change the persistence
by making an own version of 'RegionDigraphPersistence'. This class is exposed so others can
use it (still there is trouble with the name of the file and access to the bundle where the
file is stored).
> Long term, maybe move aries subsystem implementation to the core framework and re-implement
features support to use aries subsystems.
> But also aries subsystems has trouble saving the digraph correctly, it is depending on
a higher level logic to take that responsibility.

This message was sent by Atlassian JIRA

View raw message