You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by vv...@apache.org on 2017/03/08 10:47:49 UTC
[22/50] [abbrv] hadoop git commit: HADOOP-14048. REDO operation of
WASB#AtomicRename should create placeholder blob for destination folder.
Contributed by NITIN VERMA
HADOOP-14048. REDO operation of WASB#AtomicRename should create placeholder blob for destination folder. Contributed by NITIN VERMA
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/c571cda5
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/c571cda5
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/c571cda5
Branch: refs/heads/YARN-3926
Commit: c571cda5c7d929477961dfff4176d7de4944d874
Parents: b5adc5c
Author: Mingliang Liu <li...@apache.org>
Authored: Mon Mar 6 16:53:30 2017 -0800
Committer: Mingliang Liu <li...@apache.org>
Committed: Mon Mar 6 17:00:13 2017 -0800
----------------------------------------------------------------------
.../org/apache/hadoop/fs/azure/NativeAzureFileSystem.java | 10 ++++++++++
1 file changed, 10 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/c571cda5/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java
----------------------------------------------------------------------
diff --git a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java
index 0dfefaf..b1956a7 100644
--- a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java
+++ b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java
@@ -566,6 +566,16 @@ public class NativeAzureFileSystem extends FileSystem {
// Remove the source folder. Don't check explicitly if it exists,
// to avoid triggering redo recursively.
try {
+ // Rename the source folder 0-byte root file
+ // as destination folder 0-byte root file.
+ FileMetadata srcMetaData = this.getSourceMetadata();
+ if (srcMetaData.getBlobMaterialization() == BlobMaterialization.Explicit) {
+ // We already have a lease. So let's just rename the source blob
+ // as destination blob under same lease.
+ fs.getStoreInterface().rename(this.getSrcKey(), this.getDstKey(), false, lease);
+ }
+
+ // Now we can safely delete the source folder.
fs.getStoreInterface().delete(srcKey, lease);
} catch (Exception e) {
LOG.info("Unable to delete source folder during folder rename redo. "
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org