Repository: incubator-ignite Updated Branches: refs/heads/ignite-gg-9961 fd0747eb2 -> 0edd4ab7f
[GG-9961]: passing user name value through the properties, exception Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/54104319 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/54104319 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/54104319 Branch: refs/heads/ignite-gg-9961 Commit: 541043190acecb6f06a96c2296bef0089e7a57d3 Parents: fd0747e Author: iveselovskiy <iveselovs...@gridgain.com> Authored: Tue Mar 24 13:02:46 2015 +0300 Committer: iveselovskiy <iveselovs...@gridgain.com> Committed: Tue Mar 24 13:02:46 2015 +0300 ---------------------------------------------------------------------- .../apache/ignite/internal/processors/igfs/IgfsEx.java | 3 +++ .../internal/visor/node/VisorIgfsConfiguration.java | 11 +++++++++++ .../hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java | 10 +++++++--- .../ignite/hadoop/fs/v1/IgniteHadoopFileSystem.java | 5 +++-- .../ignite/hadoop/fs/v2/IgniteHadoopFileSystem.java | 4 +++- .../processors/hadoop/SecondaryFileSystemProvider.java | 13 ++++++++++--- 6 files changed, 37 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/54104319/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsEx.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsEx.java index 0c5debd..99f647e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsEx.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsEx.java @@ -48,6 +48,9 @@ public interface IgfsEx extends IgniteFileSystem { /** Property name for URI of file system. */ public static final String SECONDARY_FS_URI = "SECONDARY_FS_URI"; + /** Property name for user name of file system. */ + public static final String SECONDARY_FS_USER_NAME = "SECONDARY_FS_USER_NAME"; + /** * Stops IGFS cleaning all used resources. */ http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/54104319/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorIgfsConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorIgfsConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorIgfsConfiguration.java index a1e3c52..d0b0124 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorIgfsConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorIgfsConfiguration.java @@ -66,6 +66,9 @@ public class VisorIgfsConfiguration implements Serializable { /** Path for the secondary hadoop file system config. */ private String secondaryHadoopFileSysCfgPath; + /** User name for the secondary hadoop file system config. */ + private String secondaryHadoopFileSysUserName; + /** IGFS instance mode. */ private IgfsMode dfltMode; @@ -140,6 +143,7 @@ public class VisorIgfsConfiguration implements Serializable { cfg.secondaryHadoopFileSysUri = props.get(SECONDARY_FS_URI); cfg.secondaryHadoopFileSysCfgPath = props.get(SECONDARY_FS_CONFIG_PATH); + cfg.secondaryHadoopFileSysUserName = props.get(SECONDARY_FS_USER_NAME); } cfg.dfltMode = igfs.getDefaultMode(); @@ -249,6 +253,13 @@ public class VisorIgfsConfiguration implements Serializable { } /** + * @return User name of the secondary Hadoop file system. + */ + @Nullable public String secondaryHadoopFileSystemUserName() { + return secondaryHadoopFileSysUserName; + } + + /** * @return Path for the secondary hadoop file system config. */ @Nullable public String secondaryHadoopFileSystemConfigPath() { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/54104319/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java ---------------------------------------------------------------------- diff --git a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java index a00e1eb..afe67f7 100644 --- a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java +++ b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/IgniteHadoopIgfsSecondaryFileSystem.java @@ -68,9 +68,10 @@ public class IgniteHadoopIgfsSecondaryFileSystem implements IgfsSecondaryFileSys * @param cfgPath Additional path to Hadoop configuration. * @throws IgniteCheckedException In case of error. */ - public IgniteHadoopIgfsSecondaryFileSystem(@Nullable String uri, @Nullable String cfgPath, @Nullable String userName) + public IgniteHadoopIgfsSecondaryFileSystem(@Nullable String uri, @Nullable String cfgPath, + @Nullable String userName) throws IgniteCheckedException { - // Treat empty uri argument as null to improve configuration usability: + // Treat empty uri and userName arguments as nulls to improve configuration usability: if (F.isEmpty(uri)) uri = null; @@ -90,9 +91,12 @@ public class IgniteHadoopIgfsSecondaryFileSystem implements IgfsSecondaryFileSys if (cfgPath != null) props.put(SECONDARY_FS_CONFIG_PATH, cfgPath); + if (userName != null) + props.put(SECONDARY_FS_USER_NAME, userName); + props.put(SECONDARY_FS_URI, uri); } - catch (IOException | InterruptedException e) { + catch (IOException e) { throw new IgniteCheckedException(e); } } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/54104319/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v1/IgniteHadoopFileSystem.java ---------------------------------------------------------------------- diff --git a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v1/IgniteHadoopFileSystem.java b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v1/IgniteHadoopFileSystem.java index 566b16a..06de60f 100644 --- a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v1/IgniteHadoopFileSystem.java +++ b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v1/IgniteHadoopFileSystem.java @@ -289,14 +289,15 @@ public class IgniteHadoopFileSystem extends FileSystem { String secUri = props.get(SECONDARY_FS_URI); String secConfPath = props.get(SECONDARY_FS_CONFIG_PATH); + String secUserName = props.get(SECONDARY_FS_USER_NAME); try { - SecondaryFileSystemProvider secProvider = new SecondaryFileSystemProvider(secUri, secConfPath, null); + SecondaryFileSystemProvider secProvider = new SecondaryFileSystemProvider(secUri, secConfPath, secUserName); secondaryFs = secProvider.createFileSystem(); secondaryUri = secProvider.uri(); } - catch (IOException | InterruptedException e) { + catch (IOException e) { if (!mgmt) throw new IOException("Failed to connect to the secondary file system: " + secUri, e); else http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/54104319/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v2/IgniteHadoopFileSystem.java ---------------------------------------------------------------------- diff --git a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v2/IgniteHadoopFileSystem.java b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v2/IgniteHadoopFileSystem.java index cfd4683..9cfb79b 100644 --- a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v2/IgniteHadoopFileSystem.java +++ b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v2/IgniteHadoopFileSystem.java @@ -284,9 +284,11 @@ public class IgniteHadoopFileSystem extends AbstractFileSystem implements Closea String secUri = props.get(SECONDARY_FS_URI); String secConfPath = props.get(SECONDARY_FS_CONFIG_PATH); + String secUserName = props.get(SECONDARY_FS_USER_NAME); try { - SecondaryFileSystemProvider secProvider = new SecondaryFileSystemProvider(secUri, secConfPath, null); + SecondaryFileSystemProvider secProvider = new SecondaryFileSystemProvider(secUri, secConfPath, + secUserName); secondaryFs = secProvider.createAbstractFileSystem(); secondaryUri = secProvider.uri(); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/54104319/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/SecondaryFileSystemProvider.java ---------------------------------------------------------------------- diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/SecondaryFileSystemProvider.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/SecondaryFileSystemProvider.java index 38dab0c..52dcc05 100644 --- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/SecondaryFileSystemProvider.java +++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/SecondaryFileSystemProvider.java @@ -91,13 +91,20 @@ public class SecondaryFileSystemProvider { * @return {@link org.apache.hadoop.fs.FileSystem} instance for this secondary Fs. * @throws IOException */ - public FileSystem createFileSystem() throws IOException, InterruptedException { + public FileSystem createFileSystem() throws IOException { final FileSystem fileSys; if (userName == null) fileSys = FileSystem.get(uri, cfg); - else - fileSys = FileSystem.get(uri, cfg, userName); + else { + try { + fileSys = FileSystem.get(uri, cfg, userName); + } + catch (InterruptedException ie) { + Thread.currentThread().interrupt(); + throw new IOException(ie); + } + } return fileSys; }