Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-51 a06c15043 -> 431897f7f


# ignite-51


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/431897f7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/431897f7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/431897f7

Branch: refs/heads/ignite-51
Commit: 431897f7fc5aacb6118a1b00ad59c6d4aee1921a
Parents: a06c150
Author: sboikov <[email protected]>
Authored: Thu Mar 5 20:08:33 2015 +0300
Committer: sboikov <[email protected]>
Committed: Thu Mar 5 23:10:41 2015 +0300

----------------------------------------------------------------------
 .../cache/CacheEntryPredicateAdapter.java       | 33 +---------
 .../cache/CacheEntryPredicateContainsValue.java | 13 ++--
 .../cache/CacheEntryPredicateHasValue.java      |  2 +-
 .../cache/CacheEntryPredicateNoValue.java       |  2 +-
 .../processors/cache/CacheInvokeEntry.java      | 16 +++--
 .../processors/cache/GridCacheContext.java      |  4 +-
 .../processors/cache/GridCacheEntryEx.java      |  9 ++-
 .../processors/cache/GridCacheMapEntry.java     | 69 ++++++++++----------
 .../processors/cache/GridCacheUtils.java        |  2 +-
 .../processors/cache/UserCacheObjectImpl.java   |  7 +-
 .../cache/UserKeyCacheObjectImpl.java           |  9 ++-
 .../transactions/IgniteTxLocalAdapter.java      | 22 +++----
 .../datastructures/DataStructuresProcessor.java | 17 ++---
 .../IgniteCacheObjectProcessorAdapter.java      |  2 +-
 .../processors/cache/GridCacheTestEntryEx.java  | 10 +--
 15 files changed, 95 insertions(+), 122 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/431897f7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateAdapter.java
index 3214e10..ef4cd3b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateAdapter.java
@@ -18,16 +18,14 @@
 package org.apache.ignite.internal.processors.cache;
 
 import org.apache.ignite.*;
-import org.apache.ignite.internal.processors.cache.transactions.*;
 import org.apache.ignite.plugin.extensions.communication.*;
 
-import java.io.*;
 import java.nio.*;
 
 /**
  *
  */
