[prev in list] [next in list] [prev in thread] [next in thread] 

List:       jakarta-commons-dev
Subject:    [jira] [Comment Edited] (CONFIGURATION-788) AbstractHierarchicalFileConfiguration can lose data when
From:       "Gary D. Gregory (Jira)" <jira () apache ! org>
Date:       2020-03-31 14:13:00
Message-ID: JIRA.13295052.1585587829000.33905.1585663980142 () Atlassian ! JIRA
[Download RAW message or body]


    [ https://issues.apache.org/jira/browse/CONFIGURATION-788?page=com.atlassian.jira. \
plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17071820#comment-17071820 \
] 

Gary D. Gregory edited comment on CONFIGURATION-788 at 3/31/20, 2:12 PM:
-------------------------------------------------------------------------

Hi  [~cnoamik]

WRT  https://issues.apache.org/jira/browse/CONFIGURATION-788?focusedCommentId=17071156 \
&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17071156


If you look at the POM, you'll see that Commons Configuration requires Java 8 or \
higher. No any talk or work about Java 5 through 7 is a waste.


was (Author: garydgregory):
Hi  [~cnoamik]

If you look at the POM, you'll see that Commons Configuration requires Java 8 or \
higher. No any talk or work about Java 5 through 7 is a waste.

> AbstractHierarchicalFileConfiguration can lose data when #save() is interrupted by \
>                 JVM abort/power failure
> ----------------------------------------------------------------------------------------------------------
>  
> Key: CONFIGURATION-788
> URL: https://issues.apache.org/jira/browse/CONFIGURATION-788
> Project: Commons Configuration
> Issue Type: Bug
> Components: File reloading
> Affects Versions: 1.10
> Environment: This occurs in any environment with any use of \
> AbstractFileConfiguration#save(), AbstractFileConfiguration#save(URL) or \
>                 AbstractFileConfiguration#save(File).
> Reporter: Michael Noack
> Priority: Major
> Labels: newbie
> Attachments: 0001-Implemented-keep-backup-feature-for-file-configurati.patch, \
> 0002-CHANGED-AbstractFileConfiguration-Fixed-potential-NP.patch 
> 
> When saving the current configuration, either using any of the #save() Methods or \
> when setting a property while auto-save is enabled the method \
> AbstractFileConfiguration#save(URL) effectively wipes the file content when opening \
> the OutputStream. If the JVM gets destroyed or the machine powered down before the \
> new configuration has been serialized to the file an empty file remains with no \
> configuration at all. 
> I've created a patch on top of the RELEASE_1_10_BRANCH which introduces a \
> mitigation. The mitigation consists of a "keep backup" flag in \
> AbstractFileConfiguration which, if set, creates a copy of the current \
> configuration file before writing into it. When a configuration exception occurs \
> upon loading the configuration again the exception will be caught and loading of \
> the backup is attempted first before rethrowing the exception when this fails as \
> well. To allow existing implementations to profit from this without touching all \
> instances a global flag has been added to AbstractHierarchicalFileConfiguration \
> which is then inherited by all future delegates added to any instance of \
> AbstractHierarchicalFileConfiguration. Four unit tests for this mitigation feature \
> have been added to TestHierarchicalXMLConfiguration. I've uploaded a repository \
> with the commit to github: \
> https://github.com/noamik/commons-configuration/tree/RELEASE_1_11_BRANCH



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic