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 da...@apache.org on 2019/10/02 00:41:28 UTC
[hadoop] branch trunk updated: HADOOP-16578 : Avoid FileSystem API
calls when FileSystem already exists
This is an automated email from the ASF dual-hosted git repository.
dazhou pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push:
new 770adc5 HADOOP-16578 : Avoid FileSystem API calls when FileSystem already exists
770adc5 is described below
commit 770adc5d4abd71c58812066cf691fc565efea64c
Author: Sneha Vijayarajan <sn...@gmail.com>
AuthorDate: Tue Oct 1 17:38:11 2019 -0700
HADOOP-16578 : Avoid FileSystem API calls when FileSystem already exists
---
.../java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystem.java | 3 ++-
.../org/apache/hadoop/fs/azurebfs/ITestGetNameSpaceEnabled.java | 6 ++++--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystem.java b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystem.java
index 2a4e76b..c6640c4 100644
--- a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystem.java
+++ b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystem.java
@@ -56,6 +56,7 @@ import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.PathIOException;
+import org.apache.hadoop.fs.azurebfs.constants.AbfsHttpConstants;
import org.apache.hadoop.fs.azurebfs.constants.FileSystemConfigurations;
import org.apache.hadoop.fs.azurebfs.constants.FileSystemUriSchemes;
import org.apache.hadoop.fs.azurebfs.contracts.exceptions.AbfsRestOperationException;
@@ -111,7 +112,7 @@ public class AzureBlobFileSystem extends FileSystem {
this.setWorkingDirectory(this.getHomeDirectory());
if (abfsConfiguration.getCreateRemoteFileSystemDuringInitialization()) {
- if (!this.fileSystemExists()) {
+ if (this.tryGetFileStatus(new Path(AbfsHttpConstants.ROOT_PATH)) == null) {
try {
this.createFileSystem();
} catch (AzureBlobFileSystemException ex) {
diff --git a/hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azurebfs/ITestGetNameSpaceEnabled.java b/hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azurebfs/ITestGetNameSpaceEnabled.java
index b9a2315..74c8803 100644
--- a/hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azurebfs/ITestGetNameSpaceEnabled.java
+++ b/hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azurebfs/ITestGetNameSpaceEnabled.java
@@ -17,6 +17,7 @@
*/
package org.apache.hadoop.fs.azurebfs;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.UUID;
@@ -24,6 +25,7 @@ import org.junit.Assume;
import org.junit.Test;
import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.azurebfs.contracts.exceptions.AbfsRestOperationException;
import org.apache.hadoop.fs.azurebfs.services.AuthType;
@@ -67,10 +69,10 @@ public class ITestGetNameSpaceEnabled extends AbstractAbfsIntegrationTest {
+ testUri.substring(testUri.indexOf("@"));
AzureBlobFileSystem fs = this.getFileSystem(nonExistingFsUrl);
- intercept(AbfsRestOperationException.class,
+ intercept(FileNotFoundException.class,
"\"The specified filesystem does not exist.\", 404",
()-> {
- fs.getIsNamespaceEnabled();
+ fs.getFileStatus(new Path("/")); // Run a dummy FS call
});
}
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org