ignite-1.5 Fix for transaction retry logic in DataStructuresProcessor.

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

Branch: refs/heads/ignite-1537
Commit: 5dbfa9264b0124c145399612fa02c344adafa51f
Parents: 847bd42
Author: sboikov <[email protected]>
Authored: Fri Dec 11 10:59:47 2015 +0300
Committer: sboikov <[email protected]>
Committed: Fri Dec 11 10:59:47 2015 +0300

----------------------------------------------------------------------
 .../cache/portable/CacheObjectBinaryProcessorImpl.java  | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/5dbfa926/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
index cd65681..5d26aae 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
@@ -499,8 +499,16 @@ public class CacheObjectBinaryProcessorImpl extends 
IgniteCacheObjectProcessorIm
     /** {@inheritDoc} */
     @Nullable @Override public BinaryType metadata(final int typeId) throws 
BinaryObjectException {
         try {
-            if (clientNode)
-                return clientMetaDataCache.get(typeId);
+            if (clientNode) {
+                BinaryType typeMeta = clientMetaDataCache.get(typeId);
+
+                if (typeMeta != null)
+                    return typeMeta;
+
+                BinaryMetadata meta = metaDataCache.getTopologySafe(new 
PortableMetadataKey(typeId));
+
+                return meta != null ? meta.wrap(portableCtx) : null;
+            }
             else {
                 PortableMetadataKey key = new PortableMetadataKey(typeId);
 

Reply via email to