[
https://issues.apache.org/jira/browse/CONFIGURATION-136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13227903#comment-13227903
]
Oliver Heger commented on CONFIGURATION-136:
--------------------------------------------
I had a look at the patch, but I am not sure whether I fully understand what
you intend. I expected something similar to what Emmanuel had suggested in his
comments, i.e. a modification of the {{reload()}} method to temporarily store
the configuration's content before it is loaded again from disk.
But you modified the {{save()}} method. It looks like that you try to restore
the original content of the configuration if an error occurs during saving.
This does not solve the problem this ticket is about.
Also, are you sure that your solution is robust? I mean, if you get an error on
saving (maybe because the disk is full or not readable), how likely is it that
the rollback operation succeeds?
> Reloading may corrupt the configuration
> ---------------------------------------
>
> Key: CONFIGURATION-136
> URL: https://issues.apache.org/jira/browse/CONFIGURATION-136
> Project: Commons Configuration
> Issue Type: Bug
> Components: File reloading
> Affects Versions: 1.1
> Reporter: nicolas de loof
> Fix For: 1.9
>
> Attachments: commons-configuration-1.5_patch_CONFIGURATION-136.jar,
> commons-configuration-1.8_patch_CONFIGURATION-136.jar, patch.txt
>
>
> Current reloading process clears current properties and load updated values
> from
> resource reader. If an IO error occurs (or invalid format), the configuration
> gets corrupted and the application becomes unstable.
> It may be better for hot-reload to put loaded values into a temporary
> Properties
> and replace previous values only when reloading is successful.
> It may also allow to use a 'currentlty-reloading' flag in the synchronized
> 'reload' block to avoid blocking threads during a reload (they could access
> safelly the 'old' properties until reload is finished)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira