[ 
https://issues.apache.org/jira/browse/KARAF-6998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17298411#comment-17298411
 ] 

Wouter Born commented on KARAF-6998:
------------------------------------

I tested integrating Karaf 4.3.1-SNAPSHOT into our openHAB distro and also ran 
into configurations continuously being updated without any changes. So I hope 
it will be fixed before 4.3.1 is released. We also have .cfg files that are 
converted into .json files. I added some debug logging as attachment. If you 
want more info I can add it and if there is a fix I am happy to help testing 
it! :) I didn't find anything else so far besides this issue. (y)

[^logging.txt]

> Karaf 4.3 Configurations with array property values calls @modified every 2 
> seconds
> -----------------------------------------------------------------------------------
>
>                 Key: KARAF-6998
>                 URL: https://issues.apache.org/jira/browse/KARAF-6998
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf
>    Affects Versions: 4.3.0
>            Reporter: Scott Ortel
>            Assignee: Jean-Baptiste Onofré
>            Priority: Major
>             Fix For: 4.3.1
>
>         Attachments: logging.txt
>
>
> Configurations created with configadmin in 4.3 have two issues:
> 1) The configuration is always persisted as JSON by the JsonConfigInstaller 
> in 'karaf.etc' and is therefore watched by the file installer.  It seems this 
> behavior should be governed by the 'felix.cm.dir' setting,  which would allow 
> these persisted configurations to be placed elsewhere or not at all.  This 
> differs from the .cfg CM persistence behavior.
> 2) When JsonConfigInstaller examines the configuration and compares it to the 
> existing one (setConfig() line 83), by performing a simple .equals() on the 
> 'old' and 'properties' hash tables.  This does not property handle property 
> values that are arrays (valid in OSGi 7).  As you know a map simply compares 
> the key values using .equals, which for arrays is '=='.  This causes the 
> configuration to always appear to be modified and the associated component is 
> deactivated/activated/modified every 2 seconds.
>  
> Thank you for Karaf and for considering this issue.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to