GitHub user sanjaydasgupta opened a pull request: https://github.com/apache/zeppelin/pull/2978
[ZEPPELIN-3467] two-step, atomic configuration file writes ### What is this PR for? 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 ### 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 zeppelin-3467-atomic-config-file-writes Alternatively you can review and apply these changes as the patch at: https://github.com/apache/zeppelin/pull/2978.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 #2978 ---- commit 8d7bde9cb354e6c6dea34e26376b1fd64cd2594c Author: Sanjay Dasgupta <sanjay.dasgupta@...> Date: 2018-05-22T15:17:50Z zeppelin-3467-atomic-config-file-writes initial commit ---- ---