avro-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patrick Nip <p...@yahoo-inc.com>
Subject Is this a bug?
Date Thu, 25 Sep 2014 18:47:12 GMT
According to the documentation:

https://avro.apache.org/docs/current/api/cpp/html/classavro_1_1GenericDatum.html#a879e7b725023bfd8246e15f07cb5bef0


avro::GenericDatum::GenericDatum        (       const ValidSchema<https://avro.apache.org/docs/current/api/cpp/html/classavro_1_1ValidSchema.html>
&    schema  )

Constructs a datum corresponding to the given avro type.

The value will the appropraite default corresponding to the data type.

Parameters:
schema  The schema that defines the avro type.


A GenericDatum when given a valid schema should have all its field fill with reasonable default.
But it seems it is failing for union schema. I have a written the following piece of code
which I input the script with a schema and then try to encode it and save the result in a
file:


 14  avro::ValidSchema load(const char* filename)

 15  {

 16      std::ifstream ifs(filename);

 17      avro::ValidSchema result;

 18      avro::compileJsonSchema(ifs, result);

 19      return result;

 20  }

 21

 22 int

 23 main(int argc, char ** argv)

 24 {

 25     avro::ValidSchema sch = load(argv[1]); // load a schema

 26

 27     avro::GenericDatum metaDatum( sch );

 28     std::auto_ptr<avro::OutputStream> out = avro::fileOutputStream( argv[2], 1 );
// write the result to a specified file

 29     avro::EncoderPtr en = avro::jsonEncoder( sch );

 30     en->init ( *out );

 31     avro::encode ( *en, metaDatum );

 32     en->flush();

 33

 34   return 0;

 35 }


Case and point:


[pnip =>avro_rhel6<= my_avro]$ cat union.schema

[ "bytes", "long”]


[pnip =>avro_rhel6<= my_avro]$ ./schemaTest union.schema /tmp/result

terminate called after throwing an instance of 'avro::Exception'

  what():  Not that many names

Aborted


It seems to work on other schema types (have not check all yet) but failed on union type schema









Mime
View raw message