You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ga...@apache.org on 2011/08/16 01:43:49 UTC
svn commit: r1158066 - in /pig/trunk: contrib/CHANGES.txt
contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/PigAvroDatumWriter.java
ivy/libraries.properties
Author: gates
Date: Mon Aug 15 23:43:49 2011
New Revision: 1158066
URL: http://svn.apache.org/viewvc?rev=1158066&view=rev
Log:
PIG 2202 AvroStorage doesn't work with Avro 1.5.1
Modified:
pig/trunk/contrib/CHANGES.txt
pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/PigAvroDatumWriter.java
pig/trunk/ivy/libraries.properties
Modified: pig/trunk/contrib/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/CHANGES.txt?rev=1158066&r1=1158065&r2=1158066&view=diff
==============================================================================
--- pig/trunk/contrib/CHANGES.txt (original)
+++ pig/trunk/contrib/CHANGES.txt Mon Aug 15 23:43:49 2011
@@ -24,6 +24,8 @@ INCOMPATIBLE CHANGES
IMPROVEMENTS
+PIG-2202 AvroStorage doesn't work with Avro 1.5.1 (billgraham via gates)
+
PIG-1959 Penny: a framework for workflow instrumentation (olston, breed via gates)
PIG-1924 CSV Loader/Store that handles newlines in fields, and other Excel CSV
Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/PigAvroDatumWriter.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/PigAvroDatumWriter.java?rev=1158066&r1=1158065&r2=1158066&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/PigAvroDatumWriter.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/PigAvroDatumWriter.java Mon Aug 15 23:43:49 2011
@@ -315,7 +315,11 @@ public class PigAvroDatumWriter extends
}
- private NullPointerException npe(NullPointerException e, String s) {
+ /**
+ * As of Avro 1.5.1 this method is now in the superclass so it's no longer
+ * needed here, but leaving here for backward compatibility with Avro 1.4.1.
+ */
+ protected NullPointerException npe(NullPointerException e, String s) {
NullPointerException result = new NullPointerException(e.getMessage()
+ s);
result.initCause(e.getCause() == null ? e : e.getCause());
@@ -350,10 +354,25 @@ public class PigAvroDatumWriter extends
}
/**
+ * Overriding to fetch the field value from the Tuple.
+ */
+ @Override
+ protected void writeRecord(Schema schema, Object datum, Encoder out)
+ throws IOException {
+ for (Field f : schema.getFields()) {
+ Object value = getField(datum, f.name(), f.pos());
+ try {
+ write(f.schema(), value, out);
+ } catch (NullPointerException e) {
+ throw npe(e, " in field "+f.name());
+ }
+ }
+ }
+
+ /**
* Called by the implementation of {@link #writeRecord} to retrieve
* a record field value.
*/
- @Override
protected Object getField(Object record, String name, int pos) {
if (record instanceof Tuple) {
try {
Modified: pig/trunk/ivy/libraries.properties
URL: http://svn.apache.org/viewvc/pig/trunk/ivy/libraries.properties?rev=1158066&r1=1158065&r2=1158066&view=diff
==============================================================================
--- pig/trunk/ivy/libraries.properties (original)
+++ pig/trunk/ivy/libraries.properties Mon Aug 15 23:43:49 2011
@@ -18,7 +18,7 @@ apacheant.version=1.7.1
antlr.version=2.7.6
pig.version=0.9.0
-avro.version=1.4.1
+avro.version=1.5.1
commons-beanutils.version=1.7.0
commons-cli.version=1.0
commons-el.version=1.0