Configuring the Compute service

The Query service advanced settings are used to configure the Compute service that is used to process data from uploaded files and data sets.

The following Query service advanced settings can be specified:

qs.queryExecution.flintServer.queryTimeoutInterval

Specifies the maximum amount of time, in seconds, that a query can be executed before it is timed out. Timeouts may occur when concurrent loads compete for system resources, for example, CPU, Memory and Disk, or slow devices (Disk).

The value can be 300 (default), or a positive integer less than or equal to 3600 (one hour).

qs.queryExecution.flintServer.loadingPolicy

Specifies the loading policy for the Compute service. This service can be started when the query service starts, or be deferred until a query that requires the Compute service is needed.

If a Cognos Application tier server uses a large percentage of available RAM and there is no workload that uses uploaded files or data sets, delaying the process until the server starts provides a small memory saving.

The following value can be used:
  • eager (default) - the Compute service starts when the query service starts.
  • lazy - the Compute service is deferred until a query that requires this co-process is needed.
qs.queryExecution.flintServer.maxHeap

Specifies the maximum amount of memory that the Compute service is allowed to use.

The value can be 8192 (default), or a positive integer greater than 4096. Using a higher value might be required when workloads need more memory to complete.

qs.queryExecution.flintServer.maxRowsRetrieved

Specifies the maximum number of rows that the Compute service can retrieve in an SQL query. This property can be used to prevent users from executing queries which retrieve large numbers of rows.

The value for this property is an integer greater than 0 and less or equal to 2147483647. Not setting this property, or setting it to 0, means that there is no limit. By default, no limit is applied. An exception is thrown when an invalid value is detected.

qs.queryExecution.flintServer.minHeap

The minimum amount of memory that the Compute service is allowed to use.

The value can be 1024 (default), or a positive integer greater than 1024.

qs.queryExecution.flintServer.sparkThreads

Specifies the maximum number of threads the Compute service can use to service queries. The specified value must be a positive integer greater than 1.

qs.queryExecution.flintServer.managedDatasetsLimit

Specifies the pool size that the Compute service uses to control the number of data sets that it keeps registered in memory.

The value must be a positive integer that is less than 2147483647. The default pool size is 250.

The pool size limit can be disabled by specifying the value -1.

Entries in the pool are removed based on the following criteria:

  • The entry was not referenced by a query for 12 hours.
  • The pool is full, and the data set with the oldest last queried time is selected.

Configuring a larger pool or disabling the pool increases memory usage, which under larger loads might require qs.queryExecution.flintServer.maxHeap to be increased to avoid out of memory conditions.

qs.queryExecution.flintServer.extraJavaOptions

Specifies additional arguments for the Compute service.

Procedure

  1. From Manage > Administration console, open Cognos Administration.
  2. On the Configuration tab, click Dispatchers and Services, and click your dispatcher name.
  3. In the list of services, locate the Query service, and click its properties icon Set properties.
  4. On the Settings tab, under Category, select Environment.
  5. Next to Advanced settings, click Edit.
  6. Select the Override the settings acquired from the parent entry checkbox.
  7. Type or copy the parameter names and their values, as specified earlier in this topic.
  8. Click OK.
  9. Restart the Query service.