Quantcast

"Critical" regression in Karaf 2.2.6

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

"Critical" regression in Karaf 2.2.6

jbonofre
Hi guys,

In Karaf 2.2.6, in order to improve the ConfigAdmin management (using
config:* commands and ConfigMBean), we changed the way to handle
configuration files and flush on the storage.

It leads to a "critical" regression where the ConfigAdmin update are not
flushed into the configuration file:
https://issues.apache.org/jira/browse/KARAF-1360

I'm gonna take a look on this issue and fix it asap.

I just wonder if:
- it makes sense to release a 2.2.6.1 (a kind of hotfix release)
- it makes sense to wait 2.2.7 but we should cut off this release very soon

WDYT ?

Regards
JB
--
Jean-Baptiste Onofré
[hidden email]
http://blog.nanthrax.net
Talend - http://www.talend.com
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: "Critical" regression in Karaf 2.2.6

Achim Nierbeck
Hi JB,

I'd rather release a quick 2.2.7 than start fumbling with a patch version :)

regards, Achim

2012/4/12 Jean-Baptiste Onofré <[hidden email]>:

> Hi guys,
>
> In Karaf 2.2.6, in order to improve the ConfigAdmin management (using
> config:* commands and ConfigMBean), we changed the way to handle
> configuration files and flush on the storage.
>
> It leads to a "critical" regression where the ConfigAdmin update are not
> flushed into the configuration file:
> https://issues.apache.org/jira/browse/KARAF-1360
>
> I'm gonna take a look on this issue and fix it asap.
>
> I just wonder if:
> - it makes sense to release a 2.2.6.1 (a kind of hotfix release)
> - it makes sense to wait 2.2.7 but we should cut off this release very soon
>
> WDYT ?
>
> Regards
> JB
> --
> Jean-Baptiste Onofré
> [hidden email]
> http://blog.nanthrax.net
> Talend - http://www.talend.com



--

Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
Committer & Project Lead
blog <http://notizblog.nierbeck.de/>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: "Critical" regression in Karaf 2.2.6

jgoodyear
In reply to this post by jbonofre
A 2.2.7 would make more sense to me -- just need to start one soon.

Cheers,
Jamie

On Thu, Apr 12, 2012 at 8:27 AM, Jean-Baptiste Onofré <[hidden email]> wrote:

> Hi guys,
>
> In Karaf 2.2.6, in order to improve the ConfigAdmin management (using
> config:* commands and ConfigMBean), we changed the way to handle
> configuration files and flush on the storage.
>
> It leads to a "critical" regression where the ConfigAdmin update are not
> flushed into the configuration file:
> https://issues.apache.org/jira/browse/KARAF-1360
>
> I'm gonna take a look on this issue and fix it asap.
>
> I just wonder if:
> - it makes sense to release a 2.2.6.1 (a kind of hotfix release)
> - it makes sense to wait 2.2.7 but we should cut off this release very soon
>
> WDYT ?
>
> Regards
> JB
> --
> Jean-Baptiste Onofré
> [hidden email]
> http://blog.nanthrax.net
> Talend - http://www.talend.com
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: "Critical" regression in Karaf 2.2.6

jbonofre
Agree with you both guys.

I'm working on the issue. I will keep you posted soon.

Regards
JB

On 04/12/2012 02:33 PM, Jamie G. wrote:

> A 2.2.7 would make more sense to me -- just need to start one soon.
>
> Cheers,
> Jamie
>
> On Thu, Apr 12, 2012 at 8:27 AM, Jean-Baptiste Onofré<[hidden email]>  wrote:
>> Hi guys,
>>
>> In Karaf 2.2.6, in order to improve the ConfigAdmin management (using
>> config:* commands and ConfigMBean), we changed the way to handle
>> configuration files and flush on the storage.
>>
>> It leads to a "critical" regression where the ConfigAdmin update are not
>> flushed into the configuration file:
>> https://issues.apache.org/jira/browse/KARAF-1360
>>
>> I'm gonna take a look on this issue and fix it asap.
>>
>> I just wonder if:
>> - it makes sense to release a 2.2.6.1 (a kind of hotfix release)
>> - it makes sense to wait 2.2.7 but we should cut off this release very soon
>>
>> WDYT ?
>>
>> Regards
>> JB
>> --
>> Jean-Baptiste Onofré
>> [hidden email]
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com

