You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by nt...@apache.org on 2016/03/15 19:18:18 UTC
[22/35] 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-2791
Commit: ed030e53b532bbb031d2c49ce71cd521e94dd848
Parents: 687200d
Author: dkarachentsev <dk...@gridgain.com>
Authored: Fri Mar 11 17:36:20 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
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 <K, V> GridCacheVersionedEntryEx<K, V> versionedEntry()
+ public <K, V> GridCacheVersionedEntryEx<K, V> 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<Long, Long, Boolean> 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;
}