Repository: incubator-ignite Updated Branches: refs/heads/ignite-218 b7d1aa6ef -> 2f6826c10
# IG-218: Review. Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/2f6826c1 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/2f6826c1 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/2f6826c1 Branch: refs/heads/ignite-218 Commit: 2f6826c1032954f69e06fe57346932bd7fe53e06 Parents: b7d1aa6 Author: vozerov-gridgain <[email protected]> Authored: Tue Apr 14 18:22:18 2015 +0300 Committer: vozerov-gridgain <[email protected]> Committed: Tue Apr 14 18:22:18 2015 +0300 ---------------------------------------------------------------------- .../igfs/common/IgfsHandshakeRequest.java | 1 + .../internal/igfs/common/IgfsMarshaller.java | 2 + .../internal/processors/igfs/IgfsAsyncImpl.java | 1 + .../ignite/internal/processors/igfs/IgfsEx.java | 1 + .../internal/processors/igfs/IgfsImpl.java | 42 ++++++++++++++++++++ 5 files changed, 47 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2f6826c1/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsHandshakeRequest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsHandshakeRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsHandshakeRequest.java index 4d2091b..bf5892b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsHandshakeRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsHandshakeRequest.java @@ -31,6 +31,7 @@ public class IgfsHandshakeRequest extends IgfsMessage { /** Expected IGFS name. */ private String igfsName; + // TODO: Remove. /** User name the request is done on behalf of. */ private String userName; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2f6826c1/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsMarshaller.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsMarshaller.java b/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsMarshaller.java index e1a5d00..748fd7e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsMarshaller.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/igfs/common/IgfsMarshaller.java @@ -90,6 +90,7 @@ public class IgfsMarshaller { IgfsHandshakeRequest req = (IgfsHandshakeRequest)msg; + // TODO: Remove. U.writeString(out, req.userName()); U.writeString(out, req.gridName()); U.writeString(out, req.igfsName()); @@ -208,6 +209,7 @@ public class IgfsMarshaller { case HANDSHAKE: { IgfsHandshakeRequest req = new IgfsHandshakeRequest(); + // TODO: Remove. req.userName(U.readString(in)); req.gridName(U.readString(in)); req.igfsName(U.readString(in)); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2f6826c1/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsAsyncImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsAsyncImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsAsyncImpl.java index 38e3614..5fb9410 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsAsyncImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsAsyncImpl.java @@ -315,6 +315,7 @@ public class IgfsAsyncImpl extends AsyncSupportAdapter<IgniteFileSystem> impleme return igfs.asSecondary(); } + // TODO: Remove. /** {@inheritDoc} */ @Override public IgfsEx forUser(String userName) throws IgniteCheckedException { return igfs.forUser(userName); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2f6826c1/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 1c5d71c..c69d144 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 @@ -172,6 +172,7 @@ public interface IgfsEx extends IgniteFileSystem { */ public IgfsSecondaryFileSystem asSecondary(); + // TODO: REmove. /** * TODO * @param userName http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2f6826c1/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 d271d08..36030a4 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 @@ -2171,6 +2171,22 @@ public class IgfsImpl implements IgfsEx { /** {@inheritDoc} */ @Override public IgfsEx forUser(String userName) throws IgniteCheckedException { + +// Wrapper w = map.get(userName); +// +// if (w != null) +// return w.get(); +// else { +// Wrapper newWrapper = new Wrapper(); +// Wrapper old = map.putIfAbsent(userName, newWrapper); +// +// if (old != null) +// return old.get(); +// else +// return newWrapper.init(); +// } + + final String userFixed = U.fixUserName(userName); if (this.user == userFixed) @@ -2187,6 +2203,9 @@ public class IgfsImpl implements IgfsEx { return userFixed; } }; + + + final Reference<IgfsImpl> newRef = new WeakReference<>(newVal); while (true) { @@ -2261,4 +2280,27 @@ public class IgfsImpl implements IgfsEx { return t; } } + +// private ConcurrentHashMap8<String, Wrapper> map; + +// private static class Wrapper { +// +// private IgfsSecondaryFileSystem fs; +// +// private CountDownLatch latch; +// +// public IgfsSecondaryFileSystem init() { +// // fs = ... +// +// latch.countDown(); +// +// return fs; +// } +// +// public IgfsSecondaryFileSystem get() { +// latch.await(); +// +// return fs; +// } +// } }
