Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
Can result in unexpected behaviour
Description
According to the documentation (https://mariadb.com/docs/server/server-management/variables-and-modes/server-system-variables#session_track_system_variables):
session_track_system_variables is a "Comma-separated list of session system variables for which to track changes"
In reality:
- global non-plugin variables are permitted in the list
- global plugin variables are removed from the list (again this is masked by MDEV-39207)
- value changes in global variables do not cause OK packet notification
To be consistent, global non-plugin variables should be removed from the list too.
With this test at the current MDEV-39207 patch:
enable_session_track_info;
|
set session session_track_system_variables='character_set_connection,max_connections'; |
select @@session.session_track_system_variables; # both are in the list |
set character_set_connection=cp1251; # session track info printed |
set global max_connections=100; # no session track info printed |
set session session_track_system_variables='character_set_connection,myisam_block_size'; |
select @@session.session_track_system_variables; # only character_set_connection |
set global myisam_use_mmap=1; # no session track info printed |
set session session_track_system_variables=default; |
set global max_connections=default,myisam_use_mmap=default; |
Note that the MDEV-31609 implementation includes values of all variables (i.e. including global non-plugin ones) in the list in the initial OK packet, and the current MDEV-38179 patch continues with this convention. If there are no global variables in the list, neither needs to be adjusted but the MDEV-38179 patch logic can be simplified a little bit as either both plugin and global variable locks are needed or neither lock is.
Attachments
Issue Links
- relates to
-
MDEV-39207 plugin variables disappear from session_track_system_variables list
-
- In Review
-