laki created AVRO-2146:
--------------------------

             Summary: getting Expected start-union. Got VALUE_STRING
                 Key: AVRO-2146
                 URL: https://issues.apache.org/jira/browse/AVRO-2146
             Project: Avro
          Issue Type: Bug
    Affects Versions: 1.8.2
            Reporter: laki


Here is the schema, no unions, but getting union error :

 

{
 "type" : "record",
 "name" : "edm_generic_publisher_avro_schema",
 "namespace" : "edm.avro",
 "doc" : "The generic avro schema used by publishers to publish events to the 
enterprise streaming service",
 "fields" : [ 
 
 {"name" : "event", 
 "type" : {
 "type" : "record",
 "name" : "event_meta_data",
 "fields" : [
 {"name" : "event_name", 
 "type" : "string", 
 "doc" : "The name of the event. In the CDC, this field is populated with the 
name of the data base table or segment."},

{"name" : "operation_type", 
 "type" : "string", 
 "doc": "The operation or action that triggered the event. e.g., Insert, 
Update, Delete, etc."},

{"name" : "transaction_identifier", 
 "type" : "string", 
 "default" : "NONE",
 "doc" : "A unique identifier that identifies a unit or work or transaction. 
Useful in relating multiple events together."},

{"name" : "event_publication_timestamp_millis", 
 "type" : "string", 
 "doc": "timestamp when the event was published"},
 
 {"name" : "event_publisher", 
 "type" : "string", 
 "doc" : "The system or application that published the event"},
 
 {"name" : "event_publisher_identity",
 "type": "string",
 "default" : "NONE",
 "doc": "The identity (user) of the system or application that published the 
event"},
 
 {"name" : "event_timestamp_millis", 
 "type" : "string",
 "default" : "NONE",
 "doc": "timestamp when the event occured"},
 
 {"name": "event_initiator",
 "type": "string",
 "default" : "NONE",
 "doc" : "The system or application that initiated the event"},
 
 {"name": "event_initiator_identity",
 "type" : "string",
 "default" : "NONE",
 "doc": "The system id or application id that initiated the event" }
 
 
 ]},
 "doc" : "The data about the published event"
 },
 { "name" : "contents",
 "type" : {
 "name": "data_field_groups",
 "type": "array",
 "items": {
 "type": "record",
 "name": "data_field_group",
 "fields" : [
 {"name": "data_group_name",
 "type": "string"
 },
 {
 "name": "data_fields",
 "type": {
 "type": "array",
 "items": {
 "name": "data_field",
 "type": "record",
 "fields":[
 {"name" : "data_field_name",
 "type" : "string",
 "doc" : "The field name"}, 
 
 {"name": "data_field_type",
 "type": "string",
 "doc" : "The data type is one of the following values: string, boolean, int, 
long, float, double or bytes"},
 
 {"name" : "data_field_value",
 "type" : ["string"],
 "doc" : "The value"}
 ]
 }
 
 }
 
 }
 ]
 }
 },
 "doc" : "The datafields for the for the published event"
 } 
 ]
}

;

 

 

here is the code that is causing the issue-------------------------------

 

static byte[] fromJasonToAvro( InputStream json, Schema schemastr) throws 
Exception {
FileOutputStream outStream;

InputStream input = json; 
DataInputStream din = new DataInputStream(input);


Schema schema = schemastr;

Decoder decoder = DecoderFactory.get().jsonDecoder(schema, din);

DatumReader<Object> reader = new GenericDatumReader<Object>(schema);
Object datum = reader.read(null, decoder);


GenericDatumWriter<Object> w = new GenericDatumWriter<Object>(schema);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

 

Encoder e = EncoderFactory.get().binaryEncoder(outputStream, null);

w.write(datum, e);
e.flush();

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to