You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "ananthram (JIRA)" <ji...@apache.org> on 2014/05/15 06:26:29 UTC
[jira] [Created] (AVRO-1510) Caused by:
org.apache.avro.UnresolvedUnionException: Not in union
ananthram created AVRO-1510:
-------------------------------
Summary: Caused by: org.apache.avro.UnresolvedUnionException: Not in union
Key: AVRO-1510
URL: https://issues.apache.org/jira/browse/AVRO-1510
Project: Avro
Issue Type: Bug
Affects Versions: 1.7.6
Reporter: ananthram
Hi,
I have a schema with a field which is an optional Fixed field, but when i tried to write data to it , got the below error.
Caused by: org.apache.avro.UnresolvedUnionException: Not in union ["null",{"type":"fixed","name":"x","size":14}]: [1, 2, 3]
at org.apache.avro.generic.GenericData.resolveUnion(GenericData.java:600)
at org.apache.avro.generic.GenericDatumWriter.resolveUnion(GenericDatumWriter.java:151)
at org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:71)
at org.apache.avro.generic.GenericDatumWriter.writeField(GenericDatumWriter.java:114)
at org.apache.avro.generic.GenericDatumWriter.writeRecord(GenericDatumWriter.java:104)
Schema is:
{
"name": "ComplianceEnvelope",
"type": "record",
"fields": [
{
"name": "message",
"type": {
"name": "ComplianceMessage",
"type": "record",
"fields": [
{
"name": "key",
"type": ["null",{"type": "fixed","name": "x","size": 14}],
"default":null
},
{
"name": "source_name",
"type": ["string"]
}
]
}
}
]
}
Code:
import java.io.File;
import java.io.IOException;
import org.apache.avro.Schema;
import org.apache.avro.Schema.Parser;
import org.apache.avro.file.DataFileWriter;
import org.apache.avro.generic.GenericData;
import org.apache.avro.generic.GenericDatumWriter;
import org.apache.avro.generic.GenericFixed;
import org.apache.avro.generic.GenericRecord;
import org.apache.avro.io.DatumWriter;
public class AvroWriter {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
Schema s = (new Parser()).parse(new File("C:\\Workspace\\SignalWorkspace\\test\\src\\schema.avsc"));
File out = new File("out.avro");
DatumWriter w = new GenericDatumWriter(s);
DataFileWriter d = new DataFileWriter(w);
d.create(s,out );
GenericRecord r = new GenericData.Record(s);
GenericRecord c = new GenericData.Record(s.getField("message").schema());
c.put("source_name", "twitter");
GenericFixed k =new GenericData.Fixed(s.getField("message").schema().getField("key").schema(),new byte[]{1,2,3});
c.put("key", k);
r.put("message", c);
d.append(r);
d.close();
}
}
--
This message was sent by Atlassian JIRA
(v6.2#6252)