fanfuxiaoran opened a new pull request, #1184: URL: https://github.com/apache/cloudberry/pull/1184
<!-- Thank you for your contribution to Apache Cloudberry (Incubating)! --> Fixes #ISSUE_Number base on the pr https://github.com/apache/cloudberry/pull/1152 ### What does this PR do? <!-- Brief overview of the changes, including any major features or fixes --> For hot standby cluster, only at the restore_point it can reach a consistent state. So the snapshot on hot standby should be token at thre restore_point. Add the guc gp_hot_standby_snapshot_restore_point_name, it sets the restore point name that the snapshot should be token at. Add a new type of xlog: XLOG_RESTORE_POINT_RUNNING_XACTS, it records the running xids and the restore point name. On hot standby, when doing recovery, it the xlogRecord's restore point name equals the gp_hot_standby_snapshot_restore_point_name, then we will update the hot standby snapshot. Beside the XLOG_RESTORE_POINT_RUNNING_XACTS, I think the for checkpoint shutdown xlogrecord, the hot standby cluster is also consistent, we can update the snapshot too. TODO: I have added the test hot_standby/snapshot. But the test failed. It is expected to fail when query table hs_sh on hot standby before the restore point "r1" created. It means this commit cannot work correctly, I must miss something. ### Type of Change - [ ] Bug fix (non-breaking change) - [ ] New feature (non-breaking change) - [ ] Breaking change (fix or feature with breaking changes) - [ ] Documentation update ### Breaking Changes <!-- Remove if not applicable. If yes, explain impact and migration path --> ### Test Plan <!-- How did you test these changes? --> - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Passed `make installcheck` - [ ] Passed `make -C src/test installcheck-cbdb-parallel` ### Impact <!-- Remove sections that don't apply --> **Performance:** <!-- Any performance implications? --> **User-facing changes:** <!-- Any changes visible to users? --> **Dependencies:** <!-- New dependencies or version changes? --> ### Checklist - [ ] Followed [contribution guide](https://cloudberry.apache.org/contribute/code) - [ ] Added/updated documentation - [ ] Reviewed code for security implications - [ ] Requested review from [cloudberry committers](https://github.com/orgs/apache/teams/cloudberry-committers) ### Additional Context <!-- Any other information that would help reviewers? Remove if none --> ### CI Skip Instructions <!-- To skip CI builds, add the appropriate CI skip identifier to your PR title. The identifier must: - Be in square brackets [] - Include the word "ci" and either "skip" or "no" - Only use for documentation-only changes or when absolutely necessary --> --- <!-- Join our community: - Mailing list: [[email protected]](https://lists.apache.org/[email protected]) (subscribe: [email protected]) - Discussions: https://github.com/apache/cloudberry/discussions --> -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
