Ruslan Dautkhanov created ZEPPELIN-3467:
-------------------------------------------

             Summary: two-step, atomic configuration file writes
                 Key: ZEPPELIN-3467
                 URL: https://issues.apache.org/jira/browse/ZEPPELIN-3467
             Project: Zeppelin
          Issue Type: Improvement
    Affects Versions: 0.7.3, 0.9.0, 0.8.1
            Reporter: Ruslan Dautkhanov


We have seen when a file system runs full, Zeppelin nullifies its configuration 
files.
It open file for write, tries to write a file and that latter operation fails.
We end up with losing configuration completely. 

It should be done this two-step approach instead:
- write configuration files (like `interpreter.json` and other such files) to a 
temp file in the same directory
- rename file from temp to target name. 

This would guarantee no partial writes are done, leaving corrupted 
configuration files.
Also POSIX filesystems guarantee that file `rename`  is done atomically, having 
no room for any side effects. 




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to