You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zeppelin.apache.org by "Alex Ott (JIRA)" <ji...@apache.org> on 2019/08/18 16:42:00 UTC

[jira] [Created] (ZEPPELIN-4305) LocalStorageConfig.atomicWriteToFile incorrectly works with several mount points

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)