ignite-471: fixed marshalling/unmarshalling over OptimizedOutput/Input object 
streams


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

Branch: refs/heads/ignite-471
Commit: 1f021a734620c3c934fabe41f905f7ae7c169ed5
Parents: a66d90f
Author: Denis Magda <dma...@gridgain.com>
Authored: Thu May 14 13:43:44 2015 +0300
Committer: Denis Magda <dma...@gridgain.com>
Committed: Thu May 14 13:43:44 2015 +0300

----------------------------------------------------------------------
 .../optimized/OptimizedObjectInputStream.java       | 15 ++++-----------
 .../optimized/OptimizedObjectOutputStream.java      | 16 ++++++----------
 2 files changed, 10 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1f021a73/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedObjectInputStream.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedObjectInputStream.java
 
b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedObjectInputStream.java
index ec84f44..c660669 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedObjectInputStream.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedObjectInputStream.java
@@ -42,14 +42,7 @@ class OptimizedObjectInputStream extends ObjectInputStream {
     private static final Object DUMMY = new Object();
 
     /** */
-    private static final ThreadLocal<HandleTable> HANDLES_TC = new 
ThreadLocal<HandleTable>() {
-        @Override protected HandleTable initialValue() {
-            return new HandleTable(10);
-        }
-    };
-
-    /** */
-    private HandleTable handles;
+    private final HandleTable handles = new HandleTable(10);
 
     /** */
     private MarshallerContext ctx;
@@ -99,8 +92,6 @@ class OptimizedObjectInputStream extends ObjectInputStream {
         this.ctx = ctx;
         this.mapper = mapper;
         this.clsLdr = clsLdr;
-
-        handles = HANDLES_TC.get();
     }
 
     /**
@@ -130,8 +121,10 @@ class OptimizedObjectInputStream extends ObjectInputStream 
{
     @SuppressWarnings("NonSynchronizedMethodOverridesSynchronizedMethod")
     @Override public void reset() throws IOException {
         in.reset();
-
         handles.clear();
+
+        curObj = null;
+        curFields = null;
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1f021a73/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedObjectOutputStream.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedObjectOutputStream.java
 
b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedObjectOutputStream.java
index cc02c62..d65ca58 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedObjectOutputStream.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/OptimizedObjectOutputStream.java
@@ -43,19 +43,12 @@ class OptimizedObjectOutputStream extends 
ObjectOutputStream {
     );
 
     /** */
-    private static final ThreadLocal<GridHandleTable> HANDLES_TC = new 
ThreadLocal<GridHandleTable>() {
-        @Override protected GridHandleTable initialValue() {
-            return new GridHandleTable(10, 3.00f);
-        }
-    };
+    private final GridHandleTable handles = new GridHandleTable(10, 3.00f);
 
     /** */
     private final GridDataOutput out;
 
     /** */
-    private GridHandleTable handles;
-
-    /** */
     private MarshallerContext ctx;
 
     /** */
@@ -98,8 +91,6 @@ class OptimizedObjectOutputStream extends ObjectOutputStream {
         this.ctx = ctx;
         this.mapper = mapper;
         this.requireSer = requireSer;
-
-        handles = HANDLES_TC.get();
     }
 
     /**
@@ -757,7 +748,12 @@ class OptimizedObjectOutputStream extends 
ObjectOutputStream {
 
     /** {@inheritDoc} */
     @Override public void reset() throws IOException {
+        out.reset();
         handles.clear();
+
+        curObj = null;
+        curFields = null;
+        curPut = null;
     }
 
     /** {@inheritDoc} */

Reply via email to