[ 
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.6)
                   4.0.7

> 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é
>             Fix For: 4.1.0, 4.0.7
>
>         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
(v6.3.4#6332)

Reply via email to