[
https://issues.apache.org/jira/browse/FELIX-4165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13706903#comment-13706903
]
Martin Lichtin commented on FELIX-4165:
---------------------------------------
I wanted to work around the issue, but unfortunately the exception is swallowed
in ConfigurationImpl.java:
private void updateFactory() throws IOException {
String factoryPid = getFactoryPidString();
if ( factoryPid != null )
{
Factory factory = getConfigurationManager().getOrCreateFactory(
factoryPid );
if ( factory.addPID( getPidString() ) )
{
// only write back if the pid was not already registered
// with the factory
try
{
factory.store();
}
catch ( IOException ioe )
{
getConfigurationManager().log( LogService.LOG_ERROR,
"Failure storing factory {0} with new configuration
{1}", new Object[]
{ factoryPid, getPidString(), ioe } );
}
}
}
}
Could you either re-throw or perhaps not catch the exception at all if you
don't know how to handle it?
> FilePersistenceManager fails to rename configuration file
> ---------------------------------------------------------
>
> Key: FELIX-4165
> URL: https://issues.apache.org/jira/browse/FELIX-4165
> Project: Felix
> Issue Type: Bug
> Components: Configuration Admin
> Affects Versions: configadmin-1.6.0
> Reporter: Martin Lichtin
>
> Quite frequently a file move fails. The symptom is:
> java.io.IOException: Failed to rename configuration file from
> 'C:\Users\mli\nuc\env\master\karaf\karaf\karaf-deploy-std\target\karaf\data\cache\bundle5\data\config\org_apache_felix_cm_impl_DynamicBindings.config2019338524809240991.tmp'
> to
> 'C:\Users\mli\nuc\env\master\karaf\karaf\karaf-deploy-std\target\karaf\data\cache\bundle5\data\config\org_apache_felix_cm_impl_DynamicBindings.config
> at
> org.apache.felix.cm.file.FilePersistenceManager._store(FilePersistenceManager.java:640)[5:org.apache.felix.configadmin:1.6.0]
> at
> org.apache.felix.cm.file.FilePersistenceManager.store(FilePersistenceManager.java:582)[5:org.apache.felix.configadmin:1.6.0]
> at
> org.apache.felix.cm.impl.DynamicBindings.putLocation(DynamicBindings.java:116)[5:org.apache.felix.configadmin:1.6.0]
> at
> org.apache.felix.cm.impl.ConfigurationManager.setDynamicBundleLocation(ConfigurationManager.java:461)[5:org.apache.felix.configadmin:1.6.0]
> at
> org.apache.felix.cm.impl.ConfigurationImpl.setDynamicBundleLocation(ConfigurationImpl.java:281)[5:org.apache.felix.configadmin:1.6.0]
> at
> org.apache.felix.cm.impl.ConfigurationImpl.tryBindLocation(ConfigurationImpl.java:304)[5:org.apache.felix.configadmin:1.6.0]
> at
> org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1705)[5:org.apache.felix.configadmin:1.6.0]
> at
> org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:103)[5:org.apache.felix.configadmin:1.6.0]
> at java.lang.Thread.run(Thread.java:724)[:1.7.0_25]
> Perhaps the file exists and cannot be deleted (could report return value of
> the delete() on line 634).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira