gcomm.thread_prio

Overview

Defines the policy and priority for the gcomm thread

The wsrep_provider_options system variable applies to MariaDB Enterprise Cluster, powered by Galera and to Galera Cluster available with MariaDB Community Server. This page relates specifically to the gcomm.thread_prio wsrep_provider_options.

See also: wsrep Provider Options for MariaDB Enterprise Server 23.08, in 23.07 ES, in 10.6 ES, in 10.5 ES, in 10.4 ES, in 10.3 ES, in 10.2 ES, in 10.6 CS, in 10.5 CS, in 10.4 CS, in 10.3 CS, and in 10.2 CS

USAGE

DETAILS

The gcomm.thread_prio option, enables raising the priority of the gcomm thread to a higher level than it normally uses. This can be useful in situations where Galera Cluster threads do not receive sufficient CPU time due to competition with other MySQL threads. When the thread scheduler for the operating system does not run the Galera threads frequently enough, timeouts can occur and cause the node to drop from the cluster.

The format for the gcomm.thread_prio option is: <policy>:<priority>. The priority value is an integer. The policy value supports the following options:

  • other designates the default time-sharing scheduling in Linux. Threads can run until they are blocked by an I/O request or preempted by higher priorities or superior scheduling designations.

  • fifo designates first-in first-out scheduling. These threads always immediately preempt any currently running other, batch or idle threads. They can run until they are either blocked by an I/O request or preempted by a FIFO thread of a higher priority.

  • rr designates round-robin scheduling. These threads always preempt any currently running other, batch or idle threads. The scheduler allows these threads to run for a fixed period of a time. If the thread is still running when this time period is exceeded, they are stopped and moved to the end of the list, allowing another round-robin thread of the same priority to run in their place. They can otherwise continue to run until they are blocked by an I/O request or are preempted by threads of a higher priority.

Attribute

Value

Option Name

gcomm.thread_prio

Default Value

"" (an empty string)

Dynamic

NO

Debug

NO

SYNONYMS

SCHEMA

PARAMETERS

SKYSQL

PRIVILEGES

EXAMPLES

Display Current Value

wsrep_provider_options define optional settings the node passes to the wsrep provider.

To display current wsrep_provider_options values:

SHOW GLOBAL VARIABLES LIKE 'wsrep_provider_options';

The expected output will display the option and the value. Options with no default value, for example SSL options, will not be displayed in the output.

Set in Configuration File

When changing a setting for a wsrep_provider_options in the config file, you must list EVERY option that is to have a value other than the default value. Options that are not explicitly listed are reset to the default value.

Options are set in the my.cnf configuration file. Use the ; delimiter to set multiple options.

The configuration file must be updated on each node. A restart to each node is needed for changes to take effect.

Use a quoted string that includes every option where you want to override the default value. Options that are not in the list will reset to their default value.

To set the option in the configuration file:

wsrep_provider_options='gcomm.thread_prio=rr:2;gcache.debug=YES;gcs.fc_limit=NO;socket.send_buf_size=NO;evs.keepalive_period=PT3S'

Set Dynamically

The gcomm.thread_prio option cannot be set dynamically. It can only be set in the configuration file.

Trying to change a non-dynamic option with SET results in an error:

ERROR 1210 (HY000): Incorrect arguments to SET

ERROR HANDLING

FEATURE INTERACTION

RESPONSES

DIAGNOSIS

ISO 9075:2016

CHANGE HISTORY

Release Series

History

23.08 Enterprise

  • Present starting in MariaDB Enterprise Server 23.08.0.

23.07 Enterprise

  • Present starting in MariaDB Enterprise Server 23.07.0.

10.6 Enterprise

  • Present starting in MariaDB Enterprise Server 10.6.4-1.

10.6 Community

  • Present starting in MariaDB Community Server 10.6.0.

10.5 Enterprise

  • Present starting in MariaDB Enterprise Server 10.5.3-1.

10.5 Community

  • Present starting in MariaDB Community Server 10.5.0.

10.4 Enterprise

  • Present starting in MariaDB Enterprise Server 10.4.6-1.

10.4 Community

  • Added in MariaDB Community Server 10.4.2.

10.3 Enterprise

  • Present starting in MariaDB Enterprise Server 10.3.16-1.

10.3 Community

  • Added in MariaDB Community Server 10.3.14.

10.2 Enterprise

  • Present starting in MariaDB Enterprise Server 10.2.25-1.

10.2 Community

  • Added in MariaDB Community Server 10.2.23.

EXTERNAL REFERENCES