Skip to navigation

Inspect the Current Configuration

View as Markdown

Ocient® includes a variety of configuration settings that control how the system behaves. The vast majority of these won’t change in a typical deployment. However, there is a small set more commonly changed to adjust for different workloads, hardware, and operating requirements.

Configuration is primarily done through DDL or DCL and can be inspected using the System Catalog Reference.

You can contact Ocient Support to change configuration settings that apply across the entire system or to a subset of nodes. Each Ocient node reads configuration settings during startup. Therefore, configuration changes require restarts for the new values to take effect. For details, contact Ocient Support.

Inspecting System Configuration

Administrators typically need to know the effective configuration of the system and what has been overridden.

  • Configuration Overrides — a list of the overrides applied by administrators
  • Effective Configuration — the complete list of all configuration parameters and their current values on each node

Viewing Configuration Overrides

A system catalog table is provided that lists all DDL Configuration Overrides that are applied to the Ocient System. This table includes the configuration target type as well as the scope to which it is applied.

In the event that the scope is not SYSTEM (See Advanced Configuration for CLUSTER and NODE scopes), the scope_id will indicate the cluster_id or node_id to which the configuration override applies.

Example

The following query retrieves all config overrides applied on the system and provides a friendly node name or cluster name where an override is limited in scope:

SELECT
cfg.scope_type,
n.name AS node_name,
c.name AS cluster_name,
cfg.key,
cfg.value
FROM
sys.config cfg
LEFT JOIN sys.nodes n
ON n.id = cfg.scope_id and cfg.scope_type = 'NODE'
LEFT JOIN sys.clusters c
ON c.id = cfg.scope_id and cfg.scope_type = 'CLUSTER';

Output

scope_type node_name cluster_name key value
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
NODE sales-lts8 NULL lts.memory.warningHeapMemoryUsageRatio 0.93999999999999995
SYSTEM NULL NULL lts.blobstoreParameters.coreMask 0b10000000000000000000
CLUSTER NULL storageCluster1 lssParameters.nvmeParameters.useOpal true
NODE sales-lts8 NULL lts.lssParameters.nvmeParameters.ioCoreMask 68719542272
SYSTEM NULL NULL sql.pdfReservedMem 137438953472
...

Viewing Effective Configuration Using System Table

A system catalog table is provided that lists the effective configuration of each node.

Example

The following query retrieves the effective overrides for the SQL role on the specified node:

SELECT
n.name,
nc.key,
nc.value
FROM
sys.node_config nc
JOIN sys.nodes n
ON nc.node_id = n.id
WHERE n.name = 'sql0'
AND key LIKE 'sql%';

Output

name key value
---------------------------------------------------------------------------------------------------------------------------------------
sql0 sql.blobstoreParameters.regionAllocationUnit 17179869184
sql0 sql.blobstoreParameters.pageUtilizationExpand 0.75
sql0 sql.blobstoreParameters.pageUtilizationContract 0.25
sql0 sql.blobstoreParameters.maxFileSize 0
sql0 sql.blobstoreParameters.minFileSize 128MiB
sql0 sql.blobstoreParameters.blobPageSize 128KiB
sql0 sql.blobstoreParameters.stripeWidth 0
sql0 sql.blobstoreParameters.coreMask 0b10000000
sql0 sql.cacheMinFreeMemoryPercent 0.109999999
sql0 sql.cacheMinSize 4096
sql0 sql.cacheMinKeepTime 720
sql0 sql.purgeCacheFrequency 300
sql0 sql.pdfReservedMem 0
sql0 sql.numLevels 3
sql0 sql.maxShutdownWaitTime 1800000
sql0 sql.shortQueryMillis -1
sql0 sql.timeLimit 1800000
sql0 sql.forceNetworkedVirtualTables false
sql0 sql.cacheLimit 17179869184
sql0 sql.optimizer TKTOptimizer
sql0 sql.generator TKTPlanGenerator
sql0 sql.validator TKTValidator
sql0 sql.concurrencyTarget 5

Viewing Effective Configuration Using REST Endpoints

Administrators can also view the effective system configuration using the config endpoint, a REST interface available on each node. This endpoint shows every configuration parameter for the node and its current value. It reflects the active values and might not reflect configuration overrides applied since the last node restart.

The config endpoint is found on each node at http://<node_hostname_or_ip_address>:9090/v1/config and it returns a JSON representation of the active system configuration of the targeted node.

Example

curl http://10.0.1.7:9090/v1/config

Output

{
"siloType": "xg::runtime::physicalSiloSet_t",
"tlbfsInfo.enabled": "true",
"gdsClientParameters_t.batchTimer": "150000000n",
"gdsClientParameters_t.maxBatchCount": "4096"
...
"operatorvm.vmSiloMask": "0x3",
"operatorvm.vmParameters.levels": "0x4",
"operatorvm.vmParameters.statsCacheSize": "4GiB",
"operatorvm.vmProtocolParameters.routerPollRate": "250000000n",
"operatorvm.vmProtocolParameters.bufferedDatablockTimeout": "120000000000n"
...
"lts.ioOpParameters.bufferPool.backingSlabSize": "2MiB",
"lts.ioOpParameters.bufferPool.bufferPools[0].pool.size": "4KiB",
"lts.ioOpParameters.bufferPool.bufferPools[0].pool.count": "98304",
"lts.ioOpParameters.lbaCacheSize": "64",
"lts.targetFillRatio": "1",
"lts.pdfReservedMem": "4GiB"
...
}

System Catalog