Hi,

Because the syntax is so much more convenient, we thought it would be a
good idea to switch from using the raw JSON AVSC format to using IDL (avdl
files).

Almost immediately, I discovered three quite significant bugs:

1. you can't use default values for record-typed fields:
   https://issues.apache.org/jira/browse/AVRO-2867
2. you can't specify default values on enum-typed fields:
   https://issues.apache.org/jira/browse/AVRO-2866
3. you can't specify arrays, maps or unions that contain some of the
logical types mentioned in the specification
  https://issues.apache.org/jira/projects/AVRO/issues/AVRO-2864

I couldn't find any existing issues, and the first two in particular feel
basic enough that surely if there were a significant number of people using
IDL, they'd have at least reported them...

The second issue in particular is a real problem for us: it *can* be worked
around by using a union with null, but that has significant usability and
performance implications.

So my underlying question is: is it a bad idea for us to be using IDL?
Perhaps there are other, more significant issues that we haven't
encountered yet that mean that people haven't decided to use it (and hence
haven't encountered bugs like these). If so, it would be good to know!

  cheers,
    rog.

Reply via email to