Konrad Windszus created FELIX-6704:
--------------------------------------
Summary: 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
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)