Schema Registry
Compatibility
One of the following compatibility rules can be selected when using the Schema Registry:
BACKWARD
: consumers using the new schema can read data written by producers using the latest registered schema.BACKWARD_TRANSITIVE
(default): consumers using the new schema can read data written by producers using all previously registered schemas.FORWARD
: consumers using the latest registered schema can read data written by producers using the new schema.FORWARD_TRANSITIVE
: consumers using all previously registered schemas can read data written by producers using the new schema.FULL
: the new schema is forward and backward compatible with the latest registered schema.FULL_TRANSITIVE
: the new schema is forward and backward compatible with all previously registered schemas.NONE
: schema compatibility checks are disabled.
To enable the semantics above, you are allowed to make the following changes in each option.
If you choose TRANSITIVE
, it means that schema will be compared against all versions before,
not only the last one.
The table shows which applications consumers
/ producers
should be upgraded first.
Compatibility Type | What is allowed | Upgrade first |
---|---|---|
BACKWARD[_TRANSITIVE] | Delete fields. Add optional fields. | Consumers |
FORWARD[_TRANSITIVE] | Add fields. Delete optional fields. | Producers |
FULL[_TRANSITIVE] | Add optional fields.Delete optional fields. | Any order |
NONE | All changes are accepted. | Not Applicable |