In the future please use "[DISCUSS]" at the start of your subject line
for these kinds of proposals. that'll get more folks to see the
discussion, e.g. when they filter this list.

as a point of clarification, 1.9.0 is a major version change for the
Avro project. the "1" is a file format version. that's why API
incompatibilities are allowed in a new 1.y version. As Doug mentioned,
"would not be able to read binary files" means you're talking about a
file format incompatibility, which I don't think we should do.

Are you interested in removing this feature to improve code
maintenance or to improve performance? both?

Can you quantify the amount of complexity you're referring to?
On Fri, Nov 30, 2018 at 12:22 PM Raymie Stata <[email protected]> wrote:
>
> I understand we've been willing to introduce backward-incompatible API
> changes (not file-format changes) into minor release versions.  If so,
> here's an idea for consideration:
>
> Let's eliminate recursive records from Avro 1.9.x.  Recursion
> introduces a _lot_ of complexity into many parts of the Avro code
> base.  We could vastly simplify the code base, and probably speed
> things up, by getting rid of this feature.
>
> The specific proposal would be that Avro 1.9.x would refuse to accept
> recursive records, and thus would not be able to read binary files
> written by older versions of Avro.  I haven't heard of anyone actually
> using them, so I don't think this would be a problem.



-- 
busbey

Reply via email to