--
Jean-Baptiste Onofré
[hidden email]
http://blog.nanthrax.net
Talend - http://www.talend.com
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: "Critical" regression in Karaf 2.2.6

Achim Nierbeck
one more thing on this,
please no more refactorings, all of the sudden stuff that did work and
has been tested well starts to fall apart.
This isn't supposed to happen, we had a pretty good code base here.
We need to make sure a refactoring does really make sense and has a
bigger benefit then the stuff that is already working,
and just to cite Martin Fowler, the god of refactoring, those
refactorings have to be accompanied by good unit tests that have
been working before and after refactoring. Oh and just another thing,
good refactorings are done in small steps ....

http://martinfowler.com/refactoring/

regards, Achim

2012/4/12 Jean-Baptiste Onofré <[hidden email]>:

> Agree with you both guys.
>
> I'm working on the issue. I will keep you posted soon.
>
> Regards
> JB
>
>
> On 04/12/2012 02:33 PM, Jamie G. wrote:
>>
>> A 2.2.7 would make more sense to me -- just need to start one soon.
>>
>> Cheers,
>> Jamie
>>
>> On Thu, Apr 12, 2012 at 8:27 AM, Jean-Baptiste Onofré<[hidden email]>
>>  wrote:
>>>
>>> Hi guys,
>>>
>>> In Karaf 2.2.6, in order to improve the ConfigAdmin management (using
>>> config:* commands and ConfigMBean), we changed the way to handle
>>> configuration files and flush on the storage.
>>>
>>> It leads to a "critical" regression where the ConfigAdmin update are not
>>> flushed into the configuration file:
>>> https://issues.apache.org/jira/browse/KARAF-1360
>>>
>>> I'm gonna take a look on this issue and fix it asap.
>>>
>>> I just wonder if:
>>> - it makes sense to release a 2.2.6.1 (a kind of hotfix release)
>>> - it makes sense to wait 2.2.7 but we should cut off this release very
>>> soon
>>>
>>> WDYT ?
>>>
>>> Regards
>>> JB
>>> --
>>> Jean-Baptiste Onofré
>>> [hidden email]
>>> http://blog.nanthrax.net
>>> Talend - http://www.talend.com
>
>
> --
> Jean-Baptiste Onofré
> [hidden email]
> http://blog.nanthrax.net
> Talend - http://www.talend.com



--

Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
Committer & Project Lead
blog <http://notizblog.nierbeck.de/>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: "Critical" regression in Karaf 2.2.6

Guillaume Nodet
+1 on no refactoring on maintenance branches

+1 for 2.2.7, I don't see why we would start a new kind of nano releases
now, a micro is good enough

On Thu, Apr 12, 2012 at 14:42, Achim Nierbeck <[hidden email]>wrote:

> one more thing on this,
> please no more refactorings, all of trhe sudden stuff that did work and
> has been tested well starts to fall apart.
> This isn't supposed to happen, we had a pretty good code base here.
> We need to make sure a refactoring does really make sense and has a
> bigger benefit then the stuff that is already working,
> and just to cite Martin Fowler, the god of refactoring, those
> refactorings have to be accompanied by good unit tests that have
> been working before and after refactoring. Oh and just another thing,
> good refactorings are done in small steps ....
>
> http://martinfowler.com/refactoring/
>
> regards, Achim
>
> 2012/4/12 Jean-Baptiste Onofré <[hidden email]>:
> > Agree with you both guys.
> >
> > I'm working on the issue. I will keep you posted soon.
> >
> > Regards
> > JB
> >
> >
> > On 04/12/2012 02:33 PM, Jamie G. wrote:
> >>
> >> A 2.2.7 would make more sense to me -- just need to start one soon.
> >>
> >> Cheers,
> >> Jamie
> >>
> >> On Thu, Apr 12, 2012 at 8:27 AM, Jean-Baptiste Onofré<[hidden email]>
> >>  wrote:
> >>>
> >>> Hi guys,
> >>>
> >>> In Karaf 2.2.6, in order to improve the ConfigAdmin management (using
> >>> config:* commands and ConfigMBean), we changed the way to handle
> >>> configuration files and flush on the storage.
> >>>
> >>> It leads to a "critical" regression where the ConfigAdmin update are
> not
> >>> flushed into the configuration file:
> >>> https://issues.apache.org/jira/browse/KARAF-1360
> >>>
> >>> I'm gonna take a look on this issue and fix it asap.
> >>>
> >>> I just wonder if:
> >>> - it makes sense to release a 2.2.6.1 (a kind of hotfix release)
> >>> - it makes sense to wait 2.2.7 but we should cut off this release very
> >>> soon
> >>>
> >>> WDYT ?
> >>>
> >>> Regards
> >>> JB
> >>> --
> >>> Jean-Baptiste Onofré
> >>> [hidden email]
> >>> http://blog.nanthrax.net
> >>> Talend - http://www.talend.com
> >
> >
> > --
> > Jean-Baptiste Onofré
> > [hidden email]
> > http://blog.nanthrax.net
> > Talend - http://www.talend.com
>
>
>
> --
>
> Apache Karaf <http://karaf.apache.org/> Committer & PMC
> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
> Committer & Project Lead
> blog <http://notizblog.nierbeck.de/>
>



--
------------------------
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
FuseSource, Integration everywhere
http://fusesource.com
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: "Critical" regression in Karaf 2.2.6

cschneider
In reply to this post by jbonofre
Hi all,

as far as I know this never was expected to work. Currently we do not
change the felix config admin. So direct updates to the config pid are
not expected to be persisted.
Only config changes using the karaf config  mbean or the karaf shell
commands write the config back.
JB wrote we might have had a hook somewhere but I was not able to find
it in the karaf 2.2.5 sources.

JB tested using log:set DEBUG which persists the change in the config
file in Karaf 2.2.5 but not in 2.2.6. I am not sure though that the
perist is done by karaf code here. It might also be done by pax logging.
I will check this.

Christian

Am 12.04.2012 14:27, schrieb Jean-Baptiste Onofré:

> Hi guys,
>
> In Karaf 2.2.6, in order to improve the ConfigAdmin management (using
> config:* commands and ConfigMBean), we changed the way to handle
> configuration files and flush on the storage.
>
> It leads to a "critical" regression where the ConfigAdmin update are
> not flushed into the configuration file:
> https://issues.apache.org/jira/browse/KARAF-1360
>
> I'm gonna take a look on this issue and fix it asap.
>
> I just wonder if:
> - it makes sense to release a 2.2.6.1 (a kind of hotfix release)
> - it makes sense to wait 2.2.7 but we should cut off this release very
> soon
>
> WDYT ?
>
> Regards
> JB


--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
Talend Application Integration Division http://www.talend.com

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: "Critical" regression in Karaf 2.2.6

Guillaume Nodet
PaxLogging does not do anything related to its configuration, it just reads
what is given from ConfigAdmin.

However the fix for KARAF-1243 might be a problem.
First the direct calls to file install is a bad idea as it maintains stuff
internally as to wether files were handled, checksum to detect changes and
such.
Second, if you want to update the configuration, you could have used a call
to updateConfiguration() which would have been easier without adding a
unwanted dependency between shell/config and file install.

On an unrelated point, I strongly disagree with the way KARAF-1279 has been
handled.
It should be something like:
   throw (IOException) new IOException().initCause(e);

In fact, I really suspect KARAF-1143 which may screw file install by
storing a URL/URI instead of a String as expected by file install.
See line 115
https://github.com/apache/felix/blob/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/ConfigInstaller.java#L115

Last, the problem may actually come from a regression in file install,
which is the one supposed to save back changes from the configuration to
the disk, but I'd check the above before.

On Fri, Apr 13, 2012 at 09:55, Christian Schneider
<[hidden email]>wrote:

> Hi all,
>
> as far as I know this never was expected to work. Currently we do not
> change the felix config admin. So direct updates to the config pid are not
> expected to be persisted.
> Only config changes using the karaf config  mbean or the karaf shell
> commands write the config back.
> JB wrote we might have had a hook somewhere but I was not able to find it
> in the karaf 2.2.5 sources.
>
> JB tested using log:set DEBUG which persists the change in the config file
> in Karaf 2.2.5 but not in 2.2.6. I am not sure though that the perist is
> done by karaf code here. It might also be done by pax logging. I will check
> this.
>
> Christian
>
> Am 12.04.2012 14:27, schrieb Jean-Baptiste Onofré:
>
>  Hi guys,
>>
>> In Karaf 2.2.6, in order to improve the ConfigAdmin management (using
>> config:* commands and ConfigMBean), we changed the way to handle
>> configuration files and flush on the storage.
>>
>> It leads to a "critical" regression where the ConfigAdmin update are not
>> flushed into the configuration file:
>> https://issues.apache.org/**jira/browse/KARAF-1360<https://issues.apache.org/jira/browse/KARAF-1360>
>>
>> I'm gonna take a look on this issue and fix it asap.
>>
>> I just wonder if:
>> - it makes sense to release a 2.2.6.1 (a kind of hotfix release)
>> - it makes sense to wait 2.2.7 but we should cut off this release very
>> soon
>>
>> WDYT ?
>>
>> Regards
>> JB
>>
>
>
> --
> Christian Schneider
> http://www.liquid-reality.de
>
> Open Source Architect
> Talend Application Integration Division http://www.talend.com
>
>


