You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Will Gorman (JIRA)" <ji...@apache.org> on 2014/05/20 16:08:39 UTC
[jira] [Created] (AVRO-1512) Error serializing TUnion with
avro-thrift
Will Gorman created AVRO-1512:
---------------------------------
Summary: Error serializing TUnion with avro-thrift
Key: AVRO-1512
URL: https://issues.apache.org/jira/browse/AVRO-1512
Project: Avro
Issue Type: Bug
Components: java
Affects Versions: 1.7.6
Reporter: Will Gorman
Attempting to serialize a Thrift union type (TUnion) with avro-thrift produces an error like the following:
{code}
org.apache.avro.AvroRuntimeException: Unknown datum type org.apache.avro.thrift.test.FooOrBar: <FooOrBar foo:foo>
at org.apache.avro.generic.GenericData.getSchemaName(GenericData.java:639)
at org.apache.avro.generic.GenericData.resolveUnion(GenericData.java:604)
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)
at org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:66)
at org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:58)
at org.apache.avro.thrift.TestThrift.check(TestThrift.java:83)
at org.apache.avro.thrift.TestThrift.testStruct(TestThrift.java:60)
{code}
Upon investigation it appears that ThriftData#isRecord intentionally does not accept TUnion types as Avro records and so GenericData is unable to determine an Avro type for the datum. However, ThriftData#getSchema does generate an Avro record schema for Thrift union types.
--
This message was sent by Atlassian JIRA
(v6.2#6252)