gongxun0928 opened a new pull request, #848: URL: https://github.com/apache/cloudberry/pull/848
Add two hook functions for extension, make custom Table-Am can hook in xlog redo ``` typedef void (*ConsistencyCheck_hook_type) (void); extern PGDLLIMPORT ConsistencyCheck_hook_type xlog_check_consistency_hook; typedef void (*XLOGDropDatabase_hook_type)(Oid dbid); extern XLOGDropDatabase_hook_type XLOGDropDatabase_hook; ``` In cloudberrydb, when mirror instance redo xlog, `StartupXLog` will start replaying from the latest checkpoint's REDO location in pg_control. When processing the xlog of data writing, we need to write the data in xlog into the data file, but the entire db directory may be deleted due to the drop database xlog that has been replayed last time. `XLogDropDatabase` and `XLogCheckInvalidPages` limits the table to be organized in page mode. For custom Table-Am, their data organization is not necessarily in page mode. We need to provide a hook for the implementation of custom wal log to handle this situation. <!-- Thank you for your contribution to Apache Cloudberry (Incubating)! --> Fixes #ISSUE_Number ### What does this PR do? <!-- Brief overview of the changes, including any major features or fixes --> ### 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]
