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
