@Override public boolean mkdirs(String path) throws IOException { return mkdirs(path, MkdirsOptions.defaults(mUfsConf)); }
/** * Prepares journal writer to upgrade journals from v0 to v1. */ private void prepare() throws IOException { alluxio.master.journalv0.JournalWriter journalWriterV0 = mJournalV0.getWriter(); journalWriterV0.recover(); journalWriterV0.completeLogs(); journalWriterV0.close(); if (!mJournalV1.isFormatted()) { LOG.info("Starting to format journal {}.", mJournalV1.getLocation()); mJournalV1.format(); LOG.info("Finished formatting journal {}.", mJournalV1.getLocation()); } if (!mUfs.exists(mCheckpointsV1.toString())) { mUfs.mkdirs(mCheckpointsV1.toString(), MkdirsOptions.defaults(mAlluxioConf) .setCreateParent(true)); } if (!mUfs.exists(mLogsV1.toString())) { mUfs.mkdirs(mLogsV1.toString(), MkdirsOptions.defaults(mAlluxioConf).setCreateParent(true)); } }
if (!ufs.mkdirs(dir, MkdirsOptions.defaults(ServerConfiguration.global()) .setCreateParent(true))) { throw new IOException(String.format("Failed to create directory %s", dir));
UnderFileSystem ufs = ufsResource.get(); MkdirsOptions mkdirsOptions = MkdirsOptions.defaults(ServerConfiguration.global()).setCreateParent(false) .setOwner(dir.getOwner()).setGroup(dir.getGroup()).setMode(new Mode(dir.getMode())); if (!ufs.mkdirs(ufsUri, mkdirsOptions)) {
private LargeDirectoryConfig prepareLargeDirectoryTest() throws IOException { final String filePrefix = "a_"; final String folderPrefix = "b_"; String topLevelDirectory = PathUtils.concatPath(mUnderfsAddress, "topLevelDir"); final int numFiles = 100; String[] children = new String[numFiles + numFiles]; // Make top level directory mUfs.mkdirs(topLevelDirectory, MkdirsOptions.defaults(mConfiguration).setCreateParent(false)); // Make the children files for (int i = 0; i < numFiles; ++i) { children[i] = PathUtils.concatPath(topLevelDirectory, filePrefix + String.format("%04d", i)); createEmptyFile(children[i]); } // Make the children folders for (int i = 0; i < numFiles; ++i) { children[numFiles + i] = PathUtils.concatPath(topLevelDirectory, folderPrefix + String.format("%04d", i)); mUfs.mkdirs(children[numFiles + i], MkdirsOptions.defaults(mConfiguration) .setCreateParent(false)); } return new LargeDirectoryConfig(topLevelDirectory, children); }
@Before public final void before() throws Exception { mUnderfsAddress = PathUtils.concatPath(getUfsBaseDir(), UUID.randomUUID()); mUfs = createUfs(mUnderfsAddress, UnderFileSystemConfiguration.defaults()); mUfs.mkdirs(mUnderfsAddress, MkdirsOptions.defaults(mConfiguration).setCreateParent(true)); }
MkdirsOptions.defaults(ServerConfiguration.global()).setCreateParent(false) .setOwner(curDirStatus.getOwner()) .setGroup(curDirStatus.getGroup())
String testDirNonEmptyChildDirFile = PathUtils.concatPath(testDirNonEmptyChildDir, "testDirNonEmptyChildDirF"); mUfs.mkdirs(testDirNonEmpty, MkdirsOptions.defaults(mConfiguration).setCreateParent(false)); mUfs.mkdirs(testDirNonEmptyChildDir, MkdirsOptions.defaults(mConfiguration) .setCreateParent(false)); createEmptyFile(testDirNonEmptyChildFile);
URIStatus curDirStatus = mFileSystem.getStatus(curAlluxioPath); ufsDirsToMakeWithOptions.push(new Pair<>(curUfsPath.toString(), MkdirsOptions.defaults(ServerConfiguration.global()).setCreateParent(false) .setOwner(curDirStatus.getOwner()) .setGroup(curDirStatus.getGroup())
/** * Tests getting and setting fields. */ @Test public void fields() { Random random = new Random(); boolean createParent = random.nextBoolean(); String owner = CommonUtils.randomAlphaNumString(10); String group = CommonUtils.randomAlphaNumString(10); Mode mode = new Mode((short) random.nextInt()); MkdirsOptions options = MkdirsOptions.defaults(mConfiguration); options.setCreateParent(createParent); options.setOwner(owner); options.setGroup(group); options.setMode(mode); assertEquals(createParent, options.getCreateParent()); assertEquals(owner, options.getOwner()); assertEquals(group, options.getGroup()); assertEquals(mode, options.getMode()); }
@Test public void isFile() throws IOException { String testFile = PathUtils.concatPath(mUnderfsAddress, "testFile"); String testDir = PathUtils.concatPath(mUnderfsAddress, "testDir"); assertFalse(mUfs.isFile(testFile)); createEmptyFile(testFile); mUfs.mkdirs(testDir, MkdirsOptions.defaults(mConfiguration).setCreateParent(false)); assertTrue(mUfs.isFile(testFile)); assertFalse(mUfs.isFile(testDir)); }
/** * Tests for default {@link MkdirsOptions}. */ @Test public void defaults() throws IOException { MkdirsOptions options = MkdirsOptions.defaults(mConfiguration); // Verify the default createParent is true. assertTrue(options.getCreateParent()); // Verify that the owner and group are not set. assertNull(options.getOwner()); assertNull(options.getGroup()); String umask = mConfiguration.get(PropertyKey.SECURITY_AUTHORIZATION_PERMISSION_UMASK); assertEquals(ModeUtils.applyDirectoryUMask(Mode.defaults(), umask), options.getMode()); }
@Test public void mkdirs() throws IOException { // make sure the underfs address dir exists already mUfs.mkdirs(mUnderfsAddress); // empty lsr should be empty assertEquals(0, mUfs.listStatus(mUnderfsAddress).length); String testDirTop = PathUtils.concatPath(mUnderfsAddress, "testDirTop"); String testDir1 = PathUtils.concatPath(mUnderfsAddress, "1"); String testDir2 = PathUtils.concatPath(testDir1, "2"); String testDir3 = PathUtils.concatPath(testDir2, "3"); String testDirDeep = PathUtils.concatPath(testDir3, "testDirDeep"); mUfs.mkdirs(testDirTop, MkdirsOptions.defaults(mConfiguration).setCreateParent(false)); assertTrue(mUfs.isDirectory(testDirTop)); mUfs.mkdirs(testDirDeep, MkdirsOptions.defaults(mConfiguration).setCreateParent(true)); assertTrue(mUfs.isDirectory(testDir1)); assertTrue(mUfs.isDirectory(testDir2)); assertTrue(mUfs.isDirectory(testDir3)); assertTrue(mUfs.isDirectory(testDirDeep)); }
@Test public void exists() throws IOException { String testFile = PathUtils.concatPath(mUnderfsAddress, "testFile"); assertFalse(mUfs.isFile(testFile)); createEmptyFile(testFile); assertTrue(mUfs.isFile(testFile)); String testDir = PathUtils.concatPath(mUnderfsAddress, "testDir"); assertFalse(mUfs.isDirectory(testDir)); mUfs.mkdirs(testDir, MkdirsOptions.defaults(mConfiguration).setCreateParent(false)); assertTrue(mUfs.isDirectory(testDir)); }
/** * Tests for building an {@link MkdirsOptions} with a security enabled * configuration. */ @Test public void securityEnabled() throws IOException { InstancedConfiguration conf = new InstancedConfiguration(ConfigurationUtils.defaults()); conf.set(PropertyKey.SECURITY_AUTHENTICATION_TYPE, AuthType.SIMPLE.getAuthName()); conf.set(PropertyKey.SECURITY_LOGIN_USERNAME, "foo"); // Use IdentityUserGroupMapping to map user "foo" to group "foo". conf.set(PropertyKey.SECURITY_GROUP_MAPPING_CLASS, IdentityUserGroupsMapping.class.getName()); MkdirsOptions options = MkdirsOptions.defaults(mConfiguration); // Verify the default createParent is true. assertTrue(options.getCreateParent()); // Verify that the owner and group are not set. assertNull(options.getOwner()); assertNull(options.getGroup()); String umask = mConfiguration.get(PropertyKey.SECURITY_AUTHORIZATION_PERMISSION_UMASK); assertEquals(ModeUtils.applyDirectoryUMask(Mode.defaults(), umask), options.getMode()); }
@Test public void deleteDir() throws IOException { String testDirEmpty = PathUtils.concatPath(mUnderfsAddress, "testDirEmpty"); String testDirNonEmpty = PathUtils.concatPath(mUnderfsAddress, "testDirNonEmpty1"); String testDirNonEmptyChildDir = PathUtils.concatPath(testDirNonEmpty, "testDirNonEmpty2"); String testDirNonEmptyChildFile = PathUtils.concatPath(testDirNonEmpty, "testDirNonEmptyF"); String testDirNonEmptyChildDirFile = PathUtils.concatPath(testDirNonEmptyChildDir, "testDirNonEmptyChildDirF"); mUfs.mkdirs(testDirEmpty, MkdirsOptions.defaults(mConfiguration).setCreateParent(false)); mUfs.mkdirs(testDirNonEmpty, MkdirsOptions.defaults(mConfiguration).setCreateParent(false)); mUfs.mkdirs(testDirNonEmptyChildDir, MkdirsOptions.defaults(mConfiguration) .setCreateParent(false)); createEmptyFile(testDirNonEmptyChildFile); createEmptyFile(testDirNonEmptyChildDirFile); mUfs.deleteDirectory(testDirEmpty, DeleteOptions.defaults().setRecursive(false)); assertFalse(mUfs.isDirectory(testDirEmpty)); try { mUfs.deleteDirectory(testDirNonEmpty, DeleteOptions.defaults().setRecursive(false)); } catch (IOException e) { // Some File systems may throw IOException } assertTrue(mUfs.isDirectory(testDirNonEmpty)); mUfs.deleteDirectory(testDirNonEmpty, DeleteOptions.defaults().setRecursive(true)); assertFalse(mUfs.isDirectory(testDirNonEmpty)); assertFalse(mUfs.isDirectory(testDirNonEmptyChildDir)); assertFalse(mUfs.isFile(testDirNonEmptyChildFile)); assertFalse(mUfs.isFile(testDirNonEmptyChildDirFile)); }
@Test public void renameDirectory() throws IOException { String testDirSrc = PathUtils.concatPath(mUnderfsAddress, "renameDirectorySrc"); String testDirSrcChild = PathUtils.concatPath(testDirSrc, "testFile"); String testDirDst = PathUtils.concatPath(mUnderfsAddress, "renameDirectoryDst"); String testDirDstChild = PathUtils.concatPath(testDirDst, "testFile"); mUfs.mkdirs(testDirSrc, MkdirsOptions.defaults(mConfiguration).setCreateParent(false)); createEmptyFile(testDirSrcChild); mUfs.renameDirectory(testDirSrc, testDirDst); assertFalse(mUfs.isDirectory(testDirSrc)); assertFalse(mUfs.isFile(testDirSrcChild)); assertTrue(mUfs.isDirectory(testDirDst)); assertTrue(mUfs.isFile(testDirDstChild)); }
@Test public void renameDirectoryDeep() throws IOException { String testDirSrc = PathUtils.concatPath(mUnderfsAddress, "renameDirectoryDeepSrc"); String testDirSrcChild = PathUtils.concatPath(testDirSrc, "testFile"); String testDirSrcNested = PathUtils.concatPath(testDirSrc, "testNested"); String testDirSrcNestedChild = PathUtils.concatPath(testDirSrcNested, "testNestedFile"); String testDirDst = PathUtils.concatPath(mUnderfsAddress, "renameDirectoryDeepDst"); String testDirDstChild = PathUtils.concatPath(testDirDst, "testFile"); String testDirDstNested = PathUtils.concatPath(testDirDst, "testNested"); String testDirDstNestedChild = PathUtils.concatPath(testDirDstNested, "testNestedFile"); mUfs.mkdirs(testDirSrc, MkdirsOptions.defaults(mConfiguration).setCreateParent(false)); createEmptyFile(testDirSrcChild); mUfs.mkdirs(testDirSrcNested, MkdirsOptions.defaults(mConfiguration).setCreateParent(false)); createEmptyFile(testDirSrcNestedChild); mUfs.renameDirectory(testDirSrc, testDirDst); assertFalse(mUfs.isDirectory(testDirSrc)); assertFalse(mUfs.isFile(testDirSrcChild)); assertFalse(mUfs.isDirectory(testDirSrcNested)); assertFalse(mUfs.isFile(testDirSrcNestedChild)); assertTrue(mUfs.isDirectory(testDirDst)); assertTrue(mUfs.isFile(testDirDstChild)); assertTrue(mUfs.isDirectory(testDirDstNested)); assertTrue(mUfs.isFile(testDirDstNestedChild)); }