Skip to content

Conversation

akhileshm1
Copy link
Member

…ry to SchemaRegistry

What

Use SchemaRegistry instead of KafkaSchemaRegistry where applicable.

Checklist

Please answer the questions with Y, N or N/A if not applicable.

  • [N] Contains customer facing changes? Including API/behavior changes
  • [N] Is this change gated behind config(s)?
    • List the config(s) needed to be set to enable this change
  • [NA] Did you add sufficient unit test and/or integration test coverage for this PR?
    • If not, please explain why it is not required
  • [N] Does this change require modifying existing system tests or adding new system tests?
    • If so, include tracking information for the system test changes
  • [N] Must this be released together with other change(s), either in this repo or another one?
    • If so, please include the link(s) to the changes that must be released together

References

JIRA:

Test & Review

Open questions / Follow-ups

@akhileshm1 akhileshm1 requested a review from a team as a code owner September 26, 2025 17:27
@confluent-cla-assistant
Copy link

🎉 All Contributor License Agreements have been signed. Ready to merge.
Please push an empty commit if you would like to re-run the checks to verify CLA status for all contributors.

@sonarqube-confluent

This comment has been minimized.

@sonarqube-confluent

This comment has been minimized.

@sonarqube-confluent

This comment has been minimized.

@sonarqube-confluent
Copy link

Failed

  • 67.20% Coverage on New Code (is less than 80.00%)

Analysis Details

8 Issues

  • Bug 0 Bugs
  • Vulnerability 0 Vulnerabilities
  • Code Smell 8 Code Smells

Coverage and Duplications

  • Coverage 67.20% Coverage (74.10% Estimated after merge)
  • Duplications No duplication information (2.00% Estimated after merge)

Project ID: schema-registry

View in SonarQube

Comment on lines +64 to +65
int MIN_VERSION = 1;
int MAX_VERSION = Integer.MAX_VALUE;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why SchemaRegistry needs these 2 field? it looks more like common consts


void setRuleSetHandler(RuleSetHandler ruleSetHandler);

HostnameVerifier getHostnameVerifier() throws SchemaRegistryStoreException;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure why this need to be a interface method

// Can be used to pass values between extensions
Map<String, Object> properties();

MetadataEncoderService getMetadataEncoder();
Copy link
Contributor

@zhaochun-ma zhaochun-ma Sep 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The interface has grown quite large (60+ methods) by porting methods from KafkaSchemaRegistry into this interface, and covers multiple concerns:

  • Data CRUD operations
  • Caching operations (e.g., clear cache methods)
  • Multi-tenancy
  • Leader election
  • Forwarding operations (methods ending with OrForward)
  • Extension hooks (handlers, custom handlers)

Have we thought about how this interface will be implemented with RM integration? It might be worth clarifying whether it makes sense to port all of these methods here, or if some should remain separate, or introduce some sub-interfaces for separation of concern

FYI, getMetadataEncoder() method is only used in tests

so does myIdentity()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants