You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2015/12/18 09:45:55 UTC
ignite git commit: IGNITE-2203: Fixed a bug in BinaryClassDescriptor
causing Externalizable object to be mistakenly analyzed for duplicate fields.
Repository: ignite
Updated Branches:
refs/heads/ignite-1.5 d5a56da6b -> 301e7a1af
IGNITE-2203: Fixed a bug in BinaryClassDescriptor causing Externalizable object to be mistakenly analyzed for duplicate fields.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/301e7a1a
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/301e7a1a
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/301e7a1a
Branch: refs/heads/ignite-1.5
Commit: 301e7a1af38a3d9ef8640e74070e8c6b558eb332
Parents: d5a56da
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Fri Dec 18 11:46:50 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Fri Dec 18 11:46:50 2015 +0300
----------------------------------------------------------------------
.../apache/ignite/internal/binary/BinaryClassDescriptor.java | 5 ++++-
.../java/org/apache/ignite/internal/binary/BinaryWriteMode.java | 3 +++
2 files changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/301e7a1a/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 eac1874..1eb3882 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
@@ -166,7 +166,7 @@ public class BinaryClassDescriptor {
if (excluded)
mode = BinaryWriteMode.EXCLUSION;
else if (useOptMarshaller)
- mode = BinaryWriteMode.OBJECT; // Will not be used anywhere.
+ mode = BinaryWriteMode.OPTIMIZED; // Will not be used anywhere.
else {
if (cls == BinaryEnumObjectImpl.class)
mode = BinaryWriteMode.BINARY_ENUM;
@@ -225,6 +225,7 @@ public class BinaryClassDescriptor {
case BINARY_ENUM:
case ENUM_ARR:
case CLASS:
+ case OPTIMIZED:
case EXCLUSION:
ctor = null;
fields = null;
@@ -395,6 +396,7 @@ public class BinaryClassDescriptor {
void write(Object obj, BinaryWriterExImpl writer) throws BinaryObjectException {
assert obj != null;
assert writer != null;
+ assert mode != BinaryWriteMode.OPTIMIZED : "OptimizedMarshaller should not be used here: " + cls.getName();
writer.typeId(typeId);
@@ -648,6 +650,7 @@ public class BinaryClassDescriptor {
*/
Object read(BinaryReaderExImpl reader) throws BinaryObjectException {
assert reader != null;
+ assert mode != BinaryWriteMode.OPTIMIZED : "OptimizedMarshaller should not be used here: " + cls.getName();
Object res;
http://git-wip-us.apache.org/repos/asf/ignite/blob/301e7a1a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriteMode.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriteMode.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriteMode.java
index 30e0458..b037945 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriteMode.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriteMode.java
@@ -154,6 +154,9 @@ public enum BinaryWriteMode {
OBJECT(GridBinaryMarshaller.OBJ),
/** */
+ OPTIMIZED(GridBinaryMarshaller.OBJ),
+
+ /** */
EXCLUSION(GridBinaryMarshaller.OBJ);
/** Type ID. */