PersistentQueryConfigurationLogV2
The Persistent Query Controller manages all Persistent Queries (PQs) in Deephaven. The controller is responsible for starting, stopping, and monitoring the health of the PQs. It also manages the configuration of the queries, including their memory allocation, scheduling, and other parameters.
Whenever a PQ is created, modified, or deleted, the controller adds a row to the PersistentQueryConfigurationLogV2
table with its latest version. Deephaven uses this log when a query is reverted to a previous version. This table replaces the deprecated PersistentQueryConfigurationLog
table.
The history of PQ state (when they're started or stopped) is stored in the Persistent Query State Log table.
Columns
Column Name | Column Type | Description |
---|---|---|
Date | String | The date the update occurred. This is the partitioning column. |
Timestamp | DateTime | The timestamp when the update occurred. |
SerialNumber | long | The query's serial number (a system-generated identifier unique to each PQ). |
VersionNumber | long | The query's version number (a number that starts at 1 for each query and is incremented each time the query is updated). |
Owner | String | The owner of the PQ. |
Name | String | The name of the PQ. |
EventType | long | The query configuration event that triggered the log entry:
|
Enabled | boolean |
|
HeapSizeInGB | double | The heap size for the query in GB (the memory the query has available). |
AdditionalMemoryInGB | double | The amount of additional memory (in GB) allocated to beyond the JVM heap memory. |
DataBufferPoolToHeapSizeRatio | double | The data buffer to heap size ratio is the fraction of the query's heap dedicated to caching binary data from the underlying Deephaven data sources. |
DetailedGCLoggingEnabled | boolean | If true , Java garbage collection details are logged for the query. |
OmitDefaultGCParameters | boolean | This parameter is deprecated. |
DbServerName | String | The server on which the query will be run; this is shown as DB_SERVER_<number> , and these names are translated to physical or virtual servers by the controller. |
RestartUsers | String | Specifies which group of users are allowed to restart the query:
|
ScriptCode | String | The code for the script if it is not stored in git. |
ScriptPath | String | The script path if it is stored in git. |
ScriptLanguage | String | If the PQ has a script, the language of the script; either Groovy or Python . |
ExtraJvmArguments | String[] | Extra JVM arguments to be passed to Java when the query is started. |
ExtraEnvironmentVariables | String[] | Environment variables to be set in the PQ's environment before it is started. |
ClassPathAdditions | String[] | Additional elements to be added to the class path for the JVM. |
KubernetesControl | String | For a Kubernetes installation, the advanced Kubernetes options for the PQ such as cpu_shares and container_image . |
PythonControl | String | For a Python worker, the advanced Python options for the PQ such as ephemeral_venv and ephemeral_requirements . |
GenericWorkerControl | String | Core+ worker_creation JSON fields. |
AdminGroups | String[] | Additional administrators for the query (i.e., users or groups that can edit, start, stop, or delete the query). |
ViewerGroups | String[] | Additional viewers for the query (i.e., users or groups that can view the query and its resulting tables). |
ConfigurationType | String | The PQ configuration type. |
Scheduling | String[] | Specifies the scheduling details for the query. |
Timeout | long | The timeout value in milliseconds. |
TypeSpecificFields | java.util.Map | Map for fields specific to configuration types. |
WorkerKind | String | The type of worker, either DeephavenEnterprise or DeephavenCommunity . |
JVMProfile | String | The JVM profile to be used for the query. |
LastModifiedByAuthenticated | String | The authenticated user who last modified this query. |
LastModifiedByEffective | String | The effective user who last modified this query. |
LastModifiedTime | DateTime | The last time this query was modified. |
ReplicaCount | int | The number of replicas of the PQ to run. |
SpareCount | int | The number of failover spares. |
AssignmentPolicy | String | The assignment policy for replica PQs. |
AssignmentPolicyParams | String | The assignment policy parameters for replica PQs. |
Example
To see changes in the configuration of a specific Persistent Query (PQ), you can filter the PersistentQueryConfigurationLogV2
table by the query's name. The following example shows how to do this in both Core+ Python and Groovy, using today's data.
pqcl=db.liveTable("DbInternal", "PersistentQueryConfigurationLogV2").where("Date=today()", "Name=`<PQ Name>`").sort("Timestamp")
pqcl = (
db.live_table("DbInternal", "PersistentQueryConfigurationLogV2")
.where(["Date=today()", "Name=`<PQ Name>`"])
.sort("Timestamp")
)
Related documentation
- Internal tables overview
AuditEventLog
PersistentQueryStateLog
ProcessEventLogIndex
ProcessEventLog
ProcessInfo
ProcessMetrics
QueryOperationPerformanceLogIndex
QueryOperationPerformanceLog
QueryPerformanceLog
QueryUserAssignmentLog
ResourceUtilization
ServerStateLogIndex
ServerStateLog
UpdatePerformanceLogIndex
UpdatePerformanceLog
WorkspaceDataSnapshot
WorkspaceData