IGNITE-2100: Returned back "predefined" flag.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/3e6fbb1e Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/3e6fbb1e Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/3e6fbb1e Branch: refs/heads/ignite-2100 Commit: 3e6fbb1ed70ed74423110b5e14e6e1ec48f5b8c6 Parents: 1965146 Author: vozerov-gridgain <[email protected]> Authored: Wed Dec 16 13:00:40 2015 +0300 Committer: vozerov-gridgain <[email protected]> Committed: Wed Dec 16 13:00:40 2015 +0300 ---------------------------------------------------------------------- .../ignite/internal/binary/BinaryClassDescriptor.java | 5 +++-- .../apache/ignite/internal/binary/BinaryContext.java | 12 ++++++++---- 2 files changed, 11 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/3e6fbb1e/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryClassDescriptor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryClassDescriptor.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryClassDescriptor.java index 7d19c18..345cf2d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryClassDescriptor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryClassDescriptor.java @@ -137,14 +137,15 @@ public class BinaryClassDescriptor { @Nullable BinaryIdMapper idMapper, @Nullable BinarySerializer serializer, boolean metaDataEnabled, - boolean registered + boolean registered, + boolean predefined ) throws BinaryObjectException { assert ctx != null; assert cls != null; assert idMapper != null; // If serializer is not defined at this point, then we have to user OptimizedMarshaller. - useOptMarshaller = serializer == null; + useOptMarshaller = !predefined && serializer == null; // Reset reflective serializer so that we rely on existing reflection-based serialization. if (serializer instanceof BinaryReflectiveSerializer) http://git-wip-us.apache.org/repos/asf/ignite/blob/3e6fbb1e/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java index fbbec80..98e09b0 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryContext.java @@ -540,7 +540,8 @@ public class BinaryContext implements Externalizable { BinaryInternalIdMapper.defaultInstance(), null, false, - true /* registered */ + true, /* registered */ + false /* predefined */ ); BinaryClassDescriptor old = descByCls.putIfAbsent(cls, desc); @@ -590,7 +591,8 @@ public class BinaryContext implements Externalizable { idMapper, serializer, true, - registered + registered, + false /* predefined */ ); if (!deserialize) { @@ -760,7 +762,8 @@ public class BinaryContext implements Externalizable { BinaryInternalIdMapper.defaultInstance(), javaSerialization ? null : new BinaryReflectiveSerializer(), false, - true /* registered */ + true, /* registered */ + true /* predefined */ ); predefinedTypeNames.put(typeName, id); @@ -840,7 +843,8 @@ public class BinaryContext implements Externalizable { idMapper, serializer, true, - true /* registered */ + true, /* registered */ + false /* predefined */ ); fieldsMeta = desc.fieldsMeta();
