private Map<AlluxioURI, UfsStatus> populateStatusCache(AlluxioURI path, DescendantType syncDescendantType) { Map<AlluxioURI, UfsStatus> statusCache = new HashMap<>(); try { MountTable.Resolution resolution = mMountTable.resolve(path); AlluxioURI ufsUri = resolution.getUri(); try (CloseableResource<UnderFileSystem> ufsResource = resolution.acquireUfsResource()) { UnderFileSystem ufs = ufsResource.get(); ListOptions listOptions = ListOptions.defaults(); // statusCache stores uri to ufsstatus mapping that is used to construct fingerprint listOptions.setRecursive(syncDescendantType == DescendantType.ALL); try { UfsStatus[] children = ufs.listStatus(ufsUri.toString(), listOptions); if (children != null) { for (UfsStatus childStatus : children) { statusCache.put(path.joinUnsafe(childStatus.getName()), childStatus); } } } catch (Exception e) { LOG.debug("ListStatus failed as an preparation step for syncMetadata {}", path, e); } return statusCache; } } catch (InvalidPathException e) { return statusCache; } }
ufs.listStatus(ufsUri.toString(), ListOptions.defaults().setRecursive(true));
/** * Tests getting and setting fields. */ @Test public void fields() { ListOptions options = ListOptions.defaults(); boolean recursive = false; options.setRecursive(recursive); Assert.assertEquals(recursive, options.isRecursive()); recursive = true; options.setRecursive(recursive); Assert.assertEquals(recursive, options.isRecursive()); }
UfsStatus[] pathsToDelete = listInternal(path, ListOptions.defaults().setRecursive(true)); if (pathsToDelete == null) { LOG.warn("Unable to delete {} because listInternal returns null", path);
String file = PathUtils.concatPath(root, "file"); assertNull(mUfs.listStatus(sub1, ListOptions.defaults().setRecursive(true))); {"sub1", "sub2", "sub1/sub11", "sub1/sub11/file11", "sub2/file2", "file"}; UfsStatus[] actualResRootStatus = mUfs.listStatus(root, ListOptions.defaults().setRecursive(true)); String[] actualResRoot = UfsStatus.convertToNames(actualResRootStatus); Arrays.sort(expectedResRoot); UfsStatus.convertToNames(mUfs.listStatus(sub1, ListOptions.defaults().setRecursive(true))); Arrays.sort(expectedResSub1); Arrays.sort(actualResSub1); assertNull(mUfs.listStatus(file, ListOptions.defaults().setRecursive(true)));
ListOptions listOptions = ListOptions.defaults(); if (context.getOptions().getLoadDescendantType() == LoadDescendantPType.ALL) { listOptions.setRecursive(true); } else { listOptions.setRecursive(false);
mUfs.listStatus(baseDirectoryPath, ListOptions.defaults().setRecursive(true)); String[] fileNames = config.getFileNames(); String[] subDirNames = config.getSubDirectoryNames();
ufs.listStatus(ufsUri.toString(), ListOptions.defaults().setRecursive(true));
UfsStatus[] pathsToDelete = listInternal(path, ListOptions.defaults().setRecursive(true)); if (pathsToDelete == null) { LOG.warn("Unable to delete {} because listInternal returns null", path);
ListOptions listOptions = ListOptions.defaults(); if (options.getLoadDescendantType() == DescendantType.ALL) { listOptions.setRecursive(true); } else { listOptions.setRecursive(false);