[ 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)