Merge branch 'ignite-1847' into ignite-1816 Conflicts: modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/158b0fdc Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/158b0fdc Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/158b0fdc Branch: refs/heads/ignite-1816 Commit: 158b0fdcd7792ad2b60d2c9dac7996729a6b30b3 Parents: bb46df1 07f9055 Author: vozerov-gridgain <voze...@gridgain.com> Authored: Mon Nov 16 10:33:42 2015 +0300 Committer: vozerov-gridgain <voze...@gridgain.com> Committed: Mon Nov 16 10:33:42 2015 +0300 ---------------------------------------------------------------------- .../CacheObjectBinaryProcessorImpl.java | 40 +++---- .../cache/portable/PortableMetaDataKey.java | 82 -------------- .../cache/portable/PortableMetadataKey.java | 82 ++++++++++++++ modules/platforms/cpp/common/src/java.cpp | 110 +++++++++++++------ 4 files changed, 181 insertions(+), 133 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/158b0fdc/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java index 6538b14,05cfb5f..c581dd3 --- 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 @@@ -292,25 -294,27 +292,25 @@@ public class CacheObjectBinaryProcessor * @param key Metadata key. * @param newMeta Metadata. */ - private void addClientCacheMetaData(PortableMetaDataKey key, final BinaryMetadata newMeta) { + private void addClientCacheMetaData(PortableMetadataKey key, final BinaryMetadata newMeta) { int key0 = key.typeId(); - clientMetaDataCache.compute(key0, - new ConcurrentHashMap8.BiFun<Integer, BinaryTypeImpl, BinaryTypeImpl>() { - @Override public BinaryTypeImpl apply(Integer key, BinaryTypeImpl oldMeta) { - BinaryMetadata res; + clientMetaDataCache.compute(key0, new ConcurrentHashMap8.BiFun<Integer, BinaryTypeImpl, BinaryTypeImpl>() { + @Override public BinaryTypeImpl apply(Integer key, BinaryTypeImpl oldMeta) { + BinaryMetadata res; - BinaryMetadata oldMeta0 = oldMeta != null ? oldMeta.metadata() : null; + BinaryMetadata oldMeta0 = oldMeta != null ? oldMeta.metadata() : null; - try { - res = checkMeta(key, oldMeta0, newMeta, null) ? newMeta : oldMeta0; - } - catch (BinaryObjectException e) { - res = oldMeta0; - } - - return res != null ? res.wrap(portableCtx) : null; + try { + res = PortableUtils.mergeMetadata(oldMeta0, newMeta); + } + catch (BinaryObjectException e) { + res = oldMeta0; } + + return res != null ? res.wrap(portableCtx) : null; } - ); + }); } /** {@inheritDoc} */