Sync Variables

Sync variables are workspace-wide variables that you set on the master aggregator. After you set a sync variable, your update is propagated to all aggregators, all leaves, or both. The nodes affected by your update depend on the variable’s type and the command you use to set the variable. Your update takes effect immediately on the affected nodes (unless the variable’s scope is Session that can also be set globally) and persists if the affected nodes are restarted.

Types of Sync Variables

There are three types of sync variables:

  • Variables that can sync to all aggregators.

  • Variables that can sync to all leaves.

  • Variables that can sync to all nodes (leaves and aggregators).

The last sentence of the Description column in the list of sync variables specifies each variable’s type.

Sync Variable Scopes

Every variable has one of the following scopes.

  • Global. When you set a global variable, its value is effective for your current connection to the node and any other existing or subsequent connections, initiated by any user.

  • Session that can also be set globally. When set for the session, the variable’s value is effective for your current connection to the node. When set globally, this variable’s value is NOT effective for your current connection to the node but is effective for any other existing or subsequent connections to the node, initiated by any user.

Important

SingleStore recommends using a global setting for session variables whose values must be propagated to leaf nodes from the aggregator nodes on which the variable is set. For session variables that are only referenced by the aggregator nodes, the SET SESSION statement can be used instead.

Most sync variables have global scope. Those that instead have the scope session that can also be set globally are indicated in the Description column in the list of sync variables.

Note: Use the @@ selector to read the value of a variable. See Reading Variables for more information.

Setting Sync Variables

Sync variables with global or session scope can be set globally in the following way.

Caution

You can set a sync variable on the Master Aggregator only. You will receive an error if you attempt to set a sync variable on any other type of node.

Last modified: June 5, 2024

Was this article helpful?