allow for mutual recursion in type definitions ----------------------------------------------
Key: AVRO-530 URL: https://issues.apache.org/jira/browse/AVRO-530 Project: Avro Issue Type: Improvement Components: spec Affects Versions: 1.3.2 Reporter: Jeff Hodges Suppose you have these two types in your protocol: {code} {"name": "User", "type": "record", "fields": [{"name": "current_status", "type": "Status"}]} {"name": "Status", "type": "record", "fields": [{"name": "author", "type": "User"}]} {code} This will raise an error! The current workaround is to define one of them at their first usage. Like: {code} {"name": "User", "type": "record", "fields": [{"name": "current_status", "type": {"name": "Status", "type": "record", "fields": [.. lots of fields ...]}]} {code} But this is incredibly unwieldy. It would be really nice for the spec to require all the parsers to allow for mutual recursion, instead. It could be done by implementing a two-pass parser. One pass to acquire names referenced, and a second to fill in those names with their appropriate references. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.