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.
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 |