void renameTo(final String src, final String dst, boolean logRetryCache, Options.Rename... options) throws IOException { final String operationName = "rename"; FSDirRenameOp.RenameResult res = null; checkOperation(OperationCategory.WRITE); final FSPermissionChecker pc = getPermissionChecker(); writeLock(); try { checkOperation(OperationCategory.WRITE); checkNameNodeSafeMode("Cannot rename " + src); res = FSDirRenameOp.renameToInt(dir, pc, src, dst, logRetryCache, options); } catch (AccessControlException e) { logAuditEvent(false, operationName + " (options=" + Arrays.toString(options) + ")", src, dst, null); throw e; } finally { writeUnlock(operationName); } getEditLog().logSync(); BlocksMapUpdateInfo collectedBlocks = res.collectedBlocks; if (!collectedBlocks.getToDeleteList().isEmpty()) { removeBlocks(collectedBlocks); collectedBlocks.clear(); } logAuditEvent(true, operationName + " (options=" + Arrays.toString(options) + ")", src, dst, res.auditStat); }
/** * Change the indicated filename. * @deprecated Use {@link #renameTo(String, String, boolean, * Options.Rename...)} instead. */ @Deprecated boolean renameTo(String src, String dst, boolean logRetryCache) throws IOException { final String operationName = "rename"; FSDirRenameOp.RenameResult ret = null; checkOperation(OperationCategory.WRITE); final FSPermissionChecker pc = getPermissionChecker(); writeLock(); try { checkOperation(OperationCategory.WRITE); checkNameNodeSafeMode("Cannot rename " + src); ret = FSDirRenameOp.renameToInt(dir, pc, src, dst, logRetryCache); } catch (AccessControlException e) { logAuditEvent(false, operationName, src, dst, null); throw e; } finally { writeUnlock(operationName); } boolean success = ret.success; if (success) { getEditLog().logSync(); logAuditEvent(success, operationName, src, dst, ret.auditStat); } return success; }
void renameTo(final String src, final String dst, boolean logRetryCache, Options.Rename... options) throws IOException { final String operationName = "rename"; waitForLoadingFSImage(); Map.Entry<BlocksMapUpdateInfo, HdfsFileStatus> res = null; writeLock(); try { checkOperation(OperationCategory.WRITE); checkNameNodeSafeMode("Cannot rename " + src); res = FSDirRenameOp.renameToInt(dir, src, dst, logRetryCache, options); } catch (AccessControlException e) { logAuditEvent(false, operationName + " (options=" + Arrays.toString(options) + ")", src, dst, null); throw e; } finally { writeUnlock(operationName); } getEditLog().logSync(); BlocksMapUpdateInfo collectedBlocks = res.getKey(); HdfsFileStatus auditStat = res.getValue(); if (!collectedBlocks.getToDeleteList().isEmpty()) { removeBlocks(collectedBlocks); collectedBlocks.clear(); } logAuditEvent(true, operationName + " (options=" + Arrays.toString(options) + ")", src, dst, auditStat); }
void renameTo(final String src, final String dst, boolean logRetryCache, Options.Rename... options) throws IOException { final String operationName = "rename"; waitForLoadingFSImage(); Map.Entry<BlocksMapUpdateInfo, HdfsFileStatus> res = null; writeLock(); try { checkOperation(OperationCategory.WRITE); checkNameNodeSafeMode("Cannot rename " + src); res = FSDirRenameOp.renameToInt(dir, src, dst, logRetryCache, options); } catch (AccessControlException e) { logAuditEvent(false, operationName + " (options=" + Arrays.toString(options) + ")", src, dst, null); throw e; } finally { writeUnlock(operationName); } getEditLog().logSync(); BlocksMapUpdateInfo collectedBlocks = res.getKey(); HdfsFileStatus auditStat = res.getValue(); if (!collectedBlocks.getToDeleteList().isEmpty()) { removeBlocks(collectedBlocks); collectedBlocks.clear(); } logAuditEvent(true, operationName + " (options=" + Arrays.toString(options) + ")", src, dst, auditStat); }
/** * Change the indicated filename. * @deprecated Use {@link #renameTo(String, String, boolean, * Options.Rename...)} instead. */ @Deprecated boolean renameTo(String src, String dst, boolean logRetryCache) throws IOException { final String operationName = "rename"; waitForLoadingFSImage(); FSDirRenameOp.RenameOldResult ret = null; writeLock(); try { checkOperation(OperationCategory.WRITE); checkNameNodeSafeMode("Cannot rename " + src); ret = FSDirRenameOp.renameToInt(dir, src, dst, logRetryCache); } catch (AccessControlException e) { logAuditEvent(false, operationName, src, dst, null); throw e; } finally { writeUnlock(operationName); } boolean success = ret != null && ret.success; if (success) { getEditLog().logSync(); } logAuditEvent(success, "rename", src, dst, ret == null ? null : ret.auditStat); return success; }
/** * Change the indicated filename. * @deprecated Use {@link #renameTo(String, String, boolean, * Options.Rename...)} instead. */ @Deprecated boolean renameTo(String src, String dst, boolean logRetryCache) throws IOException { final String operationName = "rename"; waitForLoadingFSImage(); FSDirRenameOp.RenameOldResult ret = null; writeLock(); try { checkOperation(OperationCategory.WRITE); checkNameNodeSafeMode("Cannot rename " + src); ret = FSDirRenameOp.renameToInt(dir, src, dst, logRetryCache); } catch (AccessControlException e) { logAuditEvent(false, operationName, src, dst, null); throw e; } finally { writeUnlock(operationName); } boolean success = ret != null && ret.success; if (success) { getEditLog().logSync(); } logAuditEvent(success, "rename", src, dst, ret == null ? null : ret.auditStat); return success; }