-public abstract class CacheEntryPredicateAdapter implements 
CacheEntryPredicate, Serializable {
+public abstract class CacheEntryPredicateAdapter implements 
CacheEntryPredicate {
     /** {@inheritDoc} */
     @Override public void finishUnmarshal(GridCacheContext ctx, ClassLoader 
ldr) throws IgniteCheckedException {
         // No-op.
@@ -65,33 +63,4 @@ public abstract class CacheEntryPredicateAdapter implements 
CacheEntryPredicate,
 
         return false;
     }
-
-    /**
-     * @param e Entry.
-     * @return {@code True} if given entry has value.
-     */
-    protected boolean hasValue(GridCacheEntryEx e) {
-        try {
-            if (e.hasValue())
-                return true;
-
-            GridCacheContext cctx = e.context();
-
-            if (cctx.transactional()) {
-                IgniteInternalTx tx = cctx.tm().userTx();
-
-                if (tx != null)
-                    return tx.peek(cctx, false, e.key(), null) != null;
-            }
-
-            return false;
-        }
-        catch (GridCacheFilterFailedException err) {
-            assert false;
-
-            err.printStackTrace();
-
-            return false;
-        }
-    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/431897f7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateContainsValue.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateContainsValue.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateContainsValue.java
index 0765930..ec23735 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateContainsValue.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateContainsValue.java
@@ -51,16 +51,11 @@ public class CacheEntryPredicateContainsValue implements 
CacheEntryPredicate {
     }
 
     /** {@inheritDoc} */
-    @Override public boolean apply(GridCacheEntryEx entry) {
-        try {
-            CacheObject val = entry.rawGetOrUnmarshal(true);
+    @Override public boolean apply(GridCacheEntryEx e) {
+        CacheObject val = e.peekVisibleValue();
 
-            return F.eq(this.val.value(entry.context().cacheObjectContext(), 
false),
-                CU.value(val, entry.context(), false));
-        }
-        catch (IgniteCheckedException e) {
-            throw new IgniteException(e);
-        }
+        return F.eq(this.val.value(e.context().cacheObjectContext(), false),
+            CU.value(val, e.context(), false));
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/431897f7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateHasValue.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateHasValue.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateHasValue.java
index 3b921ca..fe28f92 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateHasValue.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateHasValue.java
@@ -23,6 +23,6 @@ package org.apache.ignite.internal.processors.cache;
 public class CacheEntryPredicateHasValue extends CacheEntryPredicateAdapter {
     /** {@inheritDoc} */
     @Override public boolean apply(GridCacheEntryEx e) {
-        return hasValue(e);
+        return e.peekVisibleValue() != null;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/431897f7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateNoValue.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateNoValue.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateNoValue.java
index 13f022d..f32f345 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateNoValue.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEntryPredicateNoValue.java
@@ -23,6 +23,6 @@ package org.apache.ignite.internal.processors.cache;
 public class CacheEntryPredicateNoValue extends CacheEntryPredicateAdapter {
     /** {@inheritDoc} */
     @Override public boolean apply(GridCacheEntryEx e) {
-        return !hasValue(e);
+        return e.peekVisibleValue() == null;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/431897f7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheInvokeEntry.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheInvokeEntry.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheInvokeEntry.java
index a0297a9..2817748 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheInvokeEntry.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheInvokeEntry.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.processors.cache;
 
 import org.apache.ignite.internal.util.typedef.internal.*;
+import org.jetbrains.annotations.*;
 
 import javax.cache.processor.*;
 
@@ -39,7 +40,9 @@ public class CacheInvokeEntry<K, V> extends CacheLazyEntry<K, 
V> implements Muta
      * @param keyObj Key cache object.
      * @param valObj Cache object value.
      */
-    public CacheInvokeEntry(GridCacheContext cctx, KeyCacheObject keyObj, 
CacheObject valObj) {
+    public CacheInvokeEntry(GridCacheContext cctx,
+        KeyCacheObject keyObj,
+        @Nullable CacheObject valObj) {
         super(cctx, keyObj, valObj);
 
         this.hadVal = valObj != null;
@@ -47,14 +50,17 @@ public class CacheInvokeEntry<K, V> extends 
CacheLazyEntry<K, V> implements Muta
 
     /** 
      * @param ctx Cache context.
-     * @param keyObject Key cache object.
+     * @param keyObj Key cache object.
      * @param key Key value.
      * @param valObj Value cache object.
      * @param val Value.
      */
-    public CacheInvokeEntry(GridCacheContext<K, V> ctx, KeyCacheObject 
keyObject, K key, CacheObject valObj,
-        V val) {
-        super(ctx, keyObject, key, valObj, val);
+    public CacheInvokeEntry(GridCacheContext<K, V> ctx,
+        KeyCacheObject keyObj,
+        @Nullable K key,
+        @Nullable CacheObject valObj,
+        @Nullable V val) {
+        super(ctx, keyObj, key, valObj, val);
 
         this.hadVal = valObj != null || val != null;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/431897f7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
index 78c0800..410cd0e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
@@ -1788,7 +1788,7 @@ public class GridCacheContext<K, V> implements 
Externalizable {
             if (transferOnly)
                 return new KeyCacheObjectTransferImpl(bytes);
 
-            obj = ctx.portable().unmarshal(cacheObjCtx, bytes, 
deploy().globalLoader());
+            obj = ctx.portable().unmarshal(cacheObjCtx, bytes, 
deploy().localLoader());
         }
 
         return ctx.portable().toCacheKeyObject(cacheObjCtx, obj, bytes);
@@ -1812,7 +1812,7 @@ public class GridCacheContext<K, V> implements 
Externalizable {
         if (ldr == null)
             return null;
 
-        return new CacheObjectImpl(portable().unmarshal(cacheObjCtx, bytes, 
ldr), bytes);
+        return ctx.portable().toCacheObject(cacheObjCtx, 
ctx.portable().unmarshal(cacheObjCtx, bytes, ldr), bytes);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/431897f7/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 5fb1346..75541eb 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
@@ -148,12 +148,11 @@ public interface GridCacheEntryEx {
     public <K, V> Cache.Entry<K, V> wrapLazyValue();
 
     /**
-     * Wraps this map entry into cache entry for filter evaluation inside 
entry lock.
+     * Peeks value provided to public API entries and to entry filters.
      *
-     * @return Wrapped entry.
-     * @throws IgniteCheckedException If failed.
+     * @return Value.
      */
-    public <K, V> Cache.Entry<K, V> wrapFilterLocked() throws 
IgniteCheckedException;
+    @Nullable public CacheObject peekVisibleValue();
 
     /**
      * @return Entry which is safe to pass into eviction policy.
@@ -622,7 +621,7 @@ public interface GridCacheEntryEx {
      * @throws GridCacheFilterFailedException If filter failed.
      */
     @SuppressWarnings({"RedundantTypeArguments"})
-    @Nullable public <K, V> GridTuple<CacheObject> peek0(boolean failFast,
+    @Nullable public GridTuple<CacheObject> peek0(boolean failFast,
         GridCachePeekMode mode,
         @Nullable CacheEntryPredicate[] filter,
         @Nullable IgniteInternalTx tx)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/431897f7/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 227ccf7..ddf3303 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
@@ -2855,7 +2855,7 @@ public abstract class GridCacheMapEntry implements 
GridCacheEntryEx {
      * @throws GridCacheFilterFailedException If filter failed.
      */
     @SuppressWarnings({"RedundantTypeArguments"})
-    @Nullable @Override public <K, V> GridTuple<CacheObject> peek0(boolean 
failFast, GridCachePeekMode mode,
+    @Nullable @Override public GridTuple<CacheObject> peek0(boolean failFast, 
GridCachePeekMode mode,
         CacheEntryPredicate[] filter, @Nullable IgniteInternalTx tx)
         throws GridCacheEntryRemovedException, GridCacheFilterFailedException, 
IgniteCheckedException {
         assert tx == null || tx.local();
@@ -3763,12 +3763,38 @@ public abstract class GridCacheMapEntry implements 
GridCacheEntryEx {
         return new LazyValueEntry(key);
     }
 
-        /** {@inheritDoc} */
-    @Override public <K, V> Cache.Entry<K, V> wrapFilterLocked() throws 
IgniteCheckedException {
-        CacheObject val = rawGetOrUnmarshal(true);
+    /** {@inheritDoc} */
+    @Nullable public CacheObject peekVisibleValue() {
+        try {
+            IgniteInternalTx tx = cctx.tm().userTx();
+
+            if (tx != null) {
+                GridTuple<CacheObject> peek = tx.peek(cctx, false, key, null);
+
+                if (peek != null)
+                    return peek.get();
+            }
 
-        return new CacheEntryImpl<>(key.<K>value(cctx.cacheObjectContext(), 
false),
-            CU.<V>value(val, cctx, false));
+            if (detached())
+                return rawGet();
+
+            for (;;) {
+                GridCacheEntryEx e = cctx.cache().peekEx(key);
+
+                if (e == null)
+                    return null;
+
+                try {
+                    return e.peek(GridCachePeekMode.GLOBAL, CU.empty0());
+                }
+                catch (GridCacheEntryRemovedException ignored) {
+                    // No-op.
+                }
+            }
+        }
+        catch (GridCacheFilterFailedException ignored) {
+            throw new IgniteException("Should never happen.");
+        }
     }
 
     /** {@inheritDoc} */
@@ -4313,36 +4339,7 @@ public abstract class GridCacheMapEntry implements 
GridCacheEntryEx {
         /** {@inheritDoc} */
         @SuppressWarnings("unchecked")
         @Override public V getValue() {
-            try {
-                IgniteInternalTx tx = cctx.tm().userTx();
-
-                if (tx != null) {
-                    GridTuple<CacheObject> peek = tx.peek(cctx, false, key, 
null);
-
-                    if (peek != null)
-                        return CU.value(peek.get(), cctx, false);
-                }
-
-                if (detached())
-                    return CU.value(rawGet(), cctx, false);
-
-                for (;;) {
-                    GridCacheEntryEx e = cctx.cache().peekEx(key);
-
-                    if (e == null)
-                        return null;
-
-                    try {
-                        return CU.value(e.peek(GridCachePeekMode.GLOBAL, 
CU.empty0()), cctx, false);
-                    }
-                    catch (GridCacheEntryRemovedException ignored) {
-                        // No-op.
-                    }
-                }
-            }
-            catch (GridCacheFilterFailedException ignored) {
-                throw new IgniteException("Should never happen.");
-            }
+            return CU.value(peekVisibleValue(), cctx, true);
         }
 
         /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/431897f7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
index 7700fa4..16bc56f 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
@@ -904,7 +904,7 @@ public class GridCacheUtils {
                 try {
                     Object val = CU.value(e.rawGetOrUnmarshal(true), 
e.context(), false);
 
-                    return val != null &&
+                    return val == null ||
                         valType.isAssignableFrom(val.getClass()) &&
                         
keyType.isAssignableFrom(e.key().value(e.context().cacheObjectContext(), 
false).getClass());
                 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/431897f7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/UserCacheObjectImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/UserCacheObjectImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/UserCacheObjectImpl.java
index 8026995..b7e90bb 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/UserCacheObjectImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/UserCacheObjectImpl.java
@@ -18,7 +18,7 @@
 package org.apache.ignite.internal.processors.cache;
 
 import org.apache.ignite.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
+import org.jetbrains.annotations.*;
 
 import java.util.*;
 
@@ -41,6 +41,11 @@ public class UserCacheObjectImpl extends CacheObjectImpl {
     }
 
     /** {@inheritDoc} */
+    @Nullable @Override public <T> T value(CacheObjectContext ctx, boolean 
cpy) {
+        return super.value(ctx, false);
+    }
+
+    /** {@inheritDoc} */
     @Override public CacheObject prepareForCache(CacheObjectContext ctx) {
         if (needCopy(ctx)) {
             if (val instanceof byte[]) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/431897f7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/UserKeyCacheObjectImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/UserKeyCacheObjectImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/UserKeyCacheObjectImpl.java
index d052f94..e9fb75b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/UserKeyCacheObjectImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/UserKeyCacheObjectImpl.java
@@ -18,7 +18,7 @@
 package org.apache.ignite.internal.processors.cache;
 
 import org.apache.ignite.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
+import org.jetbrains.annotations.*;
 
 /**
  * Cache object wrapping key provided by user. Need to be copied before stored 
in cache.
@@ -40,6 +40,11 @@ public class UserKeyCacheObjectImpl extends 
KeyCacheObjectImpl {
     }
 
     /** {@inheritDoc} */
+    @Nullable @Override public <T> T value(CacheObjectContext ctx, boolean 
cpy) {
+        return super.value(ctx, false);
+    }
+
+    /** {@inheritDoc} */
     @Override public byte[] valueBytes(CacheObjectContext ctx) throws 
IgniteCheckedException {
         if (valBytes == null)
             valBytes = ctx.processor().marshal(ctx, val);
@@ -56,7 +61,7 @@ public class UserKeyCacheObjectImpl extends 
KeyCacheObjectImpl {
             if (needCopy(ctx)) {
                 Object val = ctx.processor().unmarshal(ctx,
                     valBytes,
-                    ctx.kernalContext().config().getClassLoader());
+                    this.val.getClass().getClassLoader());
 
                 return new KeyCacheObjectImpl(val, valBytes);
             }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/431897f7/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 d65618a..35673c3 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
@@ -2459,37 +2459,37 @@ public abstract class IgniteTxLocalAdapter extends 
IgniteTxAdapter
     private void addInvokeResult(IgniteTxEntry txEntry, CacheObject cacheVal, 
GridCacheReturn<?> ret) {
         GridCacheContext ctx = txEntry.context();
 
-        Object keyVal = null;
-        Object val = null;
+        Object key0 = null;
+        Object val0 = null;
 
         try {
             Object res = null;
 
             for (T2<EntryProcessor<Object, Object, Object>, Object[]> t : 
txEntry.entryProcessors()) {
                 CacheInvokeEntry<Object, Object> invokeEntry =
-                    new CacheInvokeEntry(txEntry.context(), txEntry.key(), 
keyVal, cacheVal, val);
+                    new CacheInvokeEntry(txEntry.context(), txEntry.key(), 
key0, cacheVal, val0);
 
                 EntryProcessor<Object, Object, ?> entryProcessor = t.get1();
 
                 res = entryProcessor.process(invokeEntry, t.get2());
 
-                val = invokeEntry.value();
+                val0 = invokeEntry.value();
 
-                keyVal = invokeEntry.key();
+                key0 = invokeEntry.key();
             }
 
             if (res != null) {
-                if (keyVal == null)
-                    keyVal = txEntry.key().value(ctx.cacheObjectContext(), 
true);
+                if (key0 == null)
+                    key0 = txEntry.key().value(ctx.cacheObjectContext(), true);
                 
-                ret.addEntryProcessResult(keyVal, new 
CacheInvokeResult<>(res));
+                ret.addEntryProcessResult(key0, new CacheInvokeResult<>(res));
             }
         }
         catch (Exception e) {
-            if (keyVal == null)
-                keyVal = txEntry.key().value(ctx.cacheObjectContext(), true);
+            if (key0 == null)
+                key0 = txEntry.key().value(ctx.cacheObjectContext(), true);
 
-            ret.addEntryProcessResult(keyVal, new CacheInvokeResult(e));
+            ret.addEntryProcessResult(key0, new CacheInvokeResult(e));
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/431897f7/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
index 6befea6..b2475c6 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/DataStructuresProcessor.java
@@ -118,22 +118,17 @@ public final class DataStructuresProcessor extends 
GridProcessorAdapter {
 
             assert atomicsCache != null;
 
-            dsView = atomicsCache.projection(GridCacheInternal.class, 
GridCacheInternal.class).flagsOn(CLONE);
+            dsView = atomicsCache.flagsOn(CLONE);
 
-            cntDownLatchView = atomicsCache.projection
-                (GridCacheInternalKey.class, 
GridCacheCountDownLatchValue.class).flagsOn(CLONE);
+            cntDownLatchView = atomicsCache.flagsOn(CLONE);
 
-            atomicLongView = atomicsCache.projection
-                (GridCacheInternalKey.class, 
GridCacheAtomicLongValue.class).flagsOn(CLONE);
+            atomicLongView = atomicsCache.flagsOn(CLONE);
 
-            atomicRefView = atomicsCache.projection
-                (GridCacheInternalKey.class, 
GridCacheAtomicReferenceValue.class).flagsOn(CLONE);
+            atomicRefView = atomicsCache.flagsOn(CLONE);
 
-            atomicStampedView = atomicsCache.projection
-                (GridCacheInternalKey.class, 
GridCacheAtomicStampedValue.class).flagsOn(CLONE);
+            atomicStampedView = atomicsCache.flagsOn(CLONE);
 
-            seqView = atomicsCache.projection
-                (GridCacheInternalKey.class, 
GridCacheAtomicSequenceValue.class).flagsOn(CLONE);
+            seqView = atomicsCache.flagsOn(CLONE);
 
             dsCacheCtx = 
ctx.cache().internalCache(CU.ATOMICS_CACHE_NAME).context();
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/431897f7/modules/core/src/main/java/org/apache/ignite/internal/processors/portable/IgniteCacheObjectProcessorAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/portable/IgniteCacheObjectProcessorAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/portable/IgniteCacheObjectProcessorAdapter.java
index 9500571..1f5ee40 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/portable/IgniteCacheObjectProcessorAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/portable/IgniteCacheObjectProcessorAdapter.java
@@ -126,7 +126,7 @@ public abstract class IgniteCacheObjectProcessorAdapter 
extends GridProcessorAda
             return new CacheObjectImpl(ctx.marshaller().unmarshal(bytes, ldr), 
bytes);
         }
         else
-            return new CacheObjectImpl(ctx.marshaller().unmarshal(bytes, 
U.gridClassLoader()), bytes);
+            return new CacheObjectImpl(ctx.marshaller().unmarshal(bytes, 
ctx.deploy().localLoader()), bytes);
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/431897f7/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 264542f..fdc17d7 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
@@ -357,9 +357,11 @@ public class GridCacheTestEntryEx extends 
GridMetadataAwareAdapter implements Gr
         return null;
     }
 
-    /** {@inheritDoc} */
-    @Override public Cache.Entry wrapFilterLocked() {
-        assert false; return null;
+    /** @inheritDoc */
+    @Nullable @Override public CacheObject peekVisibleValue() {
+        assert false;
+
+        return null;
     }
 
     /** @inheritDoc */
@@ -617,7 +619,7 @@ public class GridCacheTestEntryEx extends 
GridMetadataAwareAdapter implements Gr
     }
 
     /** @inheritDoc */
-    @Override public <K, V> GridTuple<CacheObject> peek0(boolean failFast, 
GridCachePeekMode mode,
+    @Override public GridTuple<CacheObject> peek0(boolean failFast, 
GridCachePeekMode mode,
         CacheEntryPredicate[] filter, IgniteInternalTx tx)
         throws GridCacheEntryRemovedException, GridCacheFilterFailedException, 
IgniteCheckedException {
         return F.t(val);

Reply via email to