PS-11202 [8.0]: Fix abrupt server termination when reading page tracking files fails#5988
Open
jakub-nowakowski-percona wants to merge 1 commit into
Conversation
…ing files fails https://perconadev.atlassian.net/browse/PS-11202 When ib_page_* files in #ib_archive contain corrupted data or when reading them fails due to an I/O error, the server terminates with a fatal error in release builds or hits an assertion in debug builds. Replace all fatal os_file_read calls in the page archiver with os_file_read_no_error_handling, convert unsafe assertions on file data to runtime checks, and propagate errors gracefully so the server logs a warning and continues as if page tracking were unavailable.
Contributor
Author
satya-bodapati
requested changes
Jun 2, 2026
Contributor
satya-bodapati
left a comment
There was a problem hiding this comment.
As discussed on slack, please check during recovery, an ERROR is thrown (not a warning). it is big enough deal for user to know that page trackign is not initialized.
Please grep for this error after the startup and also add queries to show all page tracking queries respond with -1
| arch_oper_mutex_exit(); | ||
| ut_d(ut_error); | ||
| ut_o(return); | ||
| ut_o(return ); |
Contributor
There was a problem hiding this comment.
modified by mistake?
| Arch_File_Ctx Arch_Group::s_dblwr_file_ctx; | ||
|
|
||
| Arch_Group::~Arch_Group() { | ||
| ut_ad(!m_is_active); |
Contributor
There was a problem hiding this comment.
can we instead make m_is_active() to false on error paths?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
https://perconadev.atlassian.net/browse/PS-11202
When ib_page_* files in #ib_archive contain corrupted data or when reading them fails due to an I/O error, the server terminates with a fatal error in release builds or hits an assertion in debug builds. Replace all fatal os_file_read calls in the page archiver with os_file_read_no_error_handling, convert unsafe assertions on file data to runtime checks, and propagate errors gracefully so the server logs a warning and continues as if page tracking were unavailable.