@Test public void getattrWithDelay() throws Exception { String path = "/foo/bar"; AlluxioURI expectedPath = BASE_EXPECTED_URI.join("/foo/bar"); FileInfo info = new FileInfo(); info.setLength(0); info.setCompleted(false); URIStatus status = new URIStatus(info); when(mFileSystem.getStatus(any(AlluxioURI.class))).thenReturn(status); FileStat stat = new FileStat(Runtime.getSystemRuntime()); Thread t = new Thread(() -> mFuseFs.getattr(path, stat)); t.start(); Thread.sleep(1000); verify(mFileSystem, atLeast(10)).getStatus(expectedPath); assertEquals(0, stat.st_size.longValue()); info.setCompleted(true); info.setLength(1000); t.join(); assertEquals(1000, stat.st_size.longValue()); }
@Override public int getattr(String path, FileStat stat) { return AlluxioFuseUtils.call( LOG, () -> getattrInternal(path, stat), "getattr", "path=%s", path); }
AlluxioFuseFileSystem extends FuseStubFS { @Override public int getattr(String path, FileStat stat) { return AlluxioFuseUtils.call( LOG, () -> getattrInternal(path, stat), "getattr", "path=%s", path); } }
AlluxioFuseFileSystem extends FuseStubFS { @Override public int getattr(String path, FileStat stat) { return AlluxioFuseUtils.call( LOG, () -> getattrInternal(path, stat), "getattr", "path=%s", path); } AlluxioFuseFileSystem(FileSystem fs, AlluxioFuseOptions opts, AlluxioConfiguration conf); }
AlluxioFuseFileSystem extends FuseStubFS { @Override public int getattr(String path, FileStat stat) { return AlluxioFuseUtils.call( LOG, () -> getattrInternal(path, stat), "getattr", "path=%s", path); } AlluxioFuseFileSystem(FileSystem fs, AlluxioFuseOptions opts, AlluxioConfiguration conf); @Override int chmod(String path, @mode_t long mode); @Override int chown(String path, @uid_t long uid, @gid_t long gid); @Override int create(String path, @mode_t long mode, FuseFileInfo fi); @Override int flush(String path, FuseFileInfo fi); @Override int getattr(String path, FileStat stat); @Override String getFSName(); @Override int mkdir(String path, @mode_t long mode); @Override int open(String path, FuseFileInfo fi); @Override int read(String path, Pointer buf, @size_t long size, @off_t long offset,
      FuseFileInfo fi); @Override int readdir(String path, Pointer buff, FuseFillDir filter,
      @off_t long offset, FuseFileInfo fi); @Override int release(String path, FuseFileInfo fi); @Override int rename(String oldPath, String newPath); @Override int rmdir(String path); @Override int statfs(String path, Statvfs stbuf); @Override int truncate(String path, long size); @Override int unlink(String path); @Override int utimens(String path, Timespec[] timespec); @Override int write(String path, Pointer buf, @size_t long size, @off_t long offset,
                   FuseFileInfo fi); }
AlluxioFuseFileSystem extends FuseStubFS { @Override public int getattr(String path, FileStat stat) { return AlluxioFuseUtils.call( LOG, () -> getattrInternal(path, stat), "getattr", "path=%s", path); } AlluxioFuseFileSystem(FileSystem fs, AlluxioFuseOptions opts, AlluxioConfiguration conf); @Override int chmod(String path, @mode_t long mode); @Override int chown(String path, @uid_t long uid, @gid_t long gid); @Override int create(String path, @mode_t long mode, FuseFileInfo fi); @Override int flush(String path, FuseFileInfo fi); @Override int getattr(String path, FileStat stat); @Override String getFSName(); @Override int mkdir(String path, @mode_t long mode); @Override int open(String path, FuseFileInfo fi); @Override int read(String path, Pointer buf, @size_t long size, @off_t long offset,
      FuseFileInfo fi); @Override int readdir(String path, Pointer buff, FuseFillDir filter,
      @off_t long offset, FuseFileInfo fi); @Override int release(String path, FuseFileInfo fi); @Override int rename(String oldPath, String newPath); @Override int rmdir(String path); @Override int statfs(String path, Statvfs stbuf); @Override int truncate(String path, long size); @Override int unlink(String path); @Override int utimens(String path, Timespec[] timespec); @Override int write(String path, Pointer buf, @size_t long size, @off_t long offset,
                   FuseFileInfo fi); @VisibleForTesting
  static final int UNKNOWN_INODES; @VisibleForTesting
  static final int MAX_NAME_LENGTH; @VisibleForTesting
  static final long ID_NOT_SET_VALUE; @VisibleForTesting
  static final long ID_NOT_SET_VALUE_UNSIGNED; }