Alex Ott created ZEPPELIN-4305:
----------------------------------

             Summary: LocalStorageConfig.atomicWriteToFile incorrectly works 
with several mount points
                 Key: ZEPPELIN-4305
                 URL: https://issues.apache.org/jira/browse/ZEPPELIN-4305
             Project: Zeppelin
          Issue Type: Bug
    Affects Versions: 0.9.0
            Reporter: Alex Ott


The hotfix made on 24th July, changed the code of that function to 

{noformat}
      file.getParentFile().mkdirs();
      Files.move(tempFile.toPath(), destinationFilePath,
              StandardCopyOption.ATOMIC_MOVE);
{noformat}

but this generates {{AtomicMoveNotSupportedException}} when temporary directory 
is on separate disk as destination directory (like in my case, where {{/home}} 
is on separate disk):

{noformat}
java.nio.file.AtomicMoveNotSupportedException: 
/tmp/interpreter.json2988796503687403554.tmp -> 
/home/ott/work/zeppelin/zeppelin-ksql/conf/interpreter.json: Invalid 
cross-device link
        at sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:394)
        at 
sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:262)
        at java.nio.file.Files.move(Files.java:1395)
        at 
org.apache.zeppelin.storage.LocalConfigStorage.atomicWriteToFile(LocalConfigStorage.java:126)
        at 
org.apache.zeppelin.storage.LocalConfigStorage.save(LocalConfigStorage.java:59)
        at 
org.apache.zeppelin.interpreter.InterpreterSettingManager.saveToFile(InterpreterSettingManager.java:311)
{noformat}




--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to