ignite-290 Meta key type changed from String to UUID

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

Branch: refs/heads/ignite-141-2
Commit: 1209175d7d1abbc518fc7a86a4574e74313fcff6
Parents: ee6c19d
Author: avinogradov <avinogra...@gridgain.com>
Authored: Wed Feb 18 12:40:39 2015 +0300
Committer: avinogradov <avinogra...@gridgain.com>
Committed: Wed Feb 18 12:40:39 2015 +0300

----------------------------------------------------------------------
 .../rest/protocols/tcp/MockNioSession.java      |  7 +-
 .../processors/cache/EvictableEntryImpl.java    |  4 +-
 .../processors/cache/GridCacheAdapter.java      |  2 +-
 .../processors/cache/GridCacheEntryEx.java      | 15 ++--
 .../cache/GridCacheEvictionManager.java         |  2 +-
 .../processors/cache/GridCacheMapEntry.java     | 30 ++++----
 .../processors/cache/GridCacheStoreManager.java |  2 +-
 .../processors/cache/GridCacheUtils.java        | 10 +--
 .../extras/GridCacheAttributesEntryExtras.java  | 10 ++-
 .../GridCacheAttributesMvccEntryExtras.java     | 10 ++-
 ...dCacheAttributesMvccObsoleteEntryExtras.java | 10 ++-
 ...cheAttributesMvccObsoleteTtlEntryExtras.java | 10 ++-
 .../GridCacheAttributesMvccTtlEntryExtras.java  | 10 ++-
 .../GridCacheAttributesObsoleteEntryExtras.java | 10 ++-
 ...idCacheAttributesObsoleteTtlEntryExtras.java | 10 ++-
 .../GridCacheAttributesTtlEntryExtras.java      | 10 ++-
 .../cache/extras/GridCacheEntryExtras.java      |  6 +-
 .../extras/GridCacheEntryExtrasAdapter.java     |  4 +-
 .../cache/extras/GridCacheMvccEntryExtras.java  |  4 +-
 .../GridCacheMvccObsoleteEntryExtras.java       |  4 +-
 .../GridCacheMvccObsoleteTtlEntryExtras.java    |  4 +-
 .../extras/GridCacheMvccTtlEntryExtras.java     |  4 +-
 .../extras/GridCacheObsoleteEntryExtras.java    |  4 +-
 .../extras/GridCacheObsoleteTtlEntryExtras.java |  4 +-
 .../cache/extras/GridCacheTtlEntryExtras.java   |  4 +-
 .../cache/transactions/IgniteInternalTx.java    |  6 +-
 .../cache/transactions/IgniteTxAdapter.java     |  6 +-
 .../transactions/TransactionProxyImpl.java      |  6 +-
 .../util/lang/GridMetadataAwareAdapter.java     | 38 +++++-----
 .../apache/ignite/transactions/Transaction.java |  6 +-
 .../cache/eviction/GridCacheMockEntry.java      |  5 +-
 .../nio/impl/GridNioFilterChainSelfTest.java    |  7 +-
 .../lang/GridMetadataAwareAdapterSelfTest.java  | 80 +++++++++++---------
 33 files changed, 197 insertions(+), 147 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/protocols/tcp/MockNioSession.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/protocols/tcp/MockNioSession.java
 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/protocols/tcp/MockNioSession.java
index 48c4a02..c9d13bb 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/protocols/tcp/MockNioSession.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/protocols/tcp/MockNioSession.java
@@ -22,6 +22,7 @@ import org.apache.ignite.internal.util.nio.*;
 import org.jetbrains.annotations.*;
 
 import java.net.*;
+import java.util.*;
 
 /**
  * Mock nio session with disabled functionality for testing parser.
@@ -110,17 +111,17 @@ public class MockNioSession extends 
GridMetadataAwareAdapter implements GridNioS
 
     /** {@inheritDoc} */
     @Override public <T> T meta(int key) {
-        return meta(String.valueOf(key));
+        return meta(new UUID(key, key));
     }
 
     /** {@inheritDoc} */
     @Override public <T> T addMeta(int key, T val) {
-        return addMeta(String.valueOf(key), val);
+        return addMeta(new UUID(key, key), val);
     }
 
     /** {@inheritDoc} */
     @Override public <T> T removeMeta(int key) {
-        return removeMeta(String.valueOf(key));
+        return removeMeta(new UUID(key, key));
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/EvictableEntryImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/EvictableEntryImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/EvictableEntryImpl.java
index 9ca6c33..fcde3ad 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/EvictableEntryImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/EvictableEntryImpl.java
@@ -25,12 +25,14 @@ import org.apache.ignite.internal.util.tostring.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.jetbrains.annotations.*;
 
+import java.util.*;
+
 /**
  * Entry wrapper that never obscures obsolete entries from user.
  */
 public class EvictableEntryImpl<K, V> implements EvictableEntry<K, V> {
     /** */
-    private static final String META_KEY = "ignite-eviction-entry-meta";
+    private static final UUID META_KEY = UUID.randomUUID();
 
     /** Cached entry. */
     @GridToStringInclude

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/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 9d8f243..ed4403a 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
@@ -1752,7 +1752,7 @@ public abstract class GridCacheAdapter<K, V> implements 
GridCache<K, V>,
         final long topVer = ctx.affinity().affinityTopologyVersion();
 
         if (!F.isEmpty(keys)) {
-            final String uid = CU.uuid(); // Get meta UUID for this thread.
+            final UUID uid = CU.uuid(); // Get meta UUID for this thread.
 
             assert keys != null;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/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 68e4f97..b63133d 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
@@ -31,7 +31,6 @@ import javax.cache.*;
 import javax.cache.expiry.*;
 import javax.cache.processor.*;
 import java.util.*;
-import java.util.concurrent.*;
 
 /**
  * Internal API for cache entry ({@code 'Ex'} stands for extended).
@@ -952,7 +951,7 @@ public interface GridCacheEntryEx<K, V> {
      * @param name Name of the metadata to test.
      * @return Whether or not given metadata is set.
      */
-    public boolean hasMeta(String name);
+    public boolean hasMeta(UUID name);
 
     /**
      * Gets metadata by name.
@@ -961,7 +960,7 @@ public interface GridCacheEntryEx<K, V> {
      * @param <V> Type of the value.
      * @return Metadata value or {@code null}.
      */
-    @Nullable public <V> V meta(String name);
+    @Nullable public <V> V meta(UUID name);
 
     /**
      * Adds a new metadata.
@@ -972,7 +971,7 @@ public interface GridCacheEntryEx<K, V> {
      * @return Metadata previously associated with given name, or
      *      {@code null} if there was none.
      */
-    @Nullable public <V> V addMeta(String name, V val);
+    @Nullable public <V> V addMeta(UUID name, V val);
 
     /**
      * Adds given metadata value only if it was absent.
@@ -982,7 +981,7 @@ public interface GridCacheEntryEx<K, V> {
      * @param <V> Type of the value.
      * @return {@code null} if new value was put, or current value if put 
didn't happen.
      */
-    @Nullable public <V> V putMetaIfAbsent(String name, V val);
+    @Nullable public <V> V putMetaIfAbsent(UUID name, V val);
 
     /**
      * Replaces given metadata with new {@code newVal} value only if its 
current value
@@ -993,7 +992,7 @@ public interface GridCacheEntryEx<K, V> {
      * @param newVal New value.
      * @return {@code true} if replacement occurred, {@code false} otherwise.
      */
-    public <V> boolean replaceMeta(String name, V curVal, V newVal);
+    public <V> boolean replaceMeta(UUID name, V curVal, V newVal);
 
     /**
      * Removes metadata by name.
@@ -1002,7 +1001,7 @@ public interface GridCacheEntryEx<K, V> {
      * @param <V> Type of the value.
      * @return Value of removed metadata or {@code null}.
      */
-    @Nullable public <V> V removeMeta(String name);
+    @Nullable public <V> V removeMeta(UUID name);
 
     /**
      * Removes metadata only if its current value is equal to {@code val} 
passed in.
@@ -1012,5 +1011,5 @@ public interface GridCacheEntryEx<K, V> {
      * @param <V> Value type.
      * @return {@code True} if value was removed, {@code false} otherwise.
      */
-    public <V> boolean removeMeta(String name, V val);
+    public <V> boolean removeMeta(UUID name, V val);
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java
index a53ac74..24a3505 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java
@@ -73,7 +73,7 @@ public class GridCacheEvictionManager<K, V> extends 
GridCacheManagerAdapter<K, V
     private final ConcurrentLinkedDeque8<EvictionInfo> bufEvictQ = new 
ConcurrentLinkedDeque8<>();
 
     /** Attribute name used to queue node in entry metadata. */
-    private final String meta = UUID.randomUUID().toString();
+    private final UUID meta = UUID.randomUUID();
 
     /** Active eviction futures. */
     private final Map<Long, EvictionFuture> futs = new ConcurrentHashMap8<>();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/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 a1cc776..b736785 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
@@ -3926,7 +3926,7 @@ public abstract class GridCacheMapEntry<K, V> implements 
GridCacheEntryEx<K, V>
      */
     private boolean ensureData(int size) {
         if (attributeDataExtras() == null) {
-            attributeDataExtras(new GridLeanMap<String, Object>(size));
+            attributeDataExtras(new GridLeanMap<UUID, Object>(size));
 
             return true;
         }
@@ -3936,7 +3936,7 @@ public abstract class GridCacheMapEntry<K, V> implements 
GridCacheEntryEx<K, V>
 
     /** {@inheritDoc} */
     @SuppressWarnings({"unchecked"})
-    @Nullable @Override public <V1> V1 addMeta(String name, V1 val) {
+    @Nullable @Override public <V1> V1 addMeta(UUID name, V1 val) {
         A.notNull(name, "name", val, "val");
 
         synchronized (this) {
@@ -3948,11 +3948,11 @@ public abstract class GridCacheMapEntry<K, V> 
implements GridCacheEntryEx<K, V>
 
     /** {@inheritDoc} */
     @SuppressWarnings({"unchecked"})
-    @Nullable @Override public <V1> V1 meta(String name) {
+    @Nullable @Override public <V1> V1 meta(UUID name) {
         A.notNull(name, "name");
 
         synchronized (this) {
-            GridLeanMap<String, Object> attrData = attributeDataExtras();
+            GridLeanMap<UUID, Object> attrData = attributeDataExtras();
 
             return attrData == null ? null : (V1)attrData.get(name);
         }
@@ -3960,11 +3960,11 @@ public abstract class GridCacheMapEntry<K, V> 
implements GridCacheEntryEx<K, V>
 
     /** {@inheritDoc} */
     @SuppressWarnings({"unchecked"})
-    @Nullable @Override public <V1> V1 removeMeta(String name) {
+    @Nullable @Override public <V1> V1 removeMeta(UUID name) {
         A.notNull(name, "name");
 
         synchronized (this) {
-            GridLeanMap<String, Object> attrData = attributeDataExtras();
+            GridLeanMap<UUID, Object> attrData = attributeDataExtras();
 
             if (attrData == null)
                 return null;
@@ -3980,11 +3980,11 @@ public abstract class GridCacheMapEntry<K, V> 
implements GridCacheEntryEx<K, V>
 
     /** {@inheritDoc} */
     @SuppressWarnings({"unchecked"})
-    @Override public <V1> boolean removeMeta(String name, V1 val) {
+    @Override public <V1> boolean removeMeta(UUID name, V1 val) {
         A.notNull(name, "name", val, "val");
 
         synchronized (this) {
-            GridLeanMap<String, Object> attrData = attributeDataExtras();
+            GridLeanMap<UUID, Object> attrData = attributeDataExtras();
 
             if (attrData == null)
                 return false;
@@ -4005,13 +4005,13 @@ public abstract class GridCacheMapEntry<K, V> 
implements GridCacheEntryEx<K, V>
     }
 
     /** {@inheritDoc} */
-    @Override public boolean hasMeta(String name) {
+    @Override public boolean hasMeta(UUID name) {
         return meta(name) != null;
     }
 
     /** {@inheritDoc} */
     @SuppressWarnings({"unchecked"})
-    @Nullable @Override public <V1> V1 putMetaIfAbsent(String name, V1 val) {
+    @Nullable @Override public <V1> V1 putMetaIfAbsent(UUID name, V1 val) {
         A.notNull(name, "name", val, "val");
 
         synchronized (this) {
@@ -4026,7 +4026,7 @@ public abstract class GridCacheMapEntry<K, V> implements 
GridCacheEntryEx<K, V>
 
     /** {@inheritDoc} */
     @SuppressWarnings({"RedundantTypeArguments"})
-    @Override public <V1> boolean replaceMeta(String name, V1 curVal, V1 
newVal) {
+    @Override public <V1> boolean replaceMeta(UUID name, V1 curVal, V1 newVal) 
{
         A.notNull(name, "name", newVal, "newVal", curVal, "curVal");
 
         synchronized (this) {
@@ -4054,7 +4054,7 @@ public abstract class GridCacheMapEntry<K, V> implements 
GridCacheEntryEx<K, V>
      */
     @SuppressWarnings({"TooBroadScope"})
     protected void writeExternalMeta(ObjectOutput out) throws IOException {
-        Map<String, Object> cp;
+        Map<UUID, Object> cp;
 
         // Avoid code warning (suppressing is bad here, because we need this 
warning for other places).
         synchronized (this) {
@@ -4075,7 +4075,7 @@ public abstract class GridCacheMapEntry<K, V> implements 
GridCacheEntryEx<K, V>
      */
     @SuppressWarnings({"unchecked"})
     protected void readExternalMeta(ObjectInput in) throws IOException, 
ClassNotFoundException {
-        GridLeanMap<String, Object> cp = (GridLeanMap<String, 
Object>)in.readObject();
+        GridLeanMap<UUID, Object> cp = (GridLeanMap<UUID, 
Object>)in.readObject();
 
         synchronized (this) {
             attributeDataExtras(cp);
@@ -4137,14 +4137,14 @@ public abstract class GridCacheMapEntry<K, V> 
implements GridCacheEntryEx<K, V>
     /**
      * @return Attribute data.
      */
-    @Nullable private GridLeanMap<String, Object> attributeDataExtras() {
+    @Nullable private GridLeanMap<UUID, Object> attributeDataExtras() {
         return extras != null ? extras.attributesData() : null;
     }
 
     /**
      * @param attrData Attribute data.
      */
-    private void attributeDataExtras(@Nullable GridLeanMap<String, Object> 
attrData) {
+    private void attributeDataExtras(@Nullable GridLeanMap<UUID, Object> 
attrData) {
         extras = (extras != null) ? extras.attributesData(attrData) : attrData 
!= null ?
             new GridCacheAttributesEntryExtras<K>(attrData) : null;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java
index fac6ea3..cca0c9b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java
@@ -45,7 +45,7 @@ import java.util.*;
 @SuppressWarnings("AssignmentToCatchBlockParameter")
 public class GridCacheStoreManager<K, V> extends GridCacheManagerAdapter<K, V> 
{
     /** */
-    private static final String SES_ATTR = "STORE_SES";
+    private static final UUID SES_ATTR = UUID.randomUUID();
 
     /** */
     private final CacheStore<K, Object> store;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/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 a3a5b20..bad1084 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
@@ -81,9 +81,9 @@ public class GridCacheUtils {
     public static final long TTL_ZERO = -2L;
 
     /** Per-thread generated UID store. */
-    private static final ThreadLocal<String> UUIDS = new ThreadLocal<String>() 
{
-        @Override protected String initialValue() {
-            return UUID.randomUUID().toString();
+    private static final ThreadLocal<UUID> UUIDS = new ThreadLocal<UUID>() {
+        @Override protected UUID initialValue() {
+            return UUID.randomUUID();
         }
     };
 
@@ -233,7 +233,7 @@ public class GridCacheUtils {
      *
      * @return ID for this thread.
      */
-    public static String uuid() {
+    public static UUID uuid() {
         return UUIDS.get();
     }
 
@@ -292,7 +292,7 @@ public class GridCacheUtils {
      * @param <V> Value type.
      * @return Filter for entries with meta.
      */
-    public static <K, V> IgnitePredicate<K> keyHasMeta(final 
GridCacheContext<K, V> ctx, final String meta) {
+    public static <K, V> IgnitePredicate<K> keyHasMeta(final 
GridCacheContext<K, V> ctx, final UUID meta) {
         return new P1<K>() {
             @Override public boolean apply(K k) {
                 GridCacheEntryEx<K, V> e = ctx.cache().peekEx(k);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesEntryExtras.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesEntryExtras.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesEntryExtras.java
index ddfd359..6e7cc7a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesEntryExtras.java
@@ -23,31 +23,33 @@ import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.jetbrains.annotations.*;
 
+import java.util.*;
+
 /**
  * Extras where attributes are set.
  */
 public class GridCacheAttributesEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K> {
     /** Attributes data. */
-    private GridLeanMap<String, Object> attrData;
+    private GridLeanMap<UUID, Object> attrData;
 
     /**
      * Constructor.
      *
      * @param attrData Attributes data.
      */
-    public GridCacheAttributesEntryExtras(GridLeanMap<String, Object> 
attrData) {
+    public GridCacheAttributesEntryExtras(GridLeanMap<UUID, Object> attrData) {
         assert attrData != null;
 
         this.attrData = attrData;
     }
 
     /** {@inheritDoc} */
-    @Override public GridLeanMap<String, Object> attributesData() {
+    @Override public GridLeanMap<UUID, Object> attributesData() {
         return attrData;
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<String, Object> attrData) {
+    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
         if (attrData != null) {
             this.attrData = attrData;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccEntryExtras.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccEntryExtras.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccEntryExtras.java
index 31d4805..b7803e2 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccEntryExtras.java
@@ -23,12 +23,14 @@ import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.jetbrains.annotations.*;
 
+import java.util.*;
+
 /**
  * Extras where attributes and MVCC are set.
  */
 public class GridCacheAttributesMvccEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K> {
     /** Attributes data. */
-    private GridLeanMap<String, Object> attrData;
+    private GridLeanMap<UUID, Object> attrData;
 
     /** MVCC. */
     private GridCacheMvcc<K> mvcc;
@@ -39,7 +41,7 @@ public class GridCacheAttributesMvccEntryExtras<K> extends 
GridCacheEntryExtrasA
      * @param attrData Attributes data.
      * @param mvcc MVCC.
      */
-    public GridCacheAttributesMvccEntryExtras(GridLeanMap<String, Object> 
attrData, GridCacheMvcc<K> mvcc) {
+    public GridCacheAttributesMvccEntryExtras(GridLeanMap<UUID, Object> 
attrData, GridCacheMvcc<K> mvcc) {
         assert attrData != null;
         assert mvcc != null;
 
@@ -48,12 +50,12 @@ public class GridCacheAttributesMvccEntryExtras<K> extends 
GridCacheEntryExtrasA
     }
 
     /** {@inheritDoc} */
-    @Override public GridLeanMap<String, Object> attributesData() {
+    @Override public GridLeanMap<UUID, Object> attributesData() {
         return attrData;
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<String, Object> attrData) {
+    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
         if (attrData != null) {
             this.attrData = attrData;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteEntryExtras.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteEntryExtras.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteEntryExtras.java
index 4c0b72a..20e839c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteEntryExtras.java
@@ -23,12 +23,14 @@ import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.jetbrains.annotations.*;
 
+import java.util.*;
+
 /**
  * Extras where attributes, MVCC and obsolete version are set.
  */
 public class GridCacheAttributesMvccObsoleteEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K> {
     /** Attributes data. */
-    private GridLeanMap<String, Object> attrData;
+    private GridLeanMap<UUID, Object> attrData;
 
     /** MVCC. */
     private GridCacheMvcc<K> mvcc;
@@ -43,7 +45,7 @@ public class GridCacheAttributesMvccObsoleteEntryExtras<K> 
extends GridCacheEntr
      * @param mvcc MVCC.
      * @param obsoleteVer Obsolete version.
      */
-    public GridCacheAttributesMvccObsoleteEntryExtras(GridLeanMap<String, 
Object> attrData, GridCacheMvcc<K> mvcc,
+    public GridCacheAttributesMvccObsoleteEntryExtras(GridLeanMap<UUID, 
Object> attrData, GridCacheMvcc<K> mvcc,
         GridCacheVersion obsoleteVer) {
         assert attrData != null;
         assert mvcc != null;
@@ -55,12 +57,12 @@ public class GridCacheAttributesMvccObsoleteEntryExtras<K> 
extends GridCacheEntr
     }
 
     /** {@inheritDoc} */
-    @Override public GridLeanMap<String, Object> attributesData() {
+    @Override public GridLeanMap<UUID, Object> attributesData() {
         return attrData;
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<String, Object> attrData) {
+    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
         if (attrData != null) {
             this.attrData = attrData;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteTtlEntryExtras.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteTtlEntryExtras.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteTtlEntryExtras.java
index 0474c2c..90396cb 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteTtlEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteTtlEntryExtras.java
@@ -23,12 +23,14 @@ import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.jetbrains.annotations.*;
 
+import java.util.*;
+
 /**
  * Extras where attributes, MVCC, obsolete version and TTL are set.
  */
 public class GridCacheAttributesMvccObsoleteTtlEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K> {
     /** Attributes data. */
-    private GridLeanMap<String, Object> attrData;
+    private GridLeanMap<UUID, Object> attrData;
 
     /** MVCC. */
     private GridCacheMvcc<K> mvcc;
@@ -51,7 +53,7 @@ public class GridCacheAttributesMvccObsoleteTtlEntryExtras<K> 
extends GridCacheE
      * @param ttl TTL.
      * @param expireTime Expire time.
      */
-    public GridCacheAttributesMvccObsoleteTtlEntryExtras(GridLeanMap<String, 
Object> attrData, GridCacheMvcc<K> mvcc,
+    public GridCacheAttributesMvccObsoleteTtlEntryExtras(GridLeanMap<UUID, 
Object> attrData, GridCacheMvcc<K> mvcc,
         GridCacheVersion obsoleteVer, long ttl, long expireTime) {
         assert attrData != null;
         assert mvcc != null;
@@ -66,12 +68,12 @@ public class 
GridCacheAttributesMvccObsoleteTtlEntryExtras<K> extends GridCacheE
     }
 
     /** {@inheritDoc} */
-    @Override public GridLeanMap<String, Object> attributesData() {
+    @Override public GridLeanMap<UUID, Object> attributesData() {
         return attrData;
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<String, Object> attrData) {
+    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
         if (attrData != null) {
             this.attrData = attrData;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccTtlEntryExtras.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccTtlEntryExtras.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccTtlEntryExtras.java
index cf6e05f..f70ffd7 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccTtlEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccTtlEntryExtras.java
@@ -23,12 +23,14 @@ import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.jetbrains.annotations.*;
 
+import java.util.*;
+
 /**
  * Extras where attributes, MVCC and TTL are set.
  */
 public class GridCacheAttributesMvccTtlEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K> {
     /** Attributes data. */
-    private GridLeanMap<String, Object> attrData;
+    private GridLeanMap<UUID, Object> attrData;
 
     /** MVCC. */
     private GridCacheMvcc<K> mvcc;
@@ -47,7 +49,7 @@ public class GridCacheAttributesMvccTtlEntryExtras<K> extends 
GridCacheEntryExtr
      * @param ttl TTL.
      * @param expireTime Expire time.
      */
-    public GridCacheAttributesMvccTtlEntryExtras(GridLeanMap<String, Object> 
attrData, GridCacheMvcc<K> mvcc, long ttl,
+    public GridCacheAttributesMvccTtlEntryExtras(GridLeanMap<UUID, Object> 
attrData, GridCacheMvcc<K> mvcc, long ttl,
         long expireTime) {
         assert attrData != null;
         assert mvcc != null;
@@ -60,12 +62,12 @@ public class GridCacheAttributesMvccTtlEntryExtras<K> 
extends GridCacheEntryExtr
     }
 
     /** {@inheritDoc} */
-    @Override public GridLeanMap<String, Object> attributesData() {
+    @Override public GridLeanMap<UUID, Object> attributesData() {
         return attrData;
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<String, Object> attrData) {
+    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
         if (attrData != null) {
             this.attrData = attrData;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteEntryExtras.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteEntryExtras.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteEntryExtras.java
index 5f7b9f4..93d8aa6 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteEntryExtras.java
@@ -23,12 +23,14 @@ import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.jetbrains.annotations.*;
 
+import java.util.*;
+
 /**
  * Extras where attributes and obsolete version are set.
  */
 public class GridCacheAttributesObsoleteEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K> {
     /** Attributes data. */
-    private GridLeanMap<String, Object> attrData;
+    private GridLeanMap<UUID, Object> attrData;
 
     /** Obsolete version. */
     private GridCacheVersion obsoleteVer;
@@ -39,7 +41,7 @@ public class GridCacheAttributesObsoleteEntryExtras<K> 
extends GridCacheEntryExt
      * @param attrData Attributes data.
      * @param obsoleteVer Obsolete version.
      */
-    public GridCacheAttributesObsoleteEntryExtras(GridLeanMap<String, Object> 
attrData, GridCacheVersion obsoleteVer) {
+    public GridCacheAttributesObsoleteEntryExtras(GridLeanMap<UUID, Object> 
attrData, GridCacheVersion obsoleteVer) {
         assert attrData != null;
         assert obsoleteVer != null;
 
@@ -48,12 +50,12 @@ public class GridCacheAttributesObsoleteEntryExtras<K> 
extends GridCacheEntryExt
     }
 
     /** {@inheritDoc} */
-    @Override public GridLeanMap<String, Object> attributesData() {
+    @Override public GridLeanMap<UUID, Object> attributesData() {
         return attrData;
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<String, Object> attrData) {
+    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
         if (attrData != null) {
             this.attrData = attrData;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteTtlEntryExtras.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteTtlEntryExtras.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteTtlEntryExtras.java
index 8a16f0d..1169352 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteTtlEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteTtlEntryExtras.java
@@ -23,12 +23,14 @@ import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.jetbrains.annotations.*;
 
+import java.util.*;
+
 /**
  * Extras where attributes, obsolete version and TTL are set.
  */
 public class GridCacheAttributesObsoleteTtlEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K> {
     /** Attributes data. */
-    private GridLeanMap<String, Object> attrData;
+    private GridLeanMap<UUID, Object> attrData;
 
     /** Obsolete version. */
     private GridCacheVersion obsoleteVer;
@@ -47,7 +49,7 @@ public class GridCacheAttributesObsoleteTtlEntryExtras<K> 
extends GridCacheEntry
      * @param ttl TTL.
      * @param expireTime Expire time.
      */
-    public GridCacheAttributesObsoleteTtlEntryExtras(GridLeanMap<String, 
Object> attrData, GridCacheVersion obsoleteVer,
+    public GridCacheAttributesObsoleteTtlEntryExtras(GridLeanMap<UUID, Object> 
attrData, GridCacheVersion obsoleteVer,
         long ttl, long expireTime) {
         assert attrData != null;
         assert obsoleteVer != null;
@@ -60,12 +62,12 @@ public class GridCacheAttributesObsoleteTtlEntryExtras<K> 
extends GridCacheEntry
     }
 
     /** {@inheritDoc} */
-    @Override public GridLeanMap<String, Object> attributesData() {
+    @Override public GridLeanMap<UUID, Object> attributesData() {
         return attrData;
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<String, Object> attrData) {
+    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
         if (attrData != null) {
             this.attrData = attrData;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesTtlEntryExtras.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesTtlEntryExtras.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesTtlEntryExtras.java
index 108e81b..b78ea9e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesTtlEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesTtlEntryExtras.java
@@ -23,12 +23,14 @@ import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.jetbrains.annotations.*;
 
+import java.util.*;
+
 /**
  * Extras where attributes and TTL are set.
  */
 public class GridCacheAttributesTtlEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K> {
     /** Attributes data. */
-    private GridLeanMap<String, Object> attrData;
+    private GridLeanMap<UUID, Object> attrData;
 
     /** TTL. */
     private long ttl;
@@ -43,7 +45,7 @@ public class GridCacheAttributesTtlEntryExtras<K> extends 
GridCacheEntryExtrasAd
      * @param ttl TTL.
      * @param expireTime Expire time.
      */
-    public GridCacheAttributesTtlEntryExtras(GridLeanMap<String, Object> 
attrData, long ttl, long expireTime) {
+    public GridCacheAttributesTtlEntryExtras(GridLeanMap<UUID, Object> 
attrData, long ttl, long expireTime) {
         assert attrData != null;
         assert ttl != 0;
 
@@ -53,12 +55,12 @@ public class GridCacheAttributesTtlEntryExtras<K> extends 
GridCacheEntryExtrasAd
     }
 
     /** {@inheritDoc} */
-    @Override public GridLeanMap<String, Object> attributesData() {
+    @Override public GridLeanMap<UUID, Object> attributesData() {
         return attrData;
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<String, Object> attrData) {
+    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
         if (attrData != null) {
             this.attrData = attrData;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtras.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtras.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtras.java
index b0d1d2b..85b9250 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtras.java
@@ -22,6 +22,8 @@ import org.apache.ignite.internal.processors.cache.version.*;
 import org.apache.ignite.internal.util.*;
 import org.jetbrains.annotations.*;
 
+import java.util.*;
+
 /**
  * Cache extras.
  */
@@ -29,13 +31,13 @@ public interface GridCacheEntryExtras<K> {
     /**
      * @return Attributes data.
      */
-    @Nullable public GridLeanMap<String, Object> attributesData();
+    @Nullable public GridLeanMap<UUID, Object> attributesData();
 
     /**
      * @param attrData Attributes data.
      * @return Updated extras.
      */
-    public GridCacheEntryExtras<K> attributesData(GridLeanMap<String, Object> 
attrData);
+    public GridCacheEntryExtras<K> attributesData(GridLeanMap<UUID, Object> 
attrData);
 
     /**
      * @return MVCC.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtrasAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtrasAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtrasAdapter.java
index 6945a31..c796960 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtrasAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtrasAdapter.java
@@ -21,12 +21,14 @@ import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.internal.processors.cache.version.*;
 import org.apache.ignite.internal.util.*;
 
+import java.util.*;
+
 /**
  * Cache extras adapter.
  */
 public abstract class GridCacheEntryExtrasAdapter<K> implements 
GridCacheEntryExtras<K> {
     /** {@inheritDoc} */
-    @Override public GridLeanMap<String, Object> attributesData() {
+    @Override public GridLeanMap<UUID, Object> attributesData() {
         return null;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccEntryExtras.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccEntryExtras.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccEntryExtras.java
index 369307d..2256d69 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccEntryExtras.java
@@ -22,6 +22,8 @@ import org.apache.ignite.internal.processors.cache.version.*;
 import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 
+import java.util.*;
+
 /**
  * Extras where MVCC is set.
  */
@@ -41,7 +43,7 @@ public class GridCacheMvccEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K>
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheEntryExtras<K> 
attributesData(GridLeanMap<String, Object> attrData) {
+    @Override public GridCacheEntryExtras<K> attributesData(GridLeanMap<UUID, 
Object> attrData) {
         return attrData != null ? new 
GridCacheAttributesMvccEntryExtras<>(attrData, mvcc) : this;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteEntryExtras.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteEntryExtras.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteEntryExtras.java
index 78c07e0..6ba91c6 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteEntryExtras.java
@@ -22,6 +22,8 @@ import org.apache.ignite.internal.processors.cache.version.*;
 import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 
+import java.util.*;
+
 /**
  * Extras where MVCC and obsolete version are set.
  */
@@ -47,7 +49,7 @@ public class GridCacheMvccObsoleteEntryExtras<K> extends 
GridCacheEntryExtrasAda
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheEntryExtras<K> 
attributesData(GridLeanMap<String, Object> attrData) {
+    @Override public GridCacheEntryExtras<K> attributesData(GridLeanMap<UUID, 
Object> attrData) {
         return attrData != null ? new 
GridCacheAttributesMvccObsoleteEntryExtras<>(attrData, mvcc, obsoleteVer) : 
this;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteTtlEntryExtras.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteTtlEntryExtras.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteTtlEntryExtras.java
index bc68190..61b1b45 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteTtlEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteTtlEntryExtras.java
@@ -22,6 +22,8 @@ import org.apache.ignite.internal.processors.cache.version.*;
 import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 
+import java.util.*;
+
 /**
  * Extras where MVCC, obsolete version and TTL are set.
  */
@@ -59,7 +61,7 @@ public class GridCacheMvccObsoleteTtlEntryExtras<K> extends 
GridCacheEntryExtras
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheEntryExtras<K> 
attributesData(GridLeanMap<String, Object> attrData) {
+    @Override public GridCacheEntryExtras<K> attributesData(GridLeanMap<UUID, 
Object> attrData) {
         return attrData != null ? new 
GridCacheAttributesMvccObsoleteTtlEntryExtras<>(attrData, mvcc, obsoleteVer, 
ttl,
             expireTime) : this;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccTtlEntryExtras.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccTtlEntryExtras.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccTtlEntryExtras.java
index 47074ae..4944773 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccTtlEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccTtlEntryExtras.java
@@ -22,6 +22,8 @@ import org.apache.ignite.internal.processors.cache.version.*;
 import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 
+import java.util.*;
+
 /**
  * Extras where MVCC and TTL are set.
  */
@@ -52,7 +54,7 @@ public class GridCacheMvccTtlEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheEntryExtras<K> 
attributesData(GridLeanMap<String, Object> attrData) {
+    @Override public GridCacheEntryExtras<K> attributesData(GridLeanMap<UUID, 
Object> attrData) {
         return attrData != null ? new 
GridCacheAttributesMvccTtlEntryExtras<>(attrData, mvcc, ttl, expireTime) : this;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteEntryExtras.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteEntryExtras.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteEntryExtras.java
index 9f8b4ba..81f622f 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteEntryExtras.java
@@ -22,6 +22,8 @@ import org.apache.ignite.internal.processors.cache.version.*;
 import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 
+import java.util.*;
+
 /**
  * Extras where obsolete version is set.
  */
@@ -41,7 +43,7 @@ public class GridCacheObsoleteEntryExtras<K> extends 
GridCacheEntryExtrasAdapter
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheEntryExtras<K> 
attributesData(GridLeanMap<String, Object> attrData) {
+    @Override public GridCacheEntryExtras<K> attributesData(GridLeanMap<UUID, 
Object> attrData) {
         return attrData != null ? new 
GridCacheAttributesObsoleteEntryExtras<K>(attrData, obsoleteVer) : this;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteTtlEntryExtras.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteTtlEntryExtras.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteTtlEntryExtras.java
index 13affe6..ffe776e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteTtlEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteTtlEntryExtras.java
@@ -22,6 +22,8 @@ import org.apache.ignite.internal.processors.cache.version.*;
 import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 
+import java.util.*;
+
 /**
  * Extras where obsolete version and TTL are set.
  */
@@ -52,7 +54,7 @@ public class GridCacheObsoleteTtlEntryExtras<K> extends 
GridCacheEntryExtrasAdap
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheEntryExtras<K> 
attributesData(GridLeanMap<String, Object> attrData) {
+    @Override public GridCacheEntryExtras<K> attributesData(GridLeanMap<UUID, 
Object> attrData) {
         return attrData != null ? new 
GridCacheAttributesObsoleteTtlEntryExtras<K>(attrData, obsoleteVer, ttl,
             expireTime) : this;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheTtlEntryExtras.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheTtlEntryExtras.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheTtlEntryExtras.java
index 31bf4dc..f056ba5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheTtlEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheTtlEntryExtras.java
@@ -22,6 +22,8 @@ import org.apache.ignite.internal.processors.cache.version.*;
 import org.apache.ignite.internal.util.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 
+import java.util.*;
+
 /**
  * Extras where TTL and expire time are set.
  */
@@ -46,7 +48,7 @@ public class GridCacheTtlEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K> {
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheEntryExtras<K> 
attributesData(GridLeanMap<String, Object> attrData) {
+    @Override public GridCacheEntryExtras<K> attributesData(GridLeanMap<UUID, 
Object> attrData) {
         return attrData != null ? new 
GridCacheAttributesTtlEntryExtras<K>(attrData, ttl, expireTime) : this;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteInternalTx.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteInternalTx.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteInternalTx.java
index a06a558..527e25e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteInternalTx.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteInternalTx.java
@@ -191,7 +191,7 @@ public interface IgniteInternalTx<K, V> extends 
AutoCloseable, GridTimeoutObject
      * @param <T> Type of the value.
      * @return Value of removed metadata or {@code null}.
      */
-    @Nullable public <T> T removeMeta(String name);
+    @Nullable public <T> T removeMeta(UUID name);
 
     /**
      * Gets metadata by name.
@@ -200,7 +200,7 @@ public interface IgniteInternalTx<K, V> extends 
AutoCloseable, GridTimeoutObject
      * @param <T> Type of the value.
      * @return Metadata value or {@code null}.
      */
-    @Nullable public <T> T meta(String name);
+    @Nullable public <T> T meta(UUID name);
 
     /**
      * Adds a new metadata.
@@ -211,7 +211,7 @@ public interface IgniteInternalTx<K, V> extends 
AutoCloseable, GridTimeoutObject
      * @return Metadata previously associated with given name, or
      *      {@code null} if there was none.
      */
-    @Nullable public <T> T addMeta(String name, T val);
+    @Nullable public <T> T addMeta(UUID name, T val);
 
     /**
      * @return Size of the transaction.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/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 62d4e3b..796696d 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
@@ -1622,17 +1622,17 @@ public abstract class IgniteTxAdapter<K, V> extends 
GridMetadataAwareAdapter
         }
 
         /** {@inheritDoc} */
-        @Nullable @Override public Object addMeta(String name, Object val) {
+        @Nullable @Override public Object addMeta(UUID name, Object val) {
             throw new IllegalStateException("Deserialized transaction can only 
be used as read-only.");
         }
 
         /** {@inheritDoc} */
-        @Nullable @Override public Object removeMeta(String name) {
+        @Nullable @Override public Object removeMeta(UUID name) {
             throw new IllegalStateException("Deserialized transaction can only 
be used as read-only.");
         }
 
         /** {@inheritDoc} */
-        @Nullable @Override public Object meta(String name) {
+        @Nullable @Override public Object meta(UUID name) {
             throw new IllegalStateException("Deserialized transaction can only 
be used as read-only.");
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TransactionProxyImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TransactionProxyImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TransactionProxyImpl.java
index 95f54a1..7a57fa5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TransactionProxyImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TransactionProxyImpl.java
@@ -299,19 +299,19 @@ public class TransactionProxyImpl<K, V> implements 
TransactionProxy, Externaliza
     }
 
     /** {@inheritDoc} */
-    @Override public <V1> V1 addMeta(String name, V1 val) {
+    @Override public <V1> V1 addMeta(UUID name, V1 val) {
         return tx.addMeta(name, val);
     }
 
     /** {@inheritDoc} */
     @SuppressWarnings({"RedundantTypeArguments"})
-    @Override public <V1> V1 meta(String name) {
+    @Override public <V1> V1 meta(UUID name) {
         return tx.<V1>meta(name);
     }
 
     /** {@inheritDoc} */
     @SuppressWarnings({"RedundantTypeArguments"})
-    @Override public <V1> V1 removeMeta(String name) {
+    @Override public <V1> V1 removeMeta(UUID name) {
         return tx.<V1>removeMeta(name);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridMetadataAwareAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridMetadataAwareAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridMetadataAwareAdapter.java
index 9af450e..6773634 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridMetadataAwareAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/util/lang/GridMetadataAwareAdapter.java
@@ -36,7 +36,7 @@ import java.util.concurrent.*;
 public class GridMetadataAwareAdapter {
     /** Attributes. */
     @GridToStringInclude
-    private GridLeanMap<String, Object> data;
+    private GridLeanMap<UUID, Object> data;
 
     /** Serializable mutex. */
     @SuppressWarnings( {"FieldAccessedSynchronizedAndUnsynchronized"})
@@ -54,7 +54,7 @@ public class GridMetadataAwareAdapter {
      *
      * @param data Data to copy.
      */
-    public GridMetadataAwareAdapter(Map<String, Object> data) {
+    public GridMetadataAwareAdapter(Map<UUID, Object> data) {
         mux = new GridMutex();
 
         if (data != null && !data.isEmpty())
@@ -99,7 +99,7 @@ public class GridMetadataAwareAdapter {
      *
      * @param data Map to copy metadata from.
      */
-    public void copyMeta(Map<String, ?> data) {
+    public void copyMeta(Map<UUID, ?> data) {
         A.notNull(data, "data");
 
         synchronized (mux) {
@@ -119,7 +119,7 @@ public class GridMetadataAwareAdapter {
      *      {@code null} if there was none.
      */
     @SuppressWarnings({"unchecked"})
-    @Nullable public <V> V addMeta(String name, V val) {
+    @Nullable public <V> V addMeta(UUID name, V val) {
         A.notNull(name, "name", val, "val");
 
         synchronized (mux) {
@@ -137,7 +137,7 @@ public class GridMetadataAwareAdapter {
      * @return Metadata value or {@code null}.
      */
     @SuppressWarnings({"unchecked"})
-    @Nullable public <V> V meta(String name) {
+    @Nullable public <V> V meta(UUID name) {
         A.notNull(name, "name");
 
         synchronized (mux) {
@@ -153,7 +153,7 @@ public class GridMetadataAwareAdapter {
      * @return Value of removed metadata or {@code null}.
      */
     @SuppressWarnings({"unchecked"})
-    @Nullable public <V> V removeMeta(String name) {
+    @Nullable public <V> V removeMeta(UUID name) {
         A.notNull(name, "name");
 
         synchronized (mux) {
@@ -178,7 +178,7 @@ public class GridMetadataAwareAdapter {
      * @return {@code True} if value was removed, {@code false} otherwise.
      */
     @SuppressWarnings({"unchecked"})
-    public <V> boolean removeMeta(String name, V val) {
+    public <V> boolean removeMeta(UUID name, V val) {
         A.notNull(name, "name", val, "val");
 
         synchronized (mux) {
@@ -204,17 +204,17 @@ public class GridMetadataAwareAdapter {
      * @return All metadata in this entry.
      */
     @SuppressWarnings( {"unchecked", "RedundantCast"})
-    public <V> Map<String, V> allMeta() {
+    public <V> Map<UUID, V> allMeta() {
         synchronized (mux) {
             if (data == null)
                 return Collections.emptyMap();
 
             if (data.size() <= 5)
                 // This is a singleton unmodifiable map.
-                return (Map<String, V>)data;
+                return (Map<UUID, V>)data;
 
             // Return a copy.
-            return new HashMap<>((Map<String, V>) data);
+            return new HashMap<>((Map<UUID, V>) data);
         }
     }
 
@@ -224,7 +224,7 @@ public class GridMetadataAwareAdapter {
      * @param name Name of the metadata to test.
      * @return Whether or not given metadata is set.
      */
-    public boolean hasMeta(String name) {
+    public boolean hasMeta(UUID name) {
         return meta(name) != null;
     }
 
@@ -234,7 +234,7 @@ public class GridMetadataAwareAdapter {
      * @param name Name of the metadata to test.
      * @return Whether or not given metadata is set.
      */
-    public <V> boolean hasMeta(String name, V val) {
+    public <V> boolean hasMeta(UUID name, V val) {
         A.notNull(name, "name");
 
         Object v = meta(name);
@@ -251,7 +251,7 @@ public class GridMetadataAwareAdapter {
      * @return {@code null} if new value was put, or current value if put 
didn't happen.
      */
     @SuppressWarnings({"unchecked"})
-    @Nullable public <V> V putMetaIfAbsent(String name, V val) {
+    @Nullable public <V> V putMetaIfAbsent(UUID name, V val) {
         A.notNull(name, "name", val, "val");
 
         synchronized (mux) {
@@ -274,7 +274,7 @@ public class GridMetadataAwareAdapter {
      * @return The value of the metadata after execution of this method.
      */
     @SuppressWarnings({"unchecked"})
-    public <V> V addMetaIfAbsent(String name, V val) {
+    public <V> V addMetaIfAbsent(UUID name, V val) {
         A.notNull(name, "name", val, "val");
 
         synchronized (mux) {
@@ -292,7 +292,7 @@ public class GridMetadataAwareAdapter {
      *
      * @param name Metadata name.
      * @param c Factory closure to produce value to add if it's not attached 
already.
-     *      Not that unlike {@link #addMeta(String, Object)} method the 
factory closure will
+     *      Not that unlike {@link #addMeta(UUID, Object)} method the factory 
closure will
      *      not be called unless the value is required and therefore value 
will only be created
      *      when it is actually needed. If {@code null} and metadata value is 
missing - {@code null}
      *      will be returned from this method.
@@ -300,7 +300,7 @@ public class GridMetadataAwareAdapter {
      * @return The value of the metadata after execution of this method.
      */
     @SuppressWarnings({"unchecked"})
-    @Nullable public <V> V addMetaIfAbsent(String name, @Nullable Callable<V> 
c) {
+    @Nullable public <V> V addMetaIfAbsent(UUID name, @Nullable Callable<V> c) 
{
         A.notNull(name, "name", c, "c");
 
         synchronized (mux) {
@@ -328,7 +328,7 @@ public class GridMetadataAwareAdapter {
      * @return {@code true} if replacement occurred, {@code false} otherwise.
      */
     @SuppressWarnings({"RedundantTypeArguments"})
-    public <V> boolean replaceMeta(String name, V curVal, V newVal) {
+    public <V> boolean replaceMeta(UUID name, V curVal, V newVal) {
         A.notNull(name, "name", newVal, "newVal", curVal, "curVal");
 
         synchronized (mux) {
@@ -355,7 +355,7 @@ public class GridMetadataAwareAdapter {
      * @throws IOException If I/O error occurred.
      */
     protected void writeExternalMeta(ObjectOutput out) throws IOException {
-        Map<String, Object> cp;
+        Map<UUID, Object> cp;
 
         // Avoid code warning (suppressing is bad here, because we need this 
warning for other places).
         synchronized (mux) {
@@ -376,7 +376,7 @@ public class GridMetadataAwareAdapter {
      */
     @SuppressWarnings({"unchecked"})
     protected void readExternalMeta(ObjectInput in) throws IOException, 
ClassNotFoundException {
-        GridLeanMap<String, Object> cp = (GridLeanMap<String, 
Object>)in.readObject();
+        GridLeanMap<UUID, Object> cp = (GridLeanMap<UUID, 
Object>)in.readObject();
 
         synchronized (mux) {
             data = cp;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/main/java/org/apache/ignite/transactions/Transaction.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/transactions/Transaction.java 
b/modules/core/src/main/java/org/apache/ignite/transactions/Transaction.java
index e2fc42d..8ccab34 100644
--- a/modules/core/src/main/java/org/apache/ignite/transactions/Transaction.java
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/Transaction.java
@@ -252,7 +252,7 @@ public interface Transaction extends AutoCloseable, 
IgniteAsyncSupport {
      * @param <V> Type of the value.
      * @return Value of removed metadata or {@code null}.
      */
-    @Nullable public <V> V removeMeta(String name);
+    @Nullable public <V> V removeMeta(UUID name);
 
     /**
      * Gets metadata by name.
@@ -261,7 +261,7 @@ public interface Transaction extends AutoCloseable, 
IgniteAsyncSupport {
      * @param <V> Type of the value.
      * @return Metadata value or {@code null}.
      */
-    @Nullable public <V> V meta(String name);
+    @Nullable public <V> V meta(UUID name);
 
     /**
      * Adds a new metadata.
@@ -272,5 +272,5 @@ public interface Transaction extends AutoCloseable, 
IgniteAsyncSupport {
      * @return Metadata previously associated with given name, or
      *      {@code null} if there was none.
      */
-    @Nullable public <V> V addMeta(String name, V val);
+    @Nullable public <V> V addMeta(UUID name, V val);
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/eviction/GridCacheMockEntry.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/eviction/GridCacheMockEntry.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/eviction/GridCacheMockEntry.java
index 73e3024..4dbcc09 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/eviction/GridCacheMockEntry.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/eviction/GridCacheMockEntry.java
@@ -24,6 +24,7 @@ import org.apache.ignite.internal.util.typedef.internal.*;
 import org.jetbrains.annotations.*;
 
 import javax.cache.*;
+import java.util.*;
 
 
 /**
@@ -32,7 +33,7 @@ import javax.cache.*;
 public class GridCacheMockEntry<K, V> extends GridMetadataAwareAdapter 
implements Cache.Entry<K, V>,
     EvictableEntry<K, V> {
     /** */
-    private static final String META_KEY = "ignite-mock-eviction-entry-meta";
+    private static final UUID META_KEY = UUID.randomUUID();
 
     /** */
     @GridToStringInclude
@@ -74,7 +75,7 @@ public class GridCacheMockEntry<K, V> extends 
GridMetadataAwareAdapter implement
      *
      */
     private void onEvicted() {
-        for (String key : allMeta().keySet())
+        for (UUID key : allMeta().keySet())
             removeMeta(key);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/test/java/org/apache/ignite/internal/util/nio/impl/GridNioFilterChainSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/util/nio/impl/GridNioFilterChainSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/util/nio/impl/GridNioFilterChainSelfTest.java
index 55bb51a..c9e18e2 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/util/nio/impl/GridNioFilterChainSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/util/nio/impl/GridNioFilterChainSelfTest.java
@@ -25,6 +25,7 @@ import org.jetbrains.annotations.*;
 
 import java.net.*;
 import java.nio.*;
+import java.util.*;
 import java.util.concurrent.atomic.*;
 
 /**
@@ -344,17 +345,17 @@ public class GridNioFilterChainSelfTest extends 
GridCommonAbstractTest {
 
         /** {@inheritDoc} */
         @Override public <T> T meta(int key) {
-            return meta(String.valueOf(key));
+            return meta(new UUID(key, key));
         }
 
         /** {@inheritDoc} */
         @Override public <T> T addMeta(int key, T val) {
-            return addMeta(String.valueOf(key), val);
+            return addMeta(new UUID(key, key), val);
         }
 
         /** {@inheritDoc} */
         @Override public <T> T removeMeta(int key) {
-            return removeMeta(String.valueOf(key));
+            return removeMeta(new UUID(key, key));
         }
 
         /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1209175d/modules/core/src/test/java/org/apache/ignite/lang/GridMetadataAwareAdapterSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/lang/GridMetadataAwareAdapterSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/lang/GridMetadataAwareAdapterSelfTest.java
index a7b2bc1..db5ddab 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/lang/GridMetadataAwareAdapterSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/lang/GridMetadataAwareAdapterSelfTest.java
@@ -41,78 +41,90 @@ public class GridMetadataAwareAdapterSelfTest extends 
GridCommonAbstractTest {
     public void test() {
         GridMetadataAwareAdapter ma = new GridMetadataAwareAdapter();
 
+        UUID attr1 = UUID.randomUUID();
+        UUID attr2 = UUID.randomUUID();
+        UUID attr3 = UUID.randomUUID();
+        UUID attr4 = UUID.randomUUID();
+        UUID attr156 = UUID.randomUUID();
+        UUID k1 = UUID.randomUUID();
+        UUID k2 = UUID.randomUUID();
+        UUID k3 = UUID.randomUUID();
+        UUID a1 = UUID.randomUUID();
+        UUID a2 = UUID.randomUUID();
+        UUID a3 = UUID.randomUUID();
+
         // addMeta(name, val).
-        assert ma.addMeta("attr1", "val1") == null;
-        assert ma.addMeta("attr2", 1) == null;
+        assert ma.addMeta(attr1, "val1") == null;
+        assert ma.addMeta(attr2, 1) == null;
 
         // hasMeta(name).
-        assert ma.hasMeta("attr1");
-        assert !ma.hasMeta("attr3");
+        assert ma.hasMeta(attr1);
+        assert !ma.hasMeta(attr3);
 
         // hasMeta(name, val).
-        assert ma.hasMeta("attr1", "val1");
-        assert !ma.hasMeta("attr1", "some another val");
+        assert ma.hasMeta(attr1, "val1");
+        assert !ma.hasMeta(attr1, "some another val");
 
         // meta(name).
-        assertEquals("val1", ma.meta("attr1"));
-        assertEquals(1, ma.meta("attr2"));
+        assertEquals("val1", ma.meta(attr1));
+        assertEquals(1, ma.meta(attr2));
 
         // allMeta().
-        Map<String, Object> allMeta = ma.allMeta();
+        Map<UUID, Object> allMeta = ma.allMeta();
 
         assert allMeta != null;
         assert allMeta.size() == 2;
 
-        assertEquals("val1", allMeta.get("attr1"));
-        assertEquals(1, allMeta.get("attr2"));
+        assertEquals("val1", allMeta.get(attr1));
+        assertEquals(1, allMeta.get(attr2));
 
         // addMetaIfAbsent(name, val).
-        assert ma.addMetaIfAbsent("attr2", 2) == 1;
-        assert ma.addMetaIfAbsent("attr3", 3) == 3;
+        assert ma.addMetaIfAbsent(attr2, 2) == 1;
+        assert ma.addMetaIfAbsent(attr3, 3) == 3;
 
         // addMetaIfAbsent(name, c).
-        assert ma.addMetaIfAbsent("attr2", new Callable<Integer>() {
+        assert ma.addMetaIfAbsent(attr2, new Callable<Integer>() {
             @Override public Integer call() throws Exception {
                 return 5;
             }
         }) == 1;
 
-        assert ma.addMetaIfAbsent("attr4", new Callable<Integer>() {
+        assert ma.addMetaIfAbsent(attr4, new Callable<Integer>() {
             @Override public Integer call() throws Exception {
                 return 5;
             }
         }) == 5;
 
         // removeMeta(name).
-        assertEquals(3, ma.removeMeta("attr3"));
-        assertEquals(5, ma.removeMeta("attr4"));
+        assertEquals(3, ma.removeMeta(attr3));
+        assertEquals(5, ma.removeMeta(attr4));
 
-        assert ma.removeMeta("attr156") == null;
+        assert ma.removeMeta(attr156) == null;
 
         // replaceMeta(name, newVal, curVal).
-        assert !ma.replaceMeta("attr2", 5, 4);
-        assert ma.replaceMeta("attr2", 1, 4);
+        assert !ma.replaceMeta(attr2, 5, 4);
+        assert ma.replaceMeta(attr2, 1, 4);
 
         // copyMeta(from).
-        ma.copyMeta(new GridMetadataAwareAdapter(F.<String, Object>asMap("k1", 
"v1", "k2", 2)));
+        ma.copyMeta(new GridMetadataAwareAdapter(F.<UUID, Object>asMap(k1, 
"v1", k2, 2)));
 
-        assertEquals("v1", ma.meta("k1"));
-        assertEquals(2, ma.meta("k2"));
-        assertEquals("val1", allMeta.get("attr1"));
-        assertEquals(4, allMeta.get("attr2"));
+        assertEquals("v1", ma.meta(k1));
+        assertEquals(2, ma.meta(k2));
+        assertEquals("val1", allMeta.get(attr1));
+        assertEquals(4, allMeta.get(attr2));
 
-        assert !ma.hasMeta("k3");
+        assert !ma.hasMeta(k3);
 
         // copyMeta(from).
-        ma.copyMeta(F.asMap("1", 1, "2", 2));
+        ma.copyMeta(F.asMap(a1, 1, a2, 2));
 
-        assertEquals(1, ma.meta("1"));
-        assertEquals(2, ma.meta("2"));
-        assertEquals("v1", ma.meta("k1"));
-        assertEquals(2, ma.meta("k2"));
-        assertEquals("val1", allMeta.get("attr1"));
-        assertEquals(4, allMeta.get("attr2"));
+        assertEquals(1, ma.meta(a1));
+        assertEquals(2, ma.meta(a2));
+        assertEquals("v1", ma.meta(k1));
+        assertEquals(2, ma.meta(k2));
+        assertEquals("val1", allMeta.get(attr1));
+        assertEquals(4, allMeta.get(attr2));
 
-        assert !ma.hasMeta("3");
+        assert !ma.hasMeta(a3);
     }
 }

Reply via email to