You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@avro.apache.org by th...@apache.org on 2010/01/29 11:12:38 UTC
svn commit: r904448 - in /hadoop/avro/trunk: CHANGES.txt
lang/java/src/java/org/apache/avro/io/BlockingBinaryEncoder.java
lang/java/src/test/java/org/apache/avro/io/TestEncoders.java
Author: thiru
Date: Fri Jan 29 10:12:35 2010
New Revision: 904448
URL: http://svn.apache.org/viewvc?rev=904448&view=rev
Log:
AVRO-385. Initializing uninizialized BlockingBinaryEncoder fails
Modified:
hadoop/avro/trunk/CHANGES.txt
hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/BlockingBinaryEncoder.java
hadoop/avro/trunk/lang/java/src/test/java/org/apache/avro/io/TestEncoders.java
Modified: hadoop/avro/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/avro/trunk/CHANGES.txt?rev=904448&r1=904447&r2=904448&view=diff
==============================================================================
--- hadoop/avro/trunk/CHANGES.txt (original)
+++ hadoop/avro/trunk/CHANGES.txt Fri Jan 29 10:12:35 2010
@@ -396,6 +396,8 @@
AVRO-382. Avro hashCode throws a NullPointerException when fields are uninitialized (Michael Armbrust via philz)
+ AVRO-385. Initializing uninizialized BlockingBinaryEncoder fails (thiru)
+
Avro 1.2.0 (14 October 2009)
INCOMPATIBLE CHANGES
Modified: hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/BlockingBinaryEncoder.java
URL: http://svn.apache.org/viewvc/hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/BlockingBinaryEncoder.java?rev=904448&r1=904447&r2=904448&view=diff
==============================================================================
--- hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/BlockingBinaryEncoder.java (original)
+++ hadoop/avro/trunk/lang/java/src/java/org/apache/avro/io/BlockingBinaryEncoder.java Fri Jan 29 10:12:35 2010
@@ -247,16 +247,18 @@
@Override
public void flush() throws IOException {
- BlockedValue bv = blockStack[stackTop];
- if (bv.state == BlockedValue.State.ROOT) {
- out.write(buf, 0, pos);
- pos = 0;
- } else {
- while (bv.state != BlockedValue.State.OVERFLOW) {
- compact();
+ if (out != null) {
+ BlockedValue bv = blockStack[stackTop];
+ if (bv.state == BlockedValue.State.ROOT) {
+ out.write(buf, 0, pos);
+ pos = 0;
+ } else {
+ while (bv.state != BlockedValue.State.OVERFLOW) {
+ compact();
+ }
}
+ out.flush();
}
- out.flush();
assert check();
}
Modified: hadoop/avro/trunk/lang/java/src/test/java/org/apache/avro/io/TestEncoders.java
URL: http://svn.apache.org/viewvc/hadoop/avro/trunk/lang/java/src/test/java/org/apache/avro/io/TestEncoders.java?rev=904448&r1=904447&r2=904448&view=diff
==============================================================================
--- hadoop/avro/trunk/lang/java/src/test/java/org/apache/avro/io/TestEncoders.java (original)
+++ hadoop/avro/trunk/lang/java/src/test/java/org/apache/avro/io/TestEncoders.java Fri Jan 29 10:12:35 2010
@@ -32,6 +32,12 @@
}
@Test
+ public void testBlockingBinaryEncoderInit() throws IOException {
+ OutputStream out = null;
+ new BlockingBinaryEncoder(out).init(new ByteArrayOutputStream());
+ }
+
+ @Test
public void testJsonEncoderInit() throws IOException {
Schema s = Schema.parse("\"int\"");
OutputStream out = null;