IGNITE-3856: IGFS: Support direct PROXY mode invocation in method: mkdirs. This closes #1047.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/cc595021 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/cc595021 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/cc595021 Branch: refs/heads/ignite-3199-1 Commit: cc595021491a79d6ccf343a156d6e21389b68ff8 Parents: b3bdca7 Author: tledkov-gridgain <[email protected]> Authored: Thu Sep 8 15:15:22 2016 +0300 Committer: vozerov-gridgain <[email protected]> Committed: Thu Sep 8 15:15:22 2016 +0300 ---------------------------------------------------------------------- .../internal/processors/igfs/IgfsImpl.java | 22 ++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/cc595021/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java index fd32745..a6d5b77 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java @@ -798,14 +798,24 @@ public final class IgfsImpl implements IgfsEx { IgfsMode mode = resolveMode(path); - if (mode == PRIMARY) - meta.mkdirs(path, props0); - else { - assert IgfsUtils.isDualMode(mode);; + switch (mode) { + case PRIMARY: + meta.mkdirs(path, props0); - await(path); + break; + + case DUAL_ASYNC: + case DUAL_SYNC: + await(path); + + meta.mkdirsDual(secondaryFs, path, props0); + + break; - meta.mkdirsDual(secondaryFs, path, props0); + case PROXY: + secondaryFs.mkdirs(path, props0); + + break; } return null;
