GitHub user sanjaydasgupta opened a pull request:

    https://github.com/apache/zeppelin/pull/3000

    [ZEPPELIN-3467] two-step, atomic configuration file 

    ### What is this PR for?
    This PR continues the discussion and implementation in 
[PR-2978](https://github.com/apache/zeppelin/pull/2978) which had to be closed 
earlier.
    
    This PR prevents the total loss of configuration information that happens 
when zeppelin attempts to write out modified configuration information into an 
already full file-system. The approach taken here is to first write the 
modified information to a temporary file (in the same directory), and then to 
rename the successfully written file to its eventual name.
    
    The rename operation is not attempted if there is an error while writing 
the temporary file, thus leaving the pre-existing configuration file untouched.
    
    
    ### What type of PR is it?
    [Improvement]
    
    ### Todos
    * [ ] - Task
    
    ### What is the Jira issue?
    https://issues.apache.org/jira/browse/ZEPPELIN-3467
    
    ### How should this be tested?
    CI Pass
    
    ### Screenshots (if appropriate)
    
    ### Questions:
    * Does the licenses files need update? No
    * Is there breaking changes for older versions? No
    * Does this needs documentation? No


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/sanjaydasgupta/zeppelin 
zepp-3467-atomic-config-file-writes

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/zeppelin/pull/3000.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #3000
    
----
commit be19e63283894e80e11174137405601cdbf08e53
Author: Sanjay Dasgupta <sanjay.dasgupta@...>
Date:   2018-06-01T13:46:08Z

    zepp-3467-atomic-config-file-writes: Initial updates

----


---

Reply via email to