[ 
https://issues.apache.org/jira/browse/AVRO-2275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16701386#comment-16701386
 ] 

ASF GitHub Bot commented on AVRO-2275:
--------------------------------------

rstata opened a new pull request #395: AVRO-2275 Refactor schema-resolution 
code from grammar-generation
URL: https://github.com/apache/avro/pull/395
 
 
   Efforts to improve performance by code-generation and other means have been 
hampered by the fact that our schema-resolution logic is embedded in 
resolving-grammar-generation logic (see 
[AVRO-2275](https://issues.apache.org/jira/browse/AVRO-2275)).  This patch 
factors the resolution logic out from the grammar-generation logic, so the 
resolution logic can be more easily reused.  See the design document included 
in this patch for more information.
   
   This patch consists of the following pieces:
   * A design/user-guide document (`refactoring-resolution.md`).
   * Core changes: a new file, `Resolver.java`, containing the extracted 
resolution logic, and a rewrite of `ResolvingGrammarGenerator.java` based on 
the new `Resolver.java`.
   * Changes to resolution-related tests.  These changes do not change the 
tests themselves, but rather output more diagnostic information upon failure to 
help developers resolve bugs.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> Refactor schema-resolution code from grammar-generation
> -------------------------------------------------------
>
>                 Key: AVRO-2275
>                 URL: https://issues.apache.org/jira/browse/AVRO-2275
>             Project: Apache Avro
>          Issue Type: Improvement
>          Components: java
>            Reporter: Raymie Stata
>            Assignee: Raymie Stata
>            Priority: Major
>
> 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.



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

Reply via email to