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-9148 feature: Dictionary caching for Masking Functions Component (8.0) #5520

Open
wants to merge 19 commits into
base: 8.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
e3ecad8
Temporarily partially reverted the fix for PS-9453
percona-ysorokin Nov 18, 2024
f080a9f
Bug#34741098 component::deinit() will block if calling any registry
Oct 16, 2023
0566c19
Re-applied temporarily partially reverted fix for PS-9453
percona-ysorokin Nov 18, 2024
67566d3
PS-9551 fix: Setting MYSQL_COMMAND_LOCAL_THD_HANDLE may crash the server
percona-ysorokin Nov 21, 2024
fc9a1a5
PS-9537 fix: Existing connection cannot be reused to run multiple que…
percona-ysorokin Nov 14, 2024
0bcfea3
PS-9148 feature: Add caching of dictionary table for component_maskin…
oleksandr-kachan Mar 27, 2024
31d003f
PS-9148 feature: Add masking_functions.masking_database sys var support
oleksandr-kachan Mar 29, 2024
53399fd
PS-9148 feature: Implement dictionary flusher for masking_functions p…
oleksandr-kachan Apr 8, 2024
b41825b
PS-9148 feature: Implemented hierarchical storage for dictionaries an…
percona-ysorokin Apr 24, 2024
12f669f
PS-9148 feature: Minor refactoring to break dependencies
percona-ysorokin Apr 24, 2024
e523e24
PS-9148 feature: Refactored usage of std::string_view for c-interfaces
percona-ysorokin Apr 24, 2024
f746c32
PS-9148 feature: Implemented lazy query_cache initial population
percona-ysorokin Apr 29, 2024
83323b4
PS-9148 feature: Reworked dictionary / bookshelf thread-safety model
percona-ysorokin May 2, 2024
a1a164d
PS-9148 feature: Fix masking functions flusher thread intialization
oleksandr-kachan Aug 6, 2024
1b76894
PS-9148 feature: Decoupled threading and caching functionality in que…
percona-ysorokin Aug 27, 2024
dc9907a
PS-9148 feature: Refactored dictionary_flusher_thread
percona-ysorokin Sep 26, 2024
57594b0
PS-9148 feature: Improved diagnostics (MySQL API error messages) in s…
percona-ysorokin Sep 30, 2024
e04feb2
PS-9148 feature: Refactored to avoid deadlock during UNINSTALL COMPONENT
percona-ysorokin Oct 6, 2024
db12fad
PS-9148 feature: Refactored dictionary flusher thread startup / termi…
percona-ysorokin Dec 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions components/libminchassis/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ SET(LIBMINCHASSIS_SOURCES
mysql_component.cc
mysql_service_implementation.cc
registry.cc
registry_no_lock.cc
rwlock_scoped_lock.cc
)

Expand Down
14 changes: 14 additions & 0 deletions components/libminchassis/minimal_chassis.cc
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
#include "dynamic_loader_scheme_file_imp.h"
#include "minimal_chassis_runtime_error_imp.h"
#include "registry_imp.h"
#include "registry_no_lock_imp.h"

extern SERVICE_TYPE(registry) imp_mysql_minimal_chassis_registry;

Expand All @@ -58,10 +59,21 @@ BEGIN_SERVICE_IMPLEMENTATION(mysql_minimal_chassis, registry)
mysql_registry_imp::acquire, mysql_registry_imp::acquire_related,
mysql_registry_imp::release END_SERVICE_IMPLEMENTATION();

BEGIN_SERVICE_IMPLEMENTATION(mysql_minimal_chassis_no_lock, registry)
mysql_registry_no_lock_imp::acquire,
mysql_registry_no_lock_imp::acquire_related,
mysql_registry_no_lock_imp::release END_SERVICE_IMPLEMENTATION();

BEGIN_SERVICE_IMPLEMENTATION(mysql_minimal_chassis, registry_registration)
mysql_registry_imp::register_service, mysql_registry_imp::unregister,
mysql_registry_imp::set_default END_SERVICE_IMPLEMENTATION();

BEGIN_SERVICE_IMPLEMENTATION(mysql_minimal_chassis_no_lock,
registry_registration)
mysql_registry_no_lock_imp::register_service,
mysql_registry_no_lock_imp::unregister,
mysql_registry_no_lock_imp::set_default END_SERVICE_IMPLEMENTATION();

BEGIN_SERVICE_IMPLEMENTATION(mysql_minimal_chassis, registry_query)
mysql_registry_imp::iterator_create, mysql_registry_imp::iterator_get,
mysql_registry_imp::iterator_next, mysql_registry_imp::iterator_is_valid,
Expand Down Expand Up @@ -110,7 +122,9 @@ mysql_runtime_error_imp::emit END_SERVICE_IMPLEMENTATION();

BEGIN_COMPONENT_PROVIDES(mysql_minimal_chassis)
PROVIDES_SERVICE(mysql_minimal_chassis, registry),
PROVIDES_SERVICE(mysql_minimal_chassis_no_lock, registry),
Copy link

Choose a reason for hiding this comment

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

⚠️ cppcoreguidelines-pro-type-const-cast ⚠️
do not use const_cast

PROVIDES_SERVICE(mysql_minimal_chassis, registry_registration),
PROVIDES_SERVICE(mysql_minimal_chassis_no_lock, registry_registration),
Copy link

Choose a reason for hiding this comment

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

⚠️ cppcoreguidelines-pro-type-const-cast ⚠️
do not use const_cast

PROVIDES_SERVICE(mysql_minimal_chassis, registry_query),
PROVIDES_SERVICE(mysql_minimal_chassis, registry_metadata_enumerate),
PROVIDES_SERVICE(mysql_minimal_chassis, registry_metadata_query),
Expand Down
Loading