Repository: flink
Updated Branches:
  refs/heads/release-1.1 cc6655b7b -> 4b867019d


[FLINK-4894] [network] Fix hasData() and correctly clear buffer state


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/4b867019
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/4b867019
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/4b867019

Branch: refs/heads/release-1.1
Commit: 4b867019d1131d362ea50d09e5eaa9a895b98dca
Parents: cc6655b
Author: Ufuk Celebi <[email protected]>
Authored: Fri Oct 28 11:31:44 2016 +0200
Committer: Ufuk Celebi <[email protected]>
Committed: Fri Oct 28 11:31:44 2016 +0200

----------------------------------------------------------------------
 .../io/network/api/serialization/SpanningRecordSerializer.java   | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/4b867019/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/api/serialization/SpanningRecordSerializer.java
----------------------------------------------------------------------
diff --git 
a/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/api/serialization/SpanningRecordSerializer.java
 
b/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/api/serialization/SpanningRecordSerializer.java
index 155111f..4827746 100644
--- 
a/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/api/serialization/SpanningRecordSerializer.java
+++ 
b/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/api/serialization/SpanningRecordSerializer.java
@@ -172,6 +172,8 @@ public class SpanningRecordSerializer<T extends 
IOReadableWritable> implements R
        @Override
        public void clearCurrentBuffer() {
                targetBuffer = null;
+               position = 0;
+               limit = 0;
        }
 
        @Override
@@ -188,7 +190,7 @@ public class SpanningRecordSerializer<T extends 
IOReadableWritable> implements R
        @Override
        public boolean hasData() {
                // either data in current target buffer or intermediate buffers
-               return (this.position > 0 && this.position < this.limit) || 
(this.lengthBuffer.hasRemaining() || this.dataBuffer.hasRemaining());
+               return this.position > 0 || (this.lengthBuffer.hasRemaining() 
|| this.dataBuffer.hasRemaining());
        }
 
        @Override

Reply via email to