--
------------------------
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
FuseSource, Integration everywhere
http://fusesource.com
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: "Critical" regression in Karaf 2.2.6

cschneider
I was able to reproduce the problem by simply using the new fileinstall
3.2.0 in karaf 2.2.5. So fileinstall alone already causes the problem.

On the other hand it clearly shows that felix config admin + fileinstall
should already write configs to files. That means if we use a working
configadmin / fileinstall combination we should be able to completely
remove the file writing code in karaf config/core.

I am now checking if a downgrade of fileinstall in 2.2.7-SNAPSHOT will
solve the problem. A downgrade in an existing 2.2.6 version is not
possible as the deployers depend on the new fileinstall version. So
there is no quick fix and we will probably need a 2.2.7 soon.

Christian

Am 13.04.2012 10:21, schrieb Guillaume Nodet:

> PaxLogging does not do anything related to its configuration, it just reads
> what is given from ConfigAdmin.
>
> However the fix for KARAF-1243 might be a problem.
> First the direct calls to file install is a bad idea as it maintains stuff
> internally as to wether files were handled, checksum to detect changes and
> such.
> Second, if you want to update the configuration, you could have used a call
> to updateConfiguration() which would have been easier without adding a
> unwanted dependency between shell/config and file install.
>
> On an unrelated point, I strongly disagree with the way KARAF-1279 has been
> handled.
> It should be something like:
>     throw (IOException) new IOException().initCause(e);
>
> In fact, I really suspect KARAF-1143 which may screw file install by
> storing a URL/URI instead of a String as expected by file install.
> See line 115
> https://github.com/apache/felix/blob/trunk/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/ConfigInstaller.java#L115
>
> Last, the problem may actually come from a regression in file install,
> which is the one supposed to save back changes from the configuration to
> the disk, but I'd check the above before.
>
> On Fri, Apr 13, 2012 at 09:55, Christian Schneider
> <[hidden email]>wrote:
>
>> Hi all,
>>
>> as far as I know this never was expected to work. Currently we do not
>> change the felix config admin. So direct updates to the config pid are not
>> expected to be persisted.
>> Only config changes using the karaf config  mbean or the karaf shell
>> commands write the config back.
>> JB wrote we might have had a hook somewhere but I was not able to find it
>> in the karaf 2.2.5 sources.
>>
>> JB tested using log:set DEBUG which persists the change in the config file
>> in Karaf 2.2.5 but not in 2.2.6. I am not sure though that the perist is
>> done by karaf code here. It might also be done by pax logging. I will check
>> this.
>>
>> Christian
>>
>> Am 12.04.2012 14:27, schrieb Jean-Baptiste Onofré:
>>
>>   Hi guys,
>>> In Karaf 2.2.6, in order to improve the ConfigAdmin management (using
>>> config:* commands and ConfigMBean), we changed the way to handle
>>> configuration files and flush on the storage.
>>>
>>> It leads to a "critical" regression where the ConfigAdmin update are not
>>> flushed into the configuration file:
>>> https://issues.apache.org/**jira/browse/KARAF-1360<https://issues.apache.org/jira/browse/KARAF-1360>
>>>
>>> I'm gonna take a look on this issue and fix it asap.
>>>
>>> I just wonder if:
>>> - it makes sense to release a 2.2.6.1 (a kind of hotfix release)
>>> - it makes sense to wait 2.2.7 but we should cut off this release very
>>> soon
>>>
>>> WDYT ?
>>>
>>> Regards
>>> JB
>>>
>>
>> --
>> Christian Schneider
>> http://www.liquid-reality.de
>>
>> Open Source Architect
>> Talend Application Integration Division http://www.talend.com
>>
>>
>


--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
Talend Application Integration Division http://www.talend.com

Loading...