Testing Distribution scenarios
Testing
-
Start distributor without distributions on cluster A with init enabled.
-
Distributions Enabled to false
-
Start distributor without distributions on cluster A with init enabled.
-
Make sure the init principals contain the principal names of the other cluster distributors
-
Apply config
-
Verify the correct Connect deployment in Kubernetes. Check logs. No connectors running, but ACLs were set for remote distributors to work
-
-
Start distributor without distributions on cluster B with init enabled
-
Distributions Enabled to false
-
Make sure the init principals contain the principal names of the other cluster distributors
-
Apply config
-
Verify the correct Connect deployment in Kubernetes. Check logs. No connectors running, but ACLs were set for remote distributors to work
-
-
Start message distributor on Cluster A
-
Ensure only the correct level distributor is enabled
-
Ensure init is enabled to create the proper groups for the distributor
-
Apply config
-
Verify the connector state and logs in Kubernetes
-
Produce on a topic on Cluster A
-
Consume from the topic on Cluster B to verify messages from A are distributed
-
-
Start message distributor on Cluster B
-
Ensure only the correct level distributor is enabled
-
Ensure init is enabled to create the proper groups for the distributor
-
Apply config
-
Verify the connector state and logs in Kubernetes
-
Start a consumer on the Cluster A test topic
-
Start a consumer on the Cluster B test topic
-
Produce to test topic on Cluster A
-
Verify Consumer Cluster A has a single copy of the record
-
Verify Consumer Cluster B has a single copy of the record
-
Produce a new record to test topic on Cluster B
-
Verify Consumer Cluster B has a single copy of the second record
-
Verify Consumer Cluster A has a single copy of the second record
-
-
Wait for Message Distribution to catch up
-
Check lags for message distribution on the topics, they should return to close to zero, depending on produce load
-
Start Offset Committer Cluster B
-
Ensure only the offset committer enabled is set to true
-
Ensure init is enabled to create the proper groups for the committer
-
Apply config
-
Verify the correct timestamps topic is created
-
Verify that the Offset Committer tasks are running (logs, kubernetes reported Connector state)
-
-
Start Offset Distributor Cluster A
-
Ensure only the offset committer enabled is set to false
-
Ensure only the offset distributor enabled for the level is set to true
-
Ensure init is enabled to create the proper groups for the committer
-
Apply config
-
Verify that the Offset Distributor tasks are running (logs, kubernetes reported Connector state)
-
Collect the current offset for the test topic and partition on Cluster B
-
Start a consumer on the timestamps topic on Cluster B
-
Set offset for the test topic and group on Cluster A
-
Verify that after the window period a timestamps record for the group is is consumed on Cluster B
-
Collect the current offset for the test topic and partition on Cluster B (should be changed)
-
-
Start Offset Committer Cluster A
-
Ensure only the offset committer enabled is set to true
-
Ensure init is enabled to create the proper groups for the committer
-
Apply config
-
Verify the correct timestamps topic is created
-
Start Offset Distributor Cluster B
-
Ensure only the offset committer enabled is set to false
-
Ensure only the offset distributor enabled for the level is set to true
-
Ensure init is enabled to create the proper groups for the committer
-
Apply config
-
Verify that the Offset Distributor tasks are running (logs, kubernetes reported Connector state)
-
Collect the current offset for the test topic and partition on Cluster A
-
Start a consumer on the timestamps topic on Cluster A
-
Set offset for the test topic and group on Cluster B
-
Verify that after the window period a timestamps record for the group is is consumed on Cluster A
-
Collect the current offset for the test topic and partition on Cluster A (should be changed)
-