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

Konrad Windszus resolved FELIX-6704.
------------------------------------
    Resolution: Fixed

> Improve error logging for exceptions thrown from Configuration Plugins in 
> ConfigurationManager
> ----------------------------------------------------------------------------------------------
>
>                 Key: FELIX-6704
>                 URL: https://issues.apache.org/jira/browse/FELIX-6704
>             Project: Felix
>          Issue Type: Improvement
>          Components: Configuration Admin
>    Affects Versions: configadmin-1.9.24
>            Reporter: Konrad Windszus
>            Priority: Major
>             Fix For: configadmin-1.9.28
>
>
> Currently all throwables are caught in 
> https://github.com/apache/felix-dev/blob/517f9a0c89cad1866f315255568b40c568f5239d/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationManager.java#L932
>  and logged. 
> The important factory or configuration PID is not emitted in the log message 
> though.
> Example:
> {code}
> 07.05.2024 20:41:33.820 *ERROR* [FelixLogListener] 
> LogService.org.apache.felix.configadmin Service 
> [org.apache.felix.cm.ConfigurationAdmin,47, 
> [org.osgi.service.cm.ConfigurationAdmin]] Unexpected problem calling 
> configuration plugin [org.osgi.service.cm.ConfigurationPlugin, id=41, 
> bundle=38/slinginstall:org.apache.felix.configadmin.plugin.interpolation-1.2.6.jar]
>  (org.apache.felix.log.LogException: 
> org.osgi.util.converter.ConversionException: Cannot convert TO BE PROVIDED to 
> class java.lang.Integer)
> org.apache.felix.log.LogException: 
> org.osgi.util.converter.ConversionException: Cannot convert TO BE PROVIDED to 
> class java.lang.Integer
>       at org.osgi.util.converter.ConvertingImpl.to(ConvertingImpl.java:243)
>       at 
> org.osgi.util.converter.CustomConverterImpl$ConvertingWrapper.to(CustomConverterImpl.java:183)
>       at 
> org.osgi.util.converter.CustomConverterImpl$ConvertingWrapper.to(CustomConverterImpl.java:151)
>       at 
> org.osgi.util.converter.CustomConverterImpl$ConvertingWrapper.to(CustomConverterImpl.java:141)
>       at 
> org.apache.felix.configadmin.plugin.interpolation.InterpolationConfigurationPlugin.convertType(InterpolationConfigurationPlugin.java:308)
>       at 
> org.apache.felix.configadmin.plugin.interpolation.InterpolationConfigurationPlugin.lambda$replace$0(InterpolationConfigurationPlugin.java:197)
>       at 
> org.apache.felix.configadmin.plugin.interpolation.Interpolator.replace(Interpolator.java:149)
>       at 
> org.apache.felix.configadmin.plugin.interpolation.InterpolationConfigurationPlugin.replace(InterpolationConfigurationPlugin.java:179)
>       at 
> org.apache.felix.configadmin.plugin.interpolation.InterpolationConfigurationPlugin.getNewValue(InterpolationConfigurationPlugin.java:171)
>       at 
> org.apache.felix.configadmin.plugin.interpolation.InterpolationConfigurationPlugin.modifyConfiguration(InterpolationConfigurationPlugin.java:133)
>       at 
> org.apache.felix.cm.impl.ConfigurationManager.callPlugins(ConfigurationManager.java:928)
>  [org.apache.felix.configadmin:1.9.24]
>       at 
> org.apache.felix.cm.impl.ConfigurationAdapter.getProcessedProperties(ConfigurationAdapter.java:293)
>  [org.apache.felix.configadmin:1.9.24]
>       at 
> org.apache.felix.scr.impl.manager.RegionConfigurationSupport.getConfigurationInfo(RegionConfigurationSupport.java:532)
>  [org.apache.felix.scr:2.2.4]
>       at 
> org.apache.felix.scr.impl.manager.RegionConfigurationSupport.configurationEvent(RegionConfigurationSupport.java:333)
>  [org.apache.felix.scr:2.2.4]
>       at 
> org.apache.felix.scr.impl.manager.RegionConfigurationSupport$2.configurationEvent(RegionConfigurationSupport.java:115)
>  [org.apache.felix.scr:2.2.4]
>       at 
> org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:1721)
>  [org.apache.felix.configadmin:1.9.24]
>       at 
> org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:1662)
>  [org.apache.felix.configadmin:1.9.24]
>       at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:122) 
> [org.apache.felix.configadmin:1.9.24]
>       at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:84) 
> [org.apache.felix.configadmin:1.9.24]
>       at java.base/java.lang.Thread.run(Thread.java:829)
> {code}
> For debugging purposes the configuration PID is the most crucial bit of 
> information and this is missing from this log message.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to