Uploaded image for project: 'Apache Avro'
  1. Apache Avro
  2. AVRO-2275

Refactor schema-resolution code from grammar-generation

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • java
    • None

    Description

      In my own work to extend AVRO-2090, and also in AVRO-2247, an alternative approach optimizing decoders, we were forced to re-implement Schema resolution logic because it's currently embedded deeply in ResolvingGrammarGenerator. However, in the past the Avro community found it hard to maintain multiple implementations of the schema resolution code, as it is tedious and error-prone code.

      In this JIRA we've refactored the resolution code into a new class called Resolver, and have rewritten ResolvingGrammarGenerator to be a client of this class. This rewrite passes the full regression suite, including bug-for-bug compatibility with a few questionable resolutions rules, such as the "soft matching" rule for record in unions.

      Attachments

        Issue Links

          Activity

            People

              raymie Raymie Stata
              raymie Raymie Stata
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: