/alter/system/properties

URL: http://<db.host>:<db.port>/alter/system/properties

The /alter/system/properties endpoint is primarily used to simplify the testing of the system and is not expected to be used during normal execution. Commands are given through the input parameter property_updates_map whose keys are commands and values are strings representing integer values (for example '8000') or boolean values ('true' or 'false').

Input Parameter Description

NameTypeDescription
property_updates_mapmap of string to strings

Map containing the properties of the system to be updated. Error if empty.

Supported Parameters (keys)Parameter Description
sm_omp_threadsSet the number of OpenMP threads that will be used to service filter & aggregation requests to the specified integer value.
kernel_omp_threadsSet the number of kernel OpenMP threads to the specified integer value.
concurrent_kernel_execution

Enables concurrent kernel execution if the value is true and disables it if the value is false. The supported values are:

  • true
  • false
subtask_concurrency_limitSets the maximum number of simultaneous threads allocated to a given request, on each rank. Note that thread allocation may also be limted by resource group limits and/or system load.
chunk_sizeSets the number of records per chunk to be used for all new tables.
evict_columnsAttempts to evict columns from memory to the persistent store. Value string is a semicolon separated list of entries, each entry being a table name optionally followed by a comma and a comma separated list of column names to attempt to evict. An empty value string will attempt to evict all tables and columns.
execution_modeSets the execution_mode for kernel executions to the specified string value. Possible values are host, device, default (engine decides) or an integer value that indicates max chunk size to exec on host
external_files_directorySets the root directory path where external table data files are accessed from. Path must exist on the head node
flush_to_diskFlushes any changes to any tables to the persistent store. These changes include updates to the vector store, object store, and text search store, Value string is ignored
clear_cacheClears cached results. Useful to allow repeated timing of endpoints. Value string is the name of the table for which to clear the cached results, or an empty string to clear the cached results for all tables.
communicator_testInvoke the communicator test and report timing results. Value string is a semicolon separated list of [key]=[value] expressions. Expressions are: num_transactions=[num] where num is the number of request reply transactions to invoke per test; message_size=[bytes] where bytes is the size in bytes of the messages to send; check_values=[enabled] where if enabled is true the value of the messages received are verified.
network_speedInvoke the network speed test and report timing results. Value string is a semicolon-separated list of [key]=[value] expressions. Valid expressions are: seconds=[time] where time is the time in seconds to run the test; data_size=[bytes] where bytes is the size in bytes of the block to be transferred; threads=[number of threads]; to_ranks=[space-separated list of ranks] where the list of ranks is the ranks that rank 0 will send data to and get data from. If to_ranks is unspecified then all worker ranks are used.
request_timeoutNumber of minutes after which filtering (e.g., /filter) and aggregating (e.g., /aggregate/groupby) queries will timeout. The default value is '20'.The minimum allowed value is 0. The maximum allowed value is 1440.
max_get_records_sizeThe maximum number of records the database will serve for a given data retrieval call. The default value is '20000'.The minimum allowed value is 0. The maximum allowed value is 1000000.
max_grbc_batch_size<DEVELOPER>
enable_auditEnable or disable auditing.
audit_headersEnable or disable auditing of request headers.
audit_bodyEnable or disable auditing of request bodies.
audit_dataEnable or disable auditing of request data.
audit_responseEnable or disable auditing of response information.
shadow_agg_sizeSize of the shadow aggregate chunk cache in bytes. The default value is '10000000'.The minimum allowed value is 0. The maximum allowed value is 2147483647.
shadow_filter_sizeSize of the shadow filter chunk cache in bytes. The default value is '10000000'.The minimum allowed value is 0. The maximum allowed value is 2147483647.
synchronous_compressioncompress vector on set_compression (instead of waiting for background thread). The default value is 'false'.
enable_overlapped_equi_joinEnable overlapped-equi-join filter. The default value is 'true'.
kafka_batch_sizeMaximum number of records to be ingested in a single batch. The default value is '1000'.The minimum allowed value is 1. The maximum allowed value is 10000000.
kafka_poll_timeoutMaximum time (milliseconds) for each poll to get records from kafka. The default value is '0'.The minimum allowed value is 0. The maximum allowed value is 1000.
kafka_wait_timeMaximum time (seconds) to buffer records received from kafka before ingestion. The default value is '30'.The minimum allowed value is 1. The maximum allowed value is 120.
egress_parquet_compression

Parquet file compression type The default value is snappy. The supported values are:

  • uncompressed
  • snappy
  • gzip
egress_single_file_max_sizeMax file size (in MB) to allow saving to a single file. May be overridden by target limitations. The default value is '10000'.The minimum allowed value is 1. The maximum allowed value is 200000.
max_concurrent_kernelsSets the max_concurrent_kernels value of the conf. The minimum allowed value is 0. The maximum allowed value is 256.
tcs_per_tomSets the tcs_per_tom value of the conf. The minimum allowed value is 2. The maximum allowed value is 8192.
tps_per_tomSets the tps_per_tom value of the conf. The minimum allowed value is 2. The maximum allowed value is 8192.
ai_api_providerAI API provider type
ai_api_urlAI API URL
ai_api_keyAI API key
ai_api_connection_timeoutAI API connection timeout in seconds
postgres_proxy_idle_connection_timeoutIdle connection timeout in seconds
postgres_proxy_keep_aliveEnable postgres proxy keep alive. The default value is 'false'.
optionsmap of string to strings

Optional parameters. The default value is an empty map ( {} ).

Supported Parameters (keys)Parameter Description
evict_to_cold

If true and evict_columns is specified, the given objects will be evicted to cold storage (if such a tier exists). The supported values are:

  • true
  • false
persist

If true the system configuration will be written to disk upon successful application of this request. This will commit the changes from this request and any additional in-memory modifications. The default value is true. The supported values are:

  • true
  • false

Output Parameter Description

The GPUdb server embeds the endpoint response inside a standard response structure which contains status information and the actual response to the query. Here is a description of the various fields of the wrapper:

NameTypeDescription
statusString'OK' or 'ERROR'
messageStringEmpty if success or an error message
data_typeString'alter_system_properties_response' or 'none' in case of an error
dataStringEmpty string
data_strJSON or String

This embedded JSON represents the result of the /alter/system/properties endpoint:

NameTypeDescription
updated_properties_mapmap of string to stringsMap of values updated; for speed tests, a map of values measured to the measurement
infomap of string to stringsAdditional information.

Empty string in case of an error.