Return-Path: X-Original-To: apmail-ignite-commits-archive@minotaur.apache.org Delivered-To: apmail-ignite-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 792C218C24 for ; Mon, 30 Nov 2015 11:57:11 +0000 (UTC) Received: (qmail 45355 invoked by uid 500); 30 Nov 2015 11:57:11 -0000 Delivered-To: apmail-ignite-commits-archive@ignite.apache.org Received: (qmail 45318 invoked by uid 500); 30 Nov 2015 11:57:11 -0000 Mailing-List: contact commits-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list commits@ignite.apache.org Received: (qmail 45307 invoked by uid 99); 30 Nov 2015 11:57:11 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 30 Nov 2015 11:57:11 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 4A97CDFC8B; Mon, 30 Nov 2015 11:57:11 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sboikov@apache.org To: commits@ignite.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: ignite git commit: ignite-1.5 Should not wait on preloader sync future for system caches callbacks. Date: Mon, 30 Nov 2015 11:57:11 +0000 (UTC) Repository: ignite Updated Branches: refs/heads/ignite-1537 ef72ab7df -> 2487c650e ignite-1.5 Should not wait on preloader sync future for system caches callbacks. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2487c650 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2487c650 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2487c650 Branch: refs/heads/ignite-1537 Commit: 2487c650e740dd1bcbb449bffae48bf9832f6787 Parents: ef72ab7 Author: sboikov Authored: Mon Nov 30 14:57:05 2015 +0300 Committer: sboikov Committed: Mon Nov 30 14:57:05 2015 +0300 ---------------------------------------------------------------------- .../processors/cache/GridCacheAdapter.java | 8 +------ .../processors/cache/GridCacheProxyImpl.java | 12 ++++++++++ .../processors/cache/IgniteCacheProxy.java | 24 ++++++++++++++++++++ .../processors/cache/IgniteInternalCache.java | 9 ++++++++ .../CacheObjectBinaryProcessorImpl.java | 2 +- 5 files changed, 47 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/2487c650/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java index b5b8690..f96954e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java @@ -1288,13 +1288,7 @@ public abstract class GridCacheAdapter implements IgniteInternalCache implements IgniteInternalCache, Exte } /** {@inheritDoc} */ + @Override public V getTopologySafe(K key) throws IgniteCheckedException { + CacheOperationContext prev = gate.enter(opCtx); + + try { + return delegate.getTopologySafe(key); + } + finally { + gate.leave(prev); + } + } + + /** {@inheritDoc} */ @Override public IgniteInternalFuture getAsync(K key) { CacheOperationContext prev = gate.enter(opCtx); http://git-wip-us.apache.org/repos/asf/ignite/blob/2487c650/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java index 8a1cc3f..8fd4323 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java @@ -1954,6 +1954,30 @@ public class IgniteCacheProxy extends AsyncSupportAdapter(ctx.preloader().syncFuture()); } + /** + * Gets value without waiting for toplogy changes. + * + * @param key Key. + * @return Value. + */ + public V getTopologySafe(K key) { + try { + GridCacheGateway gate = this.gate; + + CacheOperationContext prev = onEnter(gate, opCtx); + + try { + return delegate.getTopologySafe(key); + } + finally { + onLeave(gate, prev); + } + } + catch (IgniteCheckedException e) { + throw cacheException(e); + } + } + /** {@inheritDoc} */ @Override public String toString() { return S.toString(IgniteCacheProxy.class, this); http://git-wip-us.apache.org/repos/asf/ignite/blob/2487c650/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java index 1055cf4..3150ea9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteInternalCache.java @@ -1854,4 +1854,13 @@ public interface IgniteInternalCache extends Iterable> { * @return Future to be completed whenever loading completes. */ public IgniteInternalFuture localLoadCacheAsync(@Nullable IgniteBiPredicate p, @Nullable Object... args); + + /** + * Gets value without waiting for toplogy changes. + * + * @param key Key. + * @return Value. + * @throws IgniteCheckedException If failed. + */ + public V getTopologySafe(K key) throws IgniteCheckedException; } http://git-wip-us.apache.org/repos/asf/ignite/blob/2487c650/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java index 5b70f2a..1bfdf1c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java @@ -503,7 +503,7 @@ public class CacheObjectBinaryProcessorImpl extends IgniteCacheObjectProcessorIm if (clientNode) return clientMetaDataCache.get(typeId); else { - BinaryMetadata meta = metaDataCache.localPeek(new PortableMetadataKey(typeId)); + BinaryMetadata meta = metaDataCache.getTopologySafe(new PortableMetadataKey(typeId)); return meta != null ? meta.wrap(portableCtx) : null; }