You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by dh...@apache.org on 2016/07/18 22:42:23 UTC
[1/2] incubator-beam git commit: Closes #680
Repository: incubator-beam
Updated Branches:
refs/heads/master 8410b4779 -> bad385698
Closes #680
Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/bad38569
Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/bad38569
Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/bad38569
Branch: refs/heads/master
Commit: bad385698959efd0caebca05ddf9b4a446f823e3
Parents: 8410b47 66ba594
Author: Dan Halperin <dh...@google.com>
Authored: Mon Jul 18 15:42:14 2016 -0700
Committer: Dan Halperin <dh...@google.com>
Committed: Mon Jul 18 15:42:14 2016 -0700
----------------------------------------------------------------------
.../apache/beam/sdk/coders/NullableCoder.java | 3 +++
.../beam/sdk/coders/NullableCoderTest.java | 26 +++++++++++---------
2 files changed, 18 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
[2/2] incubator-beam git commit: [BEAM-468] NullableCoder should not
ask valueCoder isRegisterByteSizeObserverCheap when value is null
Posted by dh...@apache.org.
[BEAM-468] NullableCoder should not ask valueCoder isRegisterByteSizeObserverCheap when value is null
Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/66ba594e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/66ba594e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/66ba594e
Branch: refs/heads/master
Commit: 66ba594e3730f87fe8d99b4550e3bac5a80e5178
Parents: 8410b47
Author: Luke Cwik <lc...@google.com>
Authored: Mon Jul 18 13:14:33 2016 -0700
Committer: Dan Halperin <dh...@google.com>
Committed: Mon Jul 18 15:42:14 2016 -0700
----------------------------------------------------------------------
.../apache/beam/sdk/coders/NullableCoder.java | 3 +++
.../beam/sdk/coders/NullableCoderTest.java | 26 +++++++++++---------
2 files changed, 18 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/66ba594e/sdks/java/core/src/main/java/org/apache/beam/sdk/coders/NullableCoder.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/coders/NullableCoder.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/coders/NullableCoder.java
index a8ce873..4001b81 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/coders/NullableCoder.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/coders/NullableCoder.java
@@ -175,6 +175,9 @@ public class NullableCoder<T> extends StandardCoder<T> {
*/
@Override
public boolean isRegisterByteSizeObserverCheap(@Nullable T value, Context context) {
+ if (value == null) {
+ return true;
+ }
return valueCoder.isRegisterByteSizeObserverCheap(value, context.nested());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/66ba594e/sdks/java/core/src/test/java/org/apache/beam/sdk/coders/NullableCoderTest.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/test/java/org/apache/beam/sdk/coders/NullableCoderTest.java b/sdks/java/core/src/test/java/org/apache/beam/sdk/coders/NullableCoderTest.java
index 1e669ac..5bfbe05 100644
--- a/sdks/java/core/src/test/java/org/apache/beam/sdk/coders/NullableCoderTest.java
+++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/coders/NullableCoderTest.java
@@ -90,29 +90,33 @@ public class NullableCoderTest {
@Test
public void testWireFormatEncode() throws Exception {
- CoderProperties.coderEncodesBase64(TEST_CODER, TEST_VALUES, TEST_ENCODINGS);
+ CoderProperties.coderEncodesBase64(TEST_CODER, TEST_VALUES, TEST_ENCODINGS);
}
@Test
public void testEncodedSize() throws Exception {
- NullableCoder<Double> coder = NullableCoder.of(DoubleCoder.of());
- assertEquals(1, coder.getEncodedElementByteSize(null, Coder.Context.OUTER));
- assertEquals(9, coder.getEncodedElementByteSize(5.0, Coder.Context.OUTER));
+ NullableCoder<Double> coder = NullableCoder.of(DoubleCoder.of());
+ assertEquals(1, coder.getEncodedElementByteSize(null, Coder.Context.OUTER));
+ assertEquals(9, coder.getEncodedElementByteSize(5.0, Coder.Context.OUTER));
}
@Test
public void testObserverIsCheap() throws Exception {
- NullableCoder<Double> coder = NullableCoder.of(DoubleCoder.of());
- assertTrue(coder.isRegisterByteSizeObserverCheap(null, Coder.Context.OUTER));
- assertTrue(coder.isRegisterByteSizeObserverCheap(5.0, Coder.Context.OUTER));
+ NullableCoder<Double> coder = NullableCoder.of(DoubleCoder.of());
+ assertTrue(coder.isRegisterByteSizeObserverCheap(5.0, Coder.Context.OUTER));
}
@Test
public void testObserverIsNotCheap() throws Exception {
- NullableCoder<List<String>> coder = NullableCoder.of(ListCoder.of(StringUtf8Coder.of()));
- assertFalse(coder.isRegisterByteSizeObserverCheap(null, Coder.Context.OUTER));
- assertFalse(coder.isRegisterByteSizeObserverCheap(
- ImmutableList.of("hi", "test"), Coder.Context.OUTER));
+ NullableCoder<List<String>> coder = NullableCoder.of(ListCoder.of(StringUtf8Coder.of()));
+ assertFalse(coder.isRegisterByteSizeObserverCheap(
+ ImmutableList.of("hi", "test"), Coder.Context.OUTER));
+ }
+
+ @Test
+ public void testObserverIsAlwaysCheapForNullValues() throws Exception {
+ NullableCoder<List<String>> coder = NullableCoder.of(ListCoder.of(StringUtf8Coder.of()));
+ assertTrue(coder.isRegisterByteSizeObserverCheap(null, Coder.Context.OUTER));
}
@Test