IGNITE-950 - Fixed NPE.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d1c7baa2 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d1c7baa2 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d1c7baa2 Branch: refs/heads/ignite-1753-1282 Commit: d1c7baa26b947e1b9bc8e19dee328a3584ee47d5 Parents: 20626b1 Author: Alexey Goncharuk <[email protected]> Authored: Tue Nov 3 09:09:35 2015 +0300 Committer: Alexey Goncharuk <[email protected]> Committed: Tue Nov 3 09:09:35 2015 +0300 ---------------------------------------------------------------------- .../cache/distributed/near/GridNearTxLocal.java | 3 ++- .../cache/transactions/IgniteTxLocalAdapter.java | 15 +++++++++------ .../cache/transactions/IgniteTxLocalEx.java | 1 + 3 files changed, 12 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/d1c7baa2/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java index 24a7dfd..e27d632 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java @@ -350,6 +350,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter { final Collection<KeyCacheObject> keys, boolean skipVals, final boolean needVer, + boolean keepBinary, final GridInClosure3<KeyCacheObject, Object, GridCacheVersion> c ) { if (cacheCtx.isNear()) { @@ -410,7 +411,7 @@ public class GridNearTxLocal extends GridDhtTxLocalAdapter { else { assert cacheCtx.isLocal(); - return super.loadMissing(cacheCtx, readThrough, async, keys, skipVals, needVer, c); + return super.loadMissing(cacheCtx, readThrough, async, keys, skipVals, keepBinary, needVer, c); } } http://git-wip-us.apache.org/repos/asf/ignite/blob/d1c7baa2/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java index 0d9b91f..a0648ca 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java @@ -432,6 +432,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter final Collection<KeyCacheObject> keys, boolean skipVals, boolean needVer, + boolean keepBinary, final GridInClosure3<KeyCacheObject, Object, GridCacheVersion> c ) { assert cacheCtx.isLocal() : cacheCtx.name(); @@ -468,7 +469,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter null, resolveTaskName(), expiryPlc, - txEntry.keepBinary()); + txEntry == null ? keepBinary : txEntry.keepBinary()); if (res == null) { if (misses == null) @@ -1485,7 +1486,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter null, resolveTaskName(), accessPlc, - txEntry.keepBinary()) : null; + !deserializePortable) : null; if (res != null) { val = res.get1(); @@ -1505,7 +1506,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter null, resolveTaskName(), accessPlc, - txEntry.keepBinary()); + !deserializePortable); } if (val != null) { @@ -1537,7 +1538,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter -1L, null, skipStore, - keepCacheObjects); + !deserializePortable); // As optimization, mark as checked immediately // for non-pessimistic if value is not null. @@ -1661,6 +1662,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter missedMap.keySet(), skipVals, needReadVer, + !deserializePortable, new GridInClosure3<KeyCacheObject, Object, GridCacheVersion>() { @Override public void apply(KeyCacheObject key, Object val, GridCacheVersion loadVer) { if (isRollbackOnly()) { @@ -2169,7 +2171,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter entryProcessor, resolveTaskName(), null, - txEntry.keepBinary()) : null; + keepBinary) : null; if (res != null) { old = res.get1(); @@ -2189,7 +2191,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter entryProcessor, resolveTaskName(), null, - txEntry.keepBinary()); + keepBinary); } } catch (ClusterTopologyCheckedException e) { @@ -2412,6 +2414,7 @@ public abstract class IgniteTxLocalAdapter extends IgniteTxAdapter missedForLoad, skipVals, needReadVer, + keepBinary, new GridInClosure3<KeyCacheObject, Object, GridCacheVersion>() { @Override public void apply(KeyCacheObject key, @Nullable Object val, http://git-wip-us.apache.org/repos/asf/ignite/blob/d1c7baa2/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalEx.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalEx.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalEx.java index 0d83338..08f2e43 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalEx.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalEx.java @@ -166,5 +166,6 @@ public interface IgniteTxLocalEx extends IgniteInternalTx { Collection<KeyCacheObject> keys, boolean skipVals, boolean needVer, + boolean keepBinary, GridInClosure3<KeyCacheObject, Object, GridCacheVersion> c); } \ No newline at end of file
