vraulji567 opened a new pull request, #25035:
URL: https://github.com/apache/pulsar/pull/25035

   ### Motivation
   
   The pulsar metadata sync does not have a way to exclude specific config from 
syncing across clusters. For example, a cluster need to have a separate config 
in on-prem and cloud for it to function correctly for geo-replication. Syncing 
the cluster config creates issues in geo-replication. Enhance pulsar metadata 
synchronizer to exclude cluster config from syncing across clusters.
   Apply the exclusion in a way that a specific destination cluster can ignore 
a config sync based on the pattern set at the destination cluster level. Pulsar 
metadata synchronizer will publish the metadata change event to the destination 
cluster, which may or may not exclude the event depending on the exclusion 
pattern set in the destination broker config.
   Multiple exclusions patterns can be configured and sync would be excluded if 
any of the patterns match. 
   
   ### Modifications
   
   - Add config `metadataSyncEventExclusions` to exclude sync. Provide regex 
pattern eg /admin/clusters/.*, /admin/(?!.*test).* to exclude the config sync 
event.
   - Enhance PulsarMetadataEventSynchronizer to exclude syncing events 
configured with `metadataSyncEventExclusions`
   
   ### Verifying this change
   
   - [ ] Make sure that the change passes the CI checks.
   
   This change added tests and can be verified as follows:
     - Added tests to verify different regex patterns to apply exclusions to 
the metadata sync.
   
   ### Does this pull request potentially affect one of the following parts:
   
   *If the box was checked, please highlight the changes*
   
   - [ ] Dependencies (add or upgrade a dependency)
   - [ ] The public API
   - [ ] The schema
   - [ ] The default values of configurations
   - [ ] The threading model
   - [ ] The binary protocol
   - [ ] The REST endpoints
   - [ ] The admin CLI options
   - [ ] The metrics
   - [ ] Anything that affects deployment
   
   ### Documentation
   
   <!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. -->
   
   - [ ] `doc` <!-- Your PR contains doc changes. -->
   - [ ] `doc-required` <!-- Your PR changes impact docs and you will update 
later -->
   - [ ] `doc-not-needed` <!-- Your PR changes do not impact docs -->
   - [ ] `doc-complete` <!-- Docs have been already added -->
   


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

Reply via email to