You are viewing an older version of this section. View current production version.

Global Variables

For advanced users, you may also declare a globalVariables section. This is an optional section that allows you to specify values for SingleStore DB engine variables.

...
globalVariables:
  snapshots_to_keep: "6"
  transaction_buffer: "8m"
  default_partitions_per_leaf: "4"

Refer to Engine Variables and List of Engine Variables documentation to for more information about engine variables, global variables, and when to use them.

  • Prior to Operator 1.2.0, the supported engine variables are:

    • default_partitions_per_leaf
    • columnstore_segment_rows
    • columnstore_flush_bytes
    • columnstore_window_size
    • transaction_buffer
    • snapshot_trigger_size
    • minimal_disk_space
    • pipelines_max_concurrent
    • auditlog_level
  • As of Operator 1.2.0, nearly all engine variables are supported except for:

    • redundancy_level
    • sync_permissions
    • local_file_system_access_restricted
  • As of Operator 1.2.1, nearly all engine variables are supported except for:

    • redundancy_level
    • sync_permissions
  • Refer to List of Engine Variables for more information.

Info

If it is not overridden in the globalVariables section, the Operator will set default_partitions_per_leaf to a value equal to the height multiplied by the vCPU cores per unit.

Both aggregatorSpec and leafSpec specific globalVariables sections may also be declared. The optional spec.aggregatorSpec and spec.leafSpec sections in the memsql-cluster.yaml file allow non-sync variables for aggregators and leaf nodes to be specified separately.

aggregatorSpec:
  ...
  globalVariables:
    snapshots_to_keep: "4"

...
leafSpec:
  ...
  globalVariables:
    snapshots_to_keep: "5"

Once the sync and non-sync variables are set via spec.globalVarialbes, they are applied across the entire cluster.

  • All variables set via spec.aggregatorSpec.globalVariables are applied to all pods in Master Aggregator and child aggregators.
  • All variables set via spec.leafSpec.globalVariables are applied to all pods in leaf nodes.

Include only non-sync variables in spec.aggregatorSpec.globalVariables and spec.leafSpec.globalVariables.

Non-sync variables defined in spec.aggregatorSpec.globalVariables and spec.leafSpec.globalVariables override the same variables defined in spec.globalVariables.