|
@@ -84,6 +84,7 @@ import com.microsoft.azure.storage.StorageException;
|
|
|
@InterfaceStability.Stable
|
|
|
public class NativeAzureFileSystem extends FileSystem {
|
|
|
private static final int USER_WX_PERMISION = 0300;
|
|
|
+ private static final String USER_HOME_DIR_PREFIX_DEFAULT = "/user";
|
|
|
/**
|
|
|
* A description of a folder rename operation, including the source and
|
|
|
* destination keys, and descriptions of the files in the source folder.
|
|
@@ -1129,6 +1130,8 @@ public class NativeAzureFileSystem extends FileSystem {
|
|
|
*/
|
|
|
private WasbAuthorizerInterface authorizer = null;
|
|
|
|
|
|
+ private UserGroupInformation ugi;
|
|
|
+
|
|
|
private String delegationToken = null;
|
|
|
|
|
|
public NativeAzureFileSystem() {
|
|
@@ -1247,6 +1250,7 @@ public class NativeAzureFileSystem extends FileSystem {
|
|
|
|
|
|
store.initialize(uri, conf, instrumentation);
|
|
|
setConf(conf);
|
|
|
+ this.ugi = UserGroupInformation.getCurrentUser();
|
|
|
this.uri = URI.create(uri.getScheme() + "://" + uri.getAuthority());
|
|
|
this.workingDir = new Path("/user", UserGroupInformation.getCurrentUser()
|
|
|
.getShortUserName()).makeQualified(getUri(), getWorkingDirectory());
|
|
@@ -1276,6 +1280,12 @@ public class NativeAzureFileSystem extends FileSystem {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Path getHomeDirectory() {
|
|
|
+ return makeQualified(new Path(
|
|
|
+ USER_HOME_DIR_PREFIX_DEFAULT + "/" + this.ugi.getShortUserName()));
|
|
|
+ }
|
|
|
+
|
|
|
@VisibleForTesting
|
|
|
public void updateWasbAuthorizer(WasbAuthorizerInterface authorizer) {
|
|
|
this.authorizer = authorizer;
|