Neil Wightman created FELIX-4924:
------------------------------------
Summary: ConfigAdmin update results in empty file or corrupt file.
Key: FELIX-4924
URL: https://issues.apache.org/jira/browse/FELIX-4924
Project: Felix
Issue Type: Bug
Components: Configuration Admin
Affects Versions: configadmin-1.8.0, configadmin-1.4.0
Environment: Windows Server 2003 + 2008.
Redhat
Centos
Reporter: Neil Wightman
We have been hitting a rare but consistent problem with config admin.
The problem is that a config admin file is becoming corrupt. I.e the file will
contain only NULL characters. Last time this happened the config file had 1080
NULL characters in it.
This seems to occur when a config is being updated as the JVM is stopping /
shutting down.
All the code in the FilePersistenceManager._store() method looks good and safe
but this issue still keeps occuring.
We it occur 3 times last week out of a few hundred servers.
I think the problem is that the new File being written is not being flushed to
disk in time.
I think ConfigAdmin needs to ensure the new config is flushed to disk after the
close.
{code}
tmpFile = File.createTempFile( cfgFile.getName(), TMP_EXT, cfgDir );
out = new FileOutputStream( tmpFile );
ConfigurationHandler.write( out, props );
out.close();
try
{
// attempt force to sync to disk
out.getFD().sync();
}
catch (SyncFailedException sync)
{
// ignore
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)