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

fix: align transitive compatibility checks #953

Merged
merged 3 commits into from
Oct 10, 2024

Commits on Oct 10, 2024

  1. refactor: reorganize schema compatibility logic

    This in preparation for the fix for [EC-289].
    
     - Move schema compatibility related code from __init__.py to its own
       module (schema_compatibility.py)
     - Refactor logic in:
       - Schema registering endpoint (`/subjects/<subject-key>/versions`)
       - Schema compatibility endpoint (`/compatibility/subjects/<subject-key>/versions/latest`)
    davide-armand committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    260a105 View commit details
    Browse the repository at this point in the history
  2. fix: align transitive compatibility checks

    Make so that the transitive compatibility checks that are done in the
    schema creation endpoint are also done in the schema validation
    endpoint.
    
    In the creation endpoint (`/subjects/<subject-key>/versions`), if the
    compatibility mode is transient then the new schema is checked against
    all schemas.
    
    In the validation endpoint (`/compatibility/subjects/<subject-key>/versions/<schema-version>`):
     - Before this fix, only the latest schema is checked against (even in
       case of transitive mode)
     - After this fix, in case of transitive mode then all schema are
       checked against.
       Note that in this case the version provided in the POST request
       (`<schema-version>`) is ignored.
    davide-armand committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    dfc476c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    429e18c View commit details
    Browse the repository at this point in the history