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);
