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

ASF subversion and git services commented on AVRO-3666:
-------------------------------------------------------

Commit 876eae32dbcf353313e85e926a7c0e11170985a2 in avro's branch 
refs/heads/dependabot/maven/lang/java/org.apache.hadoop-hadoop-client-3.4.0 
from Oscar Westra van Holthe - Kind
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=876eae32d ]

AVRO-3666 [Java] Use the new schema parser (#2642)

* AVRO-3666: Redo schema parsing code

This undoes the split schema parsing to allow forward references, which
is to be handles by the SchemaParser & ParseContext classes. It uses the
new ParseContext for the classic schema parser to accommodate this.

Next step: use the new SchemaParser and resolve unresolved / forward
references after parsing. This will also resolve "forward" references
that were parsed in subsequent files.

* AVRO-3666: Resolve references after parsing

By resolving references after parsing, we allow both forward references
within a file as between subsequent files.

This change also includes using the new SchemaParser everywhere, as
using it is the best way to flush out bugs.

* AVRO-3666: Remove wrong test

* AVRO-1535: Fix aliases as well

* AVRO-3666: Re-enable disabled test

Also includes changes necessary to debug.

* AVRO-3666: Fix RAT exclusion

The wrong exclusion was removed.

* AVRO-3666: Remove unused field

* AVRO-3666: Introduce SchemaParser.ParseResult

This ensures the SchemaParser never returns unresolved schemata.

* AVRO-3666: Use SchemaParser for documentation

* AVRO-3666: Refactor after review

* AVRO-3666: Fix javadoc

* AVRO-3666: Fix merge bug

* AVRO-3666: Fix CodeQL warnings

* AVRO-3666: Increase test coverage

* AVRO-3666: Fix tests

* AVRO-3666: Refactor schema parsing for readability

The JSON schema parser is quite complex (it is a large method). This
change splits it in multiple methods, naming the various stages.

* AVRO-3666: rename method to avoid confusion

* AVRO-3666: Reduce PR size

This change reduces the PR size, but does require some extra work after
merging: the new SchemaParser class is hardly used, and the (now)
obsolete Schema.Parser class is used heavily.

* AVRO-3666: Reduce PR size more

* AVRO-3666: Reduce PR size again

* AVRO-3666: Spotless

* Update lang/java/avro/src/main/java/org/apache/avro/Schema.java

Co-authored-by: Fokko Driesprong <[email protected]>

* AVRO-3666: Spotless

---------

Co-authored-by: Fokko Driesprong <[email protected]>

> New schema parser for all supported schema formats
> --------------------------------------------------
>
>                 Key: AVRO-3666
>                 URL: https://issues.apache.org/jira/browse/AVRO-3666
>             Project: Apache Avro
>          Issue Type: New Feature
>          Components: java
>            Reporter: Oscar Westra van Holthe - Kind
>            Assignee: Oscar Westra van Holthe - Kind
>            Priority: Minor
>              Labels: pull-request-available
>          Time Spent: 6h
>  Remaining Estimate: 0h
>
> As the new IDL syntax also supports schema files, it's time to refactor 
> schema parsing in Java to support all schema formats.
> The goals:
>  * Parse JSON schemata with the same results
>  * Parse IDL schemata in the same way
>  * Use a pluggable API that supports other schema formats as well
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to