commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oliver Heger (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CONFIGURATION-136) Reloading may corrupt the configuration
Date Mon, 12 Mar 2012 21:10:40 GMT

    [ 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

        

Mime
View raw message