[ 
https://issues.apache.org/jira/browse/JCLOUDS-1137?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Francois Rigault updated JCLOUDS-1137:
--------------------------------------
    Description: 
When listing files in a local blobstore, we are sometimes hitting the following 
exception:

{noformat}
java.nio.file.NoSuchFileException: /opt/data/./ggg/fff_local_db.db-wal
        at com.google.common.base.Throwables.propagate(Throwables.java:160)
        at 
org.jclouds.filesystem.strategy.internal.FilesystemStorageStrategyImpl.getBlob(FilesystemStorageStrategyImpl.java:373)
        at 
org.jclouds.blobstore.config.LocalBlobStore.loadBlob(LocalBlobStore.java:414)
...
Caused by: java.nio.file.NoSuchFileException: 
/opt/data/./ggg/fff_local_db.db-wal
        at 
sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
        at sun.nio.fs.UnixPath.openForAttributeAccess(UnixPath.java:787)
        at 
sun.nio.fs.LinuxUserDefinedFileAttributeView.list(LinuxUserDefinedFileAttributeView.java:100)
        at 
org.jclouds.filesystem.strategy.internal.FilesystemStorageStrategyImpl.getBlob(FilesystemStorageStrategyImpl.java:333)
{noformat}

There is some kind of race condition when a file is being removed in the middle 
of a getBlob: to reproduce, one can put a breakpoint in 
FilesystemStorageStrategyImpl before the call to 
UserDefinedFileAttributeView.list, and remove the current file from the file 
system when hitting the breakpoint.

We are having this error multiple times a day and don't really know how to 
proceed. Ideally, we would expect getBlob to return null in this case, instead 
of throwing a NoSuchFileException.

  was:
When listing files in a local blobstore, we are sometimes hitting the following 
exception:

{noformat}
java.nio.file.NoSuchFileException: /opt/data/./ggg/fff_local_db.db-wal
        at
com.google.common.base.Throwables.propagate(Throwables.java:160)
        at
org.jclouds.filesystem.strategy.internal.FilesystemStorageStrategyImpl.g
etBlob(FilesystemStorageStrategyImpl.java:373)
        at
org.jclouds.blobstore.config.LocalBlobStore.loadBlob(LocalBlobStore.java
:414)
...
Caused by: java.nio.file.NoSuchFileException:
/opt/data/./ggg/fff_local_db.db-wal
        at
sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
        at
sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
        at
sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
        at sun.nio.fs.UnixPath.openForAttributeAccess(UnixPath.java:787)
        at
sun.nio.fs.LinuxUserDefinedFileAttributeView.list(LinuxUserDefinedFileAt
tributeView.java:100)
        at
org.jclouds.filesystem.strategy.internal.FilesystemStorageStrategyImpl.g
etBlob(FilesystemStorageStrategyImpl.java:333)
        ... 69 more
{noformat}

There is some kind of race condition when a file is being removed in the middle 
of a getBlob: to reproduce, one can put a breakpoint in 
FilesystemStorageStrategyImpl.java on the call to 
UserDefinedFileAttributeView.list, and remove the current file from the file 
system.

We are hitting this error multiple times a day and don't really know how to 
proceed. Ideally, we would expect getBlob to return null in this case, instead 
of throwing a NoSuchFileException.


> FilesystemStorageStrategyImpl throws NoSuchFileException when listing files
> ---------------------------------------------------------------------------
>
>                 Key: JCLOUDS-1137
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-1137
>             Project: jclouds
>          Issue Type: Bug
>          Components: jclouds-core
>    Affects Versions: 1.9.2
>            Reporter: Francois Rigault
>
> When listing files in a local blobstore, we are sometimes hitting the 
> following exception:
> {noformat}
> java.nio.file.NoSuchFileException: /opt/data/./ggg/fff_local_db.db-wal
>         at com.google.common.base.Throwables.propagate(Throwables.java:160)
>         at 
> org.jclouds.filesystem.strategy.internal.FilesystemStorageStrategyImpl.getBlob(FilesystemStorageStrategyImpl.java:373)
>         at 
> org.jclouds.blobstore.config.LocalBlobStore.loadBlob(LocalBlobStore.java:414)
> ...
> Caused by: java.nio.file.NoSuchFileException: 
> /opt/data/./ggg/fff_local_db.db-wal
>         at 
> sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
>         at 
> sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
>         at 
> sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
>         at sun.nio.fs.UnixPath.openForAttributeAccess(UnixPath.java:787)
>         at 
> sun.nio.fs.LinuxUserDefinedFileAttributeView.list(LinuxUserDefinedFileAttributeView.java:100)
>         at 
> org.jclouds.filesystem.strategy.internal.FilesystemStorageStrategyImpl.getBlob(FilesystemStorageStrategyImpl.java:333)
> {noformat}
> There is some kind of race condition when a file is being removed in the 
> middle of a getBlob: to reproduce, one can put a breakpoint in 
> FilesystemStorageStrategyImpl before the call to 
> UserDefinedFileAttributeView.list, and remove the current file from the file 
> system when hitting the breakpoint.
> We are having this error multiple times a day and don't really know how to 
> proceed. Ideally, we would expect getBlob to return null in this case, 
> instead of throwing a NoSuchFileException.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to