[MDEV-24816] autocommit setting in .cnf file does not change global variable origin and path Created: 2021-02-09  Updated: 2023-08-04

Status: Confirmed
Project: MariaDB Server
Component/s: Configuration, Information Schema, Variables
Affects Version/s: 10.5.8, 10.2, 10.3, 10.4, 10.5, 10.6
Fix Version/s: 10.4, 10.5

Type: Bug Priority: Minor
Reporter: Hartmut Holzgraefe Assignee: Oleksandr Byelkin
Resolution: Unresolved Votes: 1
Labels: None


 Description   

I've added a custom config include file /etc/mysql/mariadb.conf.d/extra.cnf with contents

[mysqld]
autocommit=OFF
bind_address=0.0.0.0

Checking I_S.SYSTEM_VARIABLES for these two settings, I see that both values have been set as requested, but only for bind_address I see the correct origin and path information, while for autocommit it still claims to be using the complied-in default even though the current value is clearly different than the default:

MariaDB [(none)]> select variable_name, default_value, global_value, global_value_origin, global_value_path from information_schema.system_variables where variable_name IN ('autocommit','bind_address')\G
*************************** 1. row ***************************
      variable_name: BIND_ADDRESS
      default_value: 
       global_value: 0.0.0.0
global_value_origin: CONFIG
  global_value_path: /etc/mysql/mariadb.conf.d/extra.cnf
*************************** 2. row ***************************
      variable_name: AUTOCOMMIT
      default_value: ON
       global_value: OFF
global_value_origin: COMPILE-TIME
  global_value_path: NULL



 Comments   
Comment by Elena Stepanova [ 2023-08-04 ]

There seems to be quite a few such variables, other examples are default_storage_engine, slave_parallel_mode, log_bin etc.
Semantically, I can't see what they can have in common.
One oddity that they share, which may well be a coincidence, is that they all also have COMMAND_LINE_ARGUMENT: NULL. It is a strange value.
COMMAND_LINE_ARGUMENT can be one of REQUIRED, OPTIONAL and NONE, which are understandable.
I would expect NULL be reserved for true read-only variables (those which cannot be changed at all), such as LICENSE etc., but it isn't the case.

Generated at Thu Feb 08 09:32:53 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.