Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PS-9611 fix: Assertion '!is_set() || m_can_overwrite_status' failure while server shutdown (8.0) #5549

Conversation

percona-ysorokin
Copy link
Collaborator

https://perconadev.atlassian.net/browse/PS-9611

Changed max value of the
'masking_functions.dictionaries_flush_interval_seconds' variable: instead of 'ULLONG_MAX' we now limit it to 60 * 60 * 24 * 365 seconds = 31 536 000 seconds (1 year).

Improved 'is_terminated_lambda' in the 'dictionary_flusher_thread' - we now also check for additional server termination conditions.

Improved how 'dictionary_flusher_thread' reloads cache - before executing dictionary table SELECT, we now always reset diagnostic area in THD object to an empty state.

Added new 'enable_masking_functions_flush_thread_turbo_mode' DBUG option which helps to simulate continuous (without delays) cache reload.

Added new 'component_masking_functions.flusher_thread_da_cleanup' MTR test case which simulates the scenario reported in the bug description.

Added new checks to the
'component_masking_functions.sys_var_dictionaries_flush_interval_seconds_basic' MTR test case - we now check for min and max values of the 'dictionaries_flush_interval_seconds' variable.

@percona-ysorokin
Copy link
Collaborator Author

Copy link
Contributor

@dlenev dlenev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello Yura!

I have a couple of suggestions about your patch... Please consider them.

Otherwise it looks OK to me.

…while server shutdown

https://perconadev.atlassian.net/browse/PS-9611

Changed max value of the
'masking_functions.dictionaries_flush_interval_seconds' variable: instead of
'ULLONG_MAX' we now limit it to 60 * 60 * 24 * 365 seconds = 31 536 000
seconds (1 year).

Improved 'is_terminated_lambda' in the 'dictionary_flusher_thread' - we now
also check for additional server termination conditions.

Improved how 'dictionary_flusher_thread' reloads cache - before executing
dictionary table SELECT, we now always reset diagnostic area in THD
object to an empty state.

Added new 'enable_masking_functions_flush_thread_turbo_mode' DBUG
option which helps to simulate continuous (without delays) cache reload.

Added new 'component_masking_functions.flusher_thread_da_cleanup'
MTR test case which simulates the scenario reported in the bug description.

Added new checks to the
'component_masking_functions.sys_var_dictionaries_flush_interval_seconds_basic'
MTR test case - we now check for min and max values of the
'dictionaries_flush_interval_seconds' variable.
@percona-ysorokin percona-ysorokin force-pushed the dev/PS-9611-8.0-masking_functions_diagnostic_area branch from 73b6a57 to 6fb7b57 Compare February 5, 2025 14:07
Copy link
Contributor

@dlenev dlenev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@percona-ysorokin percona-ysorokin merged commit d74807c into percona:release-8.0.41-32 Feb 6, 2025
26 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants