Non-Sync Variables

Non-sync variables are set to take effect on individual nodes. They have one the following four states:

  • Settable to take effect when a node starts

  • Settable to take effect while a node is running

  • Settable to take effect both when a node starts and while the node is running

  • Read-only (not settable)

Most non-sync variables are settable to take effect both when a node starts and while the node is running. Exceptions are indicated in the Exceptions to When Variable can be Set column in the list of non-sync variables.

Non-Sync Variable Scopes

Every non-sync 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 non-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 non-sync variables.

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

Setting Non-Sync Variables

Non-sync variables with global or session scope can be set globally in the following way.

  • SET GLOBAL sets a non-sync variable globally and the variable’s value will not persist if the node is restarted.

    Important

    When you set a session variable using the SET GLOBAL command, you need to additionally run FLUSH CONNECTION POOLS on every aggregator node in the cluster. This will clear the session variable value saved earlier in the connection pools and enable the aggregator and leaf nodes to use the new value.

  • To set the variable’s value to take effect when the node starts, run the following command to update the node’s configuration.

Specify the --all flag if you want to propagate the non-sync variable’s value to all nodes. You can also use the --set-global flag to have the variable’s value take effect immediately (assuming the node is running and the variable can be set at runtime) in addition to when the node restarts.

Caution

When you add new nodes to a cluster, non-sync variables that you set previously are not automatically applied to the new nodes.

Last modified: March 21, 2024

Was this article helpful?

Verification instructions

Note: You must install cosign to verify the authenticity of the SingleStore file.

Use the following steps to verify the authenticity of singlestoredb-server, singlestoredb-toolbox, singlestoredb-studio, and singlestore-client SingleStore files that have been downloaded.

You may perform the following steps on any computer that can run cosign, such as the main deployment host of the cluster.

  1. (Optional) Run the following command to view the associated signature files.

    curl undefined
  2. Download the signature file from the SingleStore release server.

    • Option 1: Click the Download Signature button next to the SingleStore file.

    • Option 2: Copy and paste the following URL into the address bar of your browser and save the signature file.

    • Option 3: Run the following command to download the signature file.

      curl -O undefined
  3. After the signature file has been downloaded, run the following command to verify the authenticity of the SingleStore file.

    echo -n undefined |
    cosign verify-blob --certificate-oidc-issuer https://oidc.eks.us-east-1.amazonaws.com/id/CCDCDBA1379A5596AB5B2E46DCA385BC \
    --certificate-identity https://kubernetes.io/namespaces/freya-production/serviceaccounts/job-worker \
    --bundle undefined \
    --new-bundle-format -
    Verified OK