/alter/system/properties

URL: https://<aws.fqdn>/<aws.cluster.name>/gpudb-0/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

Name Type Description
property_updates_map map of string to strings

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

Supported Parameters (keys) Parameter Description
sm_omp_threads Set the number of OpenMP threads that will be used to service filter & aggregation requests to the specified integer value.
kernel_omp_threads Set 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_limit Sets 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_size Sets the number of records per chunk to be used for all new tables.
evict_columns Attempts 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_mode Sets 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_directory Sets the root directory path where external table data files are accessed from. Path must exist on the head node
flush_to_disk Flushes 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_cache Clears 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_test Invoke 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_speed Invoke 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_timeout Number 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_size The 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_audit Enable or disable auditing.
audit_headers Enable or disable auditing of request headers.
audit_body Enable or disable auditing of request bodies.
audit_data Enable or disable auditing of request data.
audit_response Enable or disable auditing of response information.
shadow_agg_size Size 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_size Size 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_compression compress vector on set_compression (instead of waiting for background thread). The default value is 'false'.
enable_overlapped_equi_join Enable overlapped-equi-join filter. The default value is 'true'.
kafka_batch_size Maximum 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_timeout Maximum 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_time Maximum 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_size Max file size (in MB) to allow saving to a single file. May be overridden by target limitations. The default value is '100'.The minimum allowed value is 1. The maximum allowed value is 200.
max_concurrent_kernels Sets the max_concurrent_kernels value of the conf. The minimum allowed value is 0. The maximum allowed value is 256.
tcs_per_tom Sets the tcs_per_tom value of the conf. The minimum allowed value is 2. The maximum allowed value is 8192.
tps_per_tom Sets the tps_per_tom value of the conf. The minimum allowed value is 2. The maximum allowed value is 8192.
ai_api_provider AI API provider type
ai_api_url AI API URL
ai_api_key AI API key
ai_api_connection_timeout AI API connection timeout in seconds
options map 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:

Name Type Description
status String 'OK' or 'ERROR'
message String Empty if success or an error message
data_type String 'alter_system_properties_response' or 'none' in case of an error
data String Empty string
data_str JSON or String

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

Name Type Description
updated_properties_map map of string to strings Map of values updated; for speed tests, a map of values measured to the measurement
info map of string to strings Additional information.

Empty string in case of an error.