[
https://issues.apache.org/jira/browse/AVRO-3433?focusedWorklogId=737311&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-737311
]
ASF GitHub Bot logged work on AVRO-3433:
----------------------------------------
Author: ASF GitHub Bot
Created on: 07/Mar/22 00:20
Start Date: 07/Mar/22 00:20
Worklog Time Spent: 10m
Work Description: jklamer opened a new pull request #1582:
URL: https://github.com/apache/avro/pull/1582
The fix in the branch this PR is based on introduces a fix that breaks other
functionality. By correctly replacing fulling defined schemas with
`Schema::Ref`s it exposed a bug in the resolve flow where the resolve does not
recursive add in Schemas to the named_schemas map as it finds them. This leads
to unresolved schema errors where the ref looks up the name from the map that
has not been updated. Fixed via recursively passing the map through the flow
and using Name as the key.
### Jira
My pr adds to the Branch working to reolve
https://issues.apache.org/jira/browse/AVRO-3433
- [ ] My PR helps address the following [Avro
Jira](https://issues.apache.org/jira/browse/AVRO/) issues and references them
in the PR title. For example, "AVRO-1234: My Avro PR"
- https://issues.apache.org/jira/browse/AVRO-XXX
- In case you are adding a dependency, check if the license complies with
the [ASF 3rd Party License
Policy](https://www.apache.org/legal/resolved.html#category-x).
### Tests
Tests added that are broken on the base branch without the changes
### Documentation
No new functionality
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 737311)
Time Spent: 40m (was: 0.5h)
> Rust: The canonical form should preserve schema references
> ----------------------------------------------------------
>
> Key: AVRO-3433
> URL: https://issues.apache.org/jira/browse/AVRO-3433
> Project: Apache Avro
> Issue Type: Bug
> Components: rust
> Affects Versions: 1.12.0
> Reporter: Martin Tzvetanov Grigorov
> Assignee: Martin Tzvetanov Grigorov
> Priority: Major
> Labels: pull-request-available
> Time Spent: 40m
> Remaining Estimate: 0h
>
> Reported at
> [https://github.com/flavray/avro-rs/issues/182#issuecomment-1059762821]
> =================================
> There still seems to be an issue with {{can't refine}} errors, at least in
> some non-recursive cases. Take the following example:
> {code:java}
> fn main() {
> let schema = r#"
> {
> "name": "test.test",
> "type": "record",
> "fields": [
> {
> "name": "bar",
> "type": { "name": "test.foo", "type": "record", "fields": [{
> "name": "id", "type": "long" }] }
> },
> { "name": "baz", "type": "test.foo" }
> ]
> }
> "#;
> let schema = apache_avro::schema::Schema::parse_str(&schema).unwrap();
> println!("{}", serde_json::to_string(&schema).unwrap());
> } {code}
> This prints the following (the same thing happens if the {{test.foo}}
> definition is in a separate file):
> {code:java}
> $ target/release/avro-test | jq
> {
> "type": "record",
> "name": "test.test",
> "fields": [
> {
> "name": "bar",
> "type": {
> "type": "record",
> "name": "test.foo",
> "fields": [
> {
> "name": "id",
> "type": "long"
> }
> ]
> }
> },
> {
> "name": "baz",
> "type": {
> "type": "record",
> "name": "test.foo",
> "fields": [
> {
> "name": "id",
> "type": "long"
> }
> ]
> }
> }
> ]
> } {code}
> Which will cause the Java tooling to fail with the
> {{org.apache.avro.SchemaParseException: Can't redefine: test}} error above.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)