checker: support TSO microservice config in active active preflight#5092
checker: support TSO microservice config in active active preflight#5092King-Dylan wants to merge 2 commits into
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
This pull request introduces support for TSO microservices in the active-active TSO index validation logic. It updates both upstream and downstream retrieval processes to prioritize TSO service configurations while maintaining fallbacks to legacy PD configurations. Feedback focuses on optimizing the retrieval of upstream TSO configurations by reusing HTTP clients to avoid connection overhead and improving code clarity by explicitly returning nil in success paths.
There was a problem hiding this comment.
Code Review
This pull request adds support for TSO microservices to the active-active TSO index validation logic, updating both upstream and downstream retrieval to prioritize TSO service configurations with a fallback to legacy PD settings. The review feedback identifies a performance optimization to reuse HTTP clients rather than recreating them in loops and suggests a minor refactor to return nil explicitly when no error is present.
What problem does this PR solve?
Active-active TSO preflight still reads
tso-unique-indexandtso-max-indexfrom PD config only. In TSO microservice deployments, that can validate the wrong source of truth and reject or accept changefeed creation incorrectly.Issue Number: close #5091
What is changed and how it works?
SHOW CONFIGwithtype='tso'first and fall back totype='pd'only when no TSO rows are reportedCheck List
Tests
Questions
Will it cause performance regression or break compatibility?
No. The change keeps the old PD fallback for legacy embedded-TSO deployments, and it reuses the HTTP client when reading multiple TSO member configs.
Do you need to update user documentation, design documentation or monitoring documentation?
No.
Release note