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 0522619052 for ; Tue, 22 Mar 2016 16:49:38 +0000 (UTC) Received: (qmail 59163 invoked by uid 500); 22 Mar 2016 16:49:37 -0000 Delivered-To: apmail-ignite-commits-archive@ignite.apache.org Received: (qmail 58922 invoked by uid 500); 22 Mar 2016 16:49:37 -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 58727 invoked by uid 99); 22 Mar 2016 16:49:37 -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; Tue, 22 Mar 2016 16:49:37 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 3DF58E03C7; Tue, 22 Mar 2016 16:49:37 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: ntikhonov@apache.org To: commits@ignite.apache.org Date: Tue, 22 Mar 2016 16:49:43 -0000 Message-Id: <7a1022b4a84a4ab9bdb4384354e52cdc@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [07/50] [abbrv] ignite git commit: IGNITE-2759: Now objects will be deserialized during conflicts only when "keepBinary" is set. This closes #542. IGNITE-2759: Now objects will be deserialized during conflicts only when "keepBinary" is set. This closes #542. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ed030e53 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ed030e53 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ed030e53 Branch: refs/heads/ignite-2004 Commit: ed030e53b532bbb031d2c49ce71cd521e94dd848 Parents: 687200d Author: dkarachentsev Authored: Fri Mar 11 17:36:20 2016 +0300 Committer: vozerov-gridgain Committed: Fri Mar 11 17:36:20 2016 +0300 ---------------------------------------------------------------------- .../internal/processors/cache/GridCacheEntryEx.java | 3 ++- .../internal/processors/cache/GridCacheMapEntry.java | 14 +++++++------- .../cache/transactions/IgniteTxAdapter.java | 6 ++++-- .../GridCacheStoreManagerDeserializationTest.java | 1 + .../processors/cache/GridCacheTestEntryEx.java | 2 +- 5 files changed, 15 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/ed030e53/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java index 71bb034..3a7b5ec 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java @@ -692,11 +692,12 @@ public interface GridCacheEntryEx { /** * Create versioned entry for this cache entry. * + * @param keepBinary Keep binary flag. * @return Versioned entry. * @throws IgniteCheckedException In case of error. * @throws GridCacheEntryRemovedException If entry was removed. */ - public GridCacheVersionedEntryEx versionedEntry() + public GridCacheVersionedEntryEx versionedEntry(final boolean keepBinary) throws IgniteCheckedException, GridCacheEntryRemovedException; /** http://git-wip-us.apache.org/repos/asf/ignite/blob/ed030e53/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index 16ff153..fb6aeef 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@ -1924,7 +1924,7 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme } else { writeObj = oldVal; - writeObj0 = CU.value(oldVal, cctx, false); + writeObj0 = cctx.unwrapBinaryIfNeeded(oldVal, keepBinary, false); } key0 = entry.key(); @@ -1936,18 +1936,18 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme invokeRes = new IgniteBiTuple(null, e); writeObj = oldVal; - writeObj0 = CU.value(oldVal, cctx, false); + writeObj0 = cctx.unwrapBinaryIfNeeded(oldVal, keepBinary, false); } } else - writeObj0 = CU.value((CacheObject)writeObj, cctx, false); + writeObj0 = cctx.unwrapBinaryIfNeeded(writeObj, keepBinary, false); GridTuple3 expiration = ttlAndExpireTime(expiryPlc, explicitTtl, explicitExpireTime); // Prepare old and new entries for conflict resolution. - GridCacheVersionedEntryEx oldEntry = versionedEntry(); + GridCacheVersionedEntryEx oldEntry = versionedEntry(keepBinary); GridCacheVersionedEntryEx newEntry = new GridCachePlainVersionedEntry<>( oldEntry.key(), writeObj0, @@ -3353,14 +3353,14 @@ public abstract class GridCacheMapEntry extends GridMetadataAwareAdapter impleme } /** {@inheritDoc} */ - @Override public synchronized GridCacheVersionedEntryEx versionedEntry() + @Override public synchronized GridCacheVersionedEntryEx versionedEntry(final boolean keepBinary) throws IgniteCheckedException, GridCacheEntryRemovedException { boolean isNew = isStartVersion(); CacheObject val = isNew ? unswap(true) : rawGetOrUnmarshalUnlocked(false); - return new GridCachePlainVersionedEntry<>(keyValue(true), - CU.value(val, cctx, true), + return new GridCachePlainVersionedEntry<>(cctx.unwrapBinaryIfNeeded(key, keepBinary, true), + cctx.unwrapBinaryIfNeeded(val, keepBinary, true), ttlExtras(), expireTimeExtras(), ver.conflictVersion(), http://git-wip-us.apache.org/repos/asf/ignite/blob/ed030e53/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java index ed44c49..f6dfd32 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java @@ -1413,10 +1413,12 @@ public abstract class IgniteTxAdapter extends GridMetadataAwareAdapter implement assert newExpireTime != CU.EXPIRE_TIME_CALCULATE; // Construct old entry info. - GridCacheVersionedEntryEx oldEntry = old.versionedEntry(); + GridCacheVersionedEntryEx oldEntry = old.versionedEntry(txEntry.keepBinary()); // Construct new entry info. - Object newVal0 = CU.value(newVal, txEntry.context(), false); + GridCacheContext entryCtx = txEntry.context(); + + Object newVal0 = entryCtx.unwrapBinaryIfNeeded(newVal, txEntry.keepBinary(), false); GridCacheVersionedEntryEx newEntry = new GridCachePlainVersionedEntry( oldEntry.key(), http://git-wip-us.apache.org/repos/asf/ignite/blob/ed030e53/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManagerDeserializationTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManagerDeserializationTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManagerDeserializationTest.java index 9fe60e0..d12f56a 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManagerDeserializationTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManagerDeserializationTest.java @@ -188,6 +188,7 @@ public class GridCacheStoreManagerDeserializationTest extends GridCommonAbstract streamer.addData(key, key); } + streamer.flush(); streamer.close(); streamer.future().get(); http://git-wip-us.apache.org/repos/asf/ignite/blob/ed030e53/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java index e627083..82b3f4b 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java @@ -677,7 +677,7 @@ public class GridCacheTestEntryEx extends GridMetadataAwareAdapter implements Gr } /** @inheritDoc */ - @Override public GridCacheVersionedEntryEx versionedEntry() throws IgniteCheckedException { + @Override public GridCacheVersionedEntryEx versionedEntry(final boolean keepBinary) throws IgniteCheckedException { return null; }