-
Notifications
You must be signed in to change notification settings - Fork 260
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
Understanding the FULL compatibility of APICURIO #4965
Comments
Thank you for reporting an issue! Pinging @jsenko to respond or triage. |
@jsenko any input on this? |
Hi, you're right, the first two examples should be full compatible, that is a bug. The compatibility checker does not take into account the fact that sub-schemas for The example
is valid for |
Thanks, @jsenko for the response. You are correct in Is there a work-in-progress to fix this bug, and can I monitor my issue and an MR will mention it when it is open? Thanks a lot! |
Hi, I don't have an ETA, but I'll mention this issue in the PR, so I'll be linked. As a workaround, you can relax the compatibility rule temporarily and then set it back to FULL. |
Hi @jsenko ! I need your help a bit if you have time, I tried fixing that issue with compatibility with a patch of checking the schema diff: private boolean isOptionalPropertyDiff(CompatibilityDifference diff) {
return diff.asRuleViolation().getDescription()
.equalsIgnoreCase(DiffType.OBJECT_TYPE_PROPERTY_SCHEMAS_EXTENDED.getDescription())
|| diff.asRuleViolation().getDescription()
.equalsIgnoreCase(DiffType.OBJECT_TYPE_PROPERTY_SCHEMAS_NARROWED.getDescription());
} Then filter out those, if I do this in the So, I moved this down to the Checker itself like in this commit, but this doesn't work it seems to me that it is not picking up the new function I'm new to this so could you help me understand the flow?
Thanks 🙏 |
… take additional properties/items into account Fixes Apicurio#4965
… take additional properties/items into account Fixes Apicurio#4965 Backports PR#5052
hey folks! Feeling a bit stupid here and need your help! 🙏
I have been playing with APICURIO lately, especially if I enable
FULL
compatibility as a global rule.I'm using Json type
req.Header.Set("X-Registry-ArtifactType", "JSON")
Then add a new schema like this:
Then if I try to update it I call the create endpoint with
?ifExists=RETURN_OR_UPDATE&canonical=true
with a new version of the schema like this:Isn't this considered a full compatible version?
If not, then what it is?
If yes, then why i get
OBJECT_TYPE_PROPERTY_SCHEMAS_NARROWED
error?even if i try with:
then
APICURIO Logs
Thanks
The text was updated successfully, but these errors were encountered: