From d5a333fa299d2822079e9c2b126324d5562e7c04 Mon Sep 17 00:00:00 2001 From: Dan Halperin Date: Wed, 12 Oct 2016 18:10:25 -0700 Subject: [PATCH] AvroIO.Write: minor doc and test fixes * Document the defualt codec. * Minor docfix in the SerializableAvroCodecFactory. * Swap the order of assertEquals in tests to match the expected pattern (expected, actual). --- .../src/main/java/org/apache/beam/sdk/io/AvroIO.java | 4 ++++ .../beam/sdk/io/SerializableAvroCodecFactory.java | 2 +- .../test/java/org/apache/beam/sdk/io/AvroIOTest.java | 12 ++++++------ .../sdk/io/SerializableAvroCodecFactoryTest.java | 8 ++++---- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/AvroIO.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/AvroIO.java index eeb4bb7a7e98..d912ff7971a5 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/AvroIO.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/AvroIO.java @@ -110,6 +110,10 @@ * .withSuffix(".avro")); * } * + *

By default, {@link AvroIO.Write} produces output files that are compressed using the + * {@link org.apache.avro.file.DeflateCodec CodecFactory.deflateCodec(6)}. This default can + * be changed or overridden using {@link AvroIO.Write#withCodec}. + * *

Permissions

* Permission requirements depend on the {@link PipelineRunner} that is used to execute the * Dataflow job. Please refer to the documentation of corresponding {@link PipelineRunner}s for diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/SerializableAvroCodecFactory.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/SerializableAvroCodecFactory.java index ce52e99eb37a..92c2a642cb75 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/io/SerializableAvroCodecFactory.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/io/SerializableAvroCodecFactory.java @@ -37,7 +37,7 @@ import org.apache.avro.file.CodecFactory; /** - * A wrapper allows {@link org.apache.avro.file.CodecFactory}s to be serialized using Java's + * A wrapper that allows {@link org.apache.avro.file.CodecFactory}s to be serialized using Java's * standard serialization mechanisms. */ class SerializableAvroCodecFactory implements Externalizable { diff --git a/sdks/java/core/src/test/java/org/apache/beam/sdk/io/AvroIOTest.java b/sdks/java/core/src/test/java/org/apache/beam/sdk/io/AvroIOTest.java index 1b1b1fae3f07..4825875b1bc8 100644 --- a/sdks/java/core/src/test/java/org/apache/beam/sdk/io/AvroIOTest.java +++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/io/AvroIOTest.java @@ -178,7 +178,7 @@ public void testAvroIOCompressedWriteAndReadASingleFile() throws Throwable { p.run(); DataFileStream dataFileStream = new DataFileStream(new FileInputStream(outputFile), new GenericDatumReader()); - assertEquals(dataFileStream.getMetaString("avro.codec"), "deflate"); + assertEquals("deflate", dataFileStream.getMetaString("avro.codec")); } @Test @@ -207,7 +207,7 @@ public void testAvroIONullCodecWriteAndReadASingleFile() throws Throwable { p.run(); DataFileStream dataFileStream = new DataFileStream(new FileInputStream(outputFile), new GenericDatumReader()); - assertEquals(dataFileStream.getMetaString("avro.codec"), "null"); + assertEquals("null", dataFileStream.getMetaString("avro.codec")); } @DefaultCoder(AvroCoder.class) @@ -280,7 +280,7 @@ public void testAvroIOWriteAndReadSchemaUpgrade() throws Throwable { public void testWriteWithDefaultCodec() throws Exception { AvroIO.Write.Bound write = AvroIO.Write .to("gs://bucket/foo/baz"); - assertEquals(write.getCodec().toString(), CodecFactory.deflateCodec(6).toString()); + assertEquals(CodecFactory.deflateCodec(6).toString(), write.getCodec().toString()); } @Test @@ -288,7 +288,7 @@ public void testWriteWithCustomCodec() throws Exception { AvroIO.Write.Bound write = AvroIO.Write .to("gs://bucket/foo/baz") .withCodec(CodecFactory.snappyCodec()); - assertEquals(write.getCodec().toString(), SNAPPY_CODEC); + assertEquals(SNAPPY_CODEC, write.getCodec().toString()); } @Test @@ -300,7 +300,7 @@ public void testWriteWithSerDeCustomDeflateCodec() throws Exception { AvroIO.Write.Bound serdeWrite = SerializableUtils.clone(write); - assertEquals(serdeWrite.getCodec().toString(), CodecFactory.deflateCodec(9).toString()); + assertEquals(CodecFactory.deflateCodec(9).toString(), serdeWrite.getCodec().toString()); } @Test @@ -312,7 +312,7 @@ public void testWriteWithSerDeCustomXZCodec() throws Exception { AvroIO.Write.Bound serdeWrite = SerializableUtils.clone(write); - assertEquals(serdeWrite.getCodec().toString(), CodecFactory.xzCodec(9).toString()); + assertEquals(CodecFactory.xzCodec(9).toString(), serdeWrite.getCodec().toString()); } @SuppressWarnings("deprecation") // using AvroCoder#createDatumReader for tests. diff --git a/sdks/java/core/src/test/java/org/apache/beam/sdk/io/SerializableAvroCodecFactoryTest.java b/sdks/java/core/src/test/java/org/apache/beam/sdk/io/SerializableAvroCodecFactoryTest.java index 3fe87401f19d..d367d8c42e13 100644 --- a/sdks/java/core/src/test/java/org/apache/beam/sdk/io/SerializableAvroCodecFactoryTest.java +++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/io/SerializableAvroCodecFactoryTest.java @@ -50,7 +50,7 @@ public void testDefaultCodecsIn() throws Exception { SerializableAvroCodecFactory codecFactory = new SerializableAvroCodecFactory( CodecFactory.fromString(codec)); - assertEquals(codecFactory.getCodec().toString(), (CodecFactory.fromString(codec).toString())); + assertEquals((CodecFactory.fromString(codec).toString()), codecFactory.getCodec().toString()); } } @@ -62,7 +62,7 @@ public void testDefaultCodecsSerDe() throws Exception { SerializableAvroCodecFactory serdeC = SerializableUtils.clone(codecFactory); - assertEquals(serdeC.getCodec().toString(), CodecFactory.fromString(codec).toString()); + assertEquals(CodecFactory.fromString(codec).toString(), serdeC.getCodec().toString()); } } @@ -74,7 +74,7 @@ public void testDeflateCodecSerDeWithLevels() throws Exception { SerializableAvroCodecFactory serdeC = SerializableUtils.clone(codecFactory); - assertEquals(serdeC.getCodec().toString(), CodecFactory.deflateCodec(i).toString()); + assertEquals(CodecFactory.deflateCodec(i).toString(), serdeC.getCodec().toString()); } } @@ -86,7 +86,7 @@ public void testXZCodecSerDeWithLevels() throws Exception { SerializableAvroCodecFactory serdeC = SerializableUtils.clone(codecFactory); - assertEquals(serdeC.getCodec().toString(), CodecFactory.xzCodec(i).toString()); + assertEquals(CodecFactory.xzCodec(i).toString(), serdeC.getCodec().toString()); } }