You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The ReferenceSubjectNameStrategy enum only defines the default "ReferenceName" and does not define the alternate "Qualified" strategy described in this Schema Registry documentation. The implementation of the ProtobufSerializer also keeps the reference subject naming completely closed to outside extension with no way to override this behavior.
Motivation
We are running into an issue where we have two completely different proto packages with files that have the same relative path that are imported into protos used for schemas.
For Example:
DomainA/events/ModelA.proto:
import"shared/Enums.proto";
// ...
DomainA/shared/Enums.proto:
packagedomain_a;
enumItemTypes { }
DomainB/events/ModelB.proto:
import"shared/Enums.proto";
// ...
DomainB/shared/Enums.proto:
packagedomain_b;
enumThingTypes { }
Since the reference subject name strategy does not take the package name of the imported proto into account, we have a conflict where our clients are trying to register these different schemas under the same name and we get this error:
Confluent.SchemaRegistry.SchemaRegistryException: Schema being registered is incompatible with an earlier schema for subject "shared/Enums.proto", details: [{errorType:"PACKAGE_CHANGED", description:"The package at '#/' in the old schema does not match the package in the new schema"}
We want to use the package name as part of the subject name to avoid having to ensure that all of our imported proto file names are unique across our organization.
How to reproduce
N/A
Checklist
Please provide the following information:
A complete (i.e. we can run it), minimal program demonstrating the problem. No need to supply a project file.
Confluent.Kafka nuget version. 2.4.0
Apache Kafka version. N/A
Client configuration. N/A
Operating system. N/A
Provide logs (with "debug" : "..." as necessary in configuration). N/A
Provide broker log excerpts. N/A
Critical issue.
The text was updated successfully, but these errors were encountered:
Description
The ReferenceSubjectNameStrategy enum only defines the default "ReferenceName" and does not define the alternate "Qualified" strategy described in this Schema Registry documentation. The implementation of the ProtobufSerializer also keeps the reference subject naming completely closed to outside extension with no way to override this behavior.
Motivation
We are running into an issue where we have two completely different proto packages with files that have the same relative path that are imported into protos used for schemas.
For Example:
DomainA/events/ModelA.proto:
DomainA/shared/Enums.proto:
DomainB/events/ModelB.proto:
DomainB/shared/Enums.proto:
Since the reference subject name strategy does not take the package name of the imported proto into account, we have a conflict where our clients are trying to register these different schemas under the same name and we get this error:
We want to use the package name as part of the subject name to avoid having to ensure that all of our imported proto file names are unique across our organization.
How to reproduce
N/A
Checklist
Please provide the following information:
2.4.0
The text was updated successfully, but these errors were encountered: