nodece commented on code in PR #15887:
URL: https://github.com/apache/pulsar/pull/15887#discussion_r887622564
##########
site2/docs/schema-evolution-compatibility.md:
##########
@@ -30,19 +30,34 @@ For more information, see [Schema compatibility check
strategy](#schema-compatib
### How does Pulsar support schema evolution?
-1. When a producer/consumer/reader connects to a broker, the broker deploys
the schema compatibility checker configured by
`schemaRegistryCompatibilityCheckers` to enforce schema compatibility check.
+The process of how Pulsar supports schema evolution is described as follows.
- The schema compatibility checker is one instance per schema type.
+1. The producer/consumer/reader sends its client `SchemaInfo` to brokers.
- Currently, Avro and JSON have their own compatibility checkers, while all
the other schema types share the default compatibility checker which disables
schema evolution.
+2. Brokers recognize the schema type and deploy the schema compatibility
checker `schemaRegistryCompatibilityCheckers` for that schema type to enforce
schema compatibility check.
-2. The producer/consumer/reader sends its client `SchemaInfo` to the broker.
-
-3. The broker knows the schema type and locates the schema compatibility
checker for that type.
+3. Brokers use the schema compatibility checker to check if the `SchemaInfo`
is compatible with the latest schema of the topic by applying its compatibility
check strategy. Currently, the compatibility check strategy is configured at
the namespace level and applied to all the topics within that namespace.
+
+:::tip
+
+Each schema type corresponds to one instance of schema compatibility checker.
Currently, Avro, JSON and Protobuff have their own compatibility checkers,
while all the other schema types share the default compatibility checker which
disables schema evolution.
+
+:::
+
+The following code snippet describes the implementation of
`schemaRegistryCompatibilityCheckers`. For more details, see
[code](https://github.com/apache/pulsar/blob/bf194b557c48e2d3246e44f1fc28876932d8ecb8/pul[…]rc/main/java/org/apache/pulsar/broker/ServiceConfiguration.java).
Review Comment:
If you add schemaRegistryCompatibilityCheckers config above, you can remove
this part.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]