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 Registry] Explore caching in SchemaRegistryClient #10438

Closed
ramya-rao-a opened this issue Aug 4, 2020 · 1 comment · Fixed by #16740
Closed

[Schema Registry] Explore caching in SchemaRegistryClient #10438

ramya-rao-a opened this issue Aug 4, 2020 · 1 comment · Fixed by #16740
Assignees
Labels
Client This issue points to a problem in the data-plane of the library. Schema Registry
Milestone

Comments

@ramya-rao-a
Copy link
Contributor

This issue is a follow up for #10437

Once we have a convenience layer over the auto-generated SchemaRegistryClient, the next step would be to support caching for some of the operations on the client.

This issue is to

  • identify which operations need caching
  • get guidelines around whether caching should be done at the client level or the consumer of the client is responsible for this
  • if this is done at the client level, what should be in the "raw response" section of the response of the cached operations
@ghost ghost added the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Aug 4, 2020
@ramya-rao-a ramya-rao-a added Client This issue points to a problem in the data-plane of the library. Schema Registry labels Aug 4, 2020
@ghost ghost removed the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Aug 4, 2020
@ramya-rao-a ramya-rao-a added this to the [2020] September milestone Aug 4, 2020
@nguerrera
Copy link
Contributor

Now that I've implemented some caching in the serializer, I am more convinced that caching at the client is the wrong layer. When we cache in the serializer, we can cache by the schema content directly. However, before we can call the client, we need to parse the schema to get its name. This would mean an expensive parsing step on every serialize that can be saved by moving the cache up one layer. And it also eliminates all of the questions about caching responses or not. I think we should keep the cache in the serializer, but explore how to configure its policy. (For the initial preview, you will have to throw the serializer away and create a new one to free the entries in the cache as discussed elsewhere.)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Client This issue points to a problem in the data-plane of the library. Schema Registry
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants