Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Schema storage and reference lookup #116

Open
Strech opened this issue Apr 25, 2024 · 0 comments
Open

Schema storage and reference lookup #116

Strech opened this issue Apr 25, 2024 · 0 comments
Labels
enhancement Improvement of existing functionality or request of improvement internal API Anything related to the internal API and implementations
Milestone

Comments

@Strech
Copy link
Owner

Strech commented Apr 25, 2024

:avro_schema_store has a few limitations, you can't delete or update schemas there. Avro.Storage.Memory is used like a cache for schema resolution, but it's used only by the Avrora.Resolver.

The issue occurs when we try to resolve a schema with references. First of all, it's different per storage, Avrora.Storage.File will read only the content of the referenced schemas and never "cache" them. Avrora.Storage.Registry on the other hand going to create new Avrora.Schema objects, but use only JSON and pass it to the reference resolver which will parse it again. None of the referenced objects will be "cached".

It feels like we need to be able to resolve references smartly without repetitive calls to the disk or registry API.

@Strech Strech added enhancement Improvement of existing functionality or request of improvement internal API Anything related to the internal API and implementations labels Apr 25, 2024
@Strech Strech added this to the Release 1.0.0 milestone Apr 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvement of existing functionality or request of improvement internal API Anything related to the internal API and implementations
Projects
None yet
Development

No branches or pull requests

1 participant