pip/pip-433.md
The source broker will copy the REST requests that is a partitioned topic creation to the remote cluster if you have already enabled a namespace-level Geo Replication.
The source broker will do the following things when you try to enable a topic-level Geo-Replication, and you did not enable a namespace-level Geo-Replication.
Client of source cluster: start a consumer/producer for a topicClient of source cluster: Get partitions for topic
Client of source cluster: Start internal consumers/producers for each partition
Source broker: starts the geo replicator when a partition is loading up.
The internal producer of the geo replicator starts with an auto-produce schema, copies a new schema it reads from the source cluster to the remote cluster, and it will be stuck once a schema is incompatible to the remote cluster.
Steps to reproduce the issue
allowAutoTopicCreation: trueallowAutoTopicCreationType: partitioneddefaultNumPartitions: 2public/default exists, but you have not enabled Geo-Replication for the namespace yet.persistent://public/default/topic on the source cluster.
2 partitions created.public/default.public/default/topic-partition-0
public/default/topic-partition-0Steps to reproduce the issue
public/default/topic has enabled a geo replication.set-is-allow-auto-update-schema to false.__change_eventsRegarding goal 2: uses admin API client to trigger topic creation on the remote side
createTopicToRemoteClusterForReplication is false, which keeps the previous behavior. See more details PIP-370: configurable remote topic creation in geo-replication .We skip adding the overview of the implementation, since goals 1 and 3 are simple and clear enough.
The original design of pulsar-admin namespaces set-schema-autoupdate-strategy
pulsar-admin namespaces set-schema-autoupdate-strategy
-c, --compatibility=<strategyParam>
Compatibility level required for new schemas created
via a Producer. Possible values (Full, Backward,
Forward).
-d, --disabled Disable automatic schema updates
To add a new param --enable-for-replicator, which means that always allow the replicator to register a new schema if compatible. The default value is true.
pulsar-admin topics create-partitioned-topic <topic name>
pulsar-admin topics set-replication-clusters -c <clusters> <topic name>
Add additional checks when calling pulsar-admin namespaces set-clusters -c <clusters> <namespace>, which brokers will do
__change_events.The following configurations will never limit the behavior of replication anymore, since replicators have changed to use an Admin API client to trigger the topic creation.
broker.conf -> allowAutoTopicCreationbroker.conf -> isAllowAutoUpdateSchemaEnablednamespace level policy: auto-topic-creationNothing.
Nothing.
Nothing.
There's nothing that needs to be done.
Nothing.
Nothing.