System Parameters

<< Click to Display Table of Contents >>

Navigation:  »No topics above this level«

System Parameters

Return to chapter overview

System parameters

System parameters determine the extent and behavior of the SQLstream s-Server. You can set the values for the entire system or for a particular session, using the ALTER SYSTEM and ALTER SESSION commands. Different parameters may take effect at different times, as indicated by the "Update Policy" entries in the following table.

Most parameter changes take place either immediately or the next time the system is started. A few are immutable, but are included in the table for reference; treat them as read-only parameters.

Note, however, that configuring SQLstream s-Server to accept JDBC driver connections from other hosts, even if the server is behind a NAT router, requires additional preparation as described in Configuring JDBC Driver Connections from Other Hosts.

Parameter

Type and Usage

Default Value

Update Policy

connectionTimeoutMillis

Long integer. Sets the timeout value for JDBC connections. -1 means never time out

86400000 milliseconds (24 hours)

Takes effect on startup

cachePagesInit

32-bit integer (number of pages)

Sets number of memory buffers to allocate from the operating system for internal data cache (also used as a pool for volatile scratch memory allocated by ExecStreams). Increasing it after startup causes new free buffers to be allocated; decreasing it causes buffers to be released (flushing them first if they contain dirty data). Note: This memory is not part of the JVM heap, although it shares the same virtual memory address space.

5000

Immediate.

cachePageSize

32-bit integer (number of bytes; must be a power of 2). Determines contiguous size of memory buffers allocated by system cache. Also determines size of contiguous pages stored on disk. These are the elemental allocation units for all disk-based data structures such as indexes.

65536

Immutable after database creation.

cachePagesMax

32-bit integer (number of pages). Determines upper bound for number of pages cache can allocate. On startup, actual upper bound is set to the larger of this parameter and cachePagesInit. Subsequently, changes to cachePagesInit are limited by upper bound calculated at startup.

70000

Takes effect on startup.

cacheReservePercentage

32-bit integer (percentage between 1 and 99, inclusive). Usage: The percentage of the data cache that should be set aside for global resource usage. The remainder will be available to allocate to individual statements.

5

Immediate.

calcVirtualMachine

Usage: Only used for testing.

 

CALCVM_FENNEL: use internal VM for expression evaluation. CALCVM_JAVA: use java VM for expression evaluation. CALCVM_AUTO: let optimizer decide.

CALCVM_AUTO

Immediate.

checkpointInterval

32-bit integer (in seconds, 0 to disable timer-based checkpoints). Sets the interval between automatic timed checkpoints. Regardless of this setting, checkpoints may occur at other times as well.

300

Takes effect on startup.

codeCacheMaxBytes

64-bit integer (number of bytes, 0 for disabled, -1 for unlimited). Usage: Sets the size of the Farrago code cache, which is used for optimizer plan caching and SQL/MED data wrapper pooling. Setting to MAX causes the cache to grow without bound except for the JVM heap size. Setting to MIN disables the code cache, discarding any currently cached entries. Setting to a finite value causes LRU victimization according to rough estimates on per-object memory usage.

2000000

Immediate.

databaseIncrementSize

32-bit integer (number of pages, 0 to disable auto-increment). Determines number of pages by which to automatically extend the db.dat file when all existing pages have been allocated.

1000

Takes effect on startup.

databaseInitSize

32-bit integer (number of pages). Determines the number of pages desired when calculating the initial size of db.dat file.

1000

Only used at time of database creation; immutable after that.

databaseMaxSize

32-bit integer (number of pages, 0 for unlimited). Determines maximum size to which db.dat file can grow. Further allocations will fail even if space remains in the file system.

0

Takes effect on startup.

databaseShadowLogIncrementSize

32-bit integer (number of pages, 0 to disable auto-increment). Determines number of pages by which to automatically extend the shadowlog.dat file when all existing pages have been allocated.

1000

Takes effect on startup.

databaseShadowLogInitSize

32-bit integer (number of pages). Determines the number of pages desired when calculating the initial size of the shadowlog.dat file. This file is recreated every time s-Server is started, and is used as part of physical recovery.

2000

Takes effect on startup.

databaseTxnLogIncrementSize

32-bit integer (number of pages, 0 to disable auto-increment). Determines number of pages by which to automatically extend the txnlog.dat file when all existing pages have been allocated.

1000

Takes effect on startup.

databaseTxnLogInitSize

32-bit integer (number of pages). Determines the number of pages desired when calculating the initial size of the txnlog.dat file. This file is recreated every time Fennel is loaded, and is used as part of logical recovery.

2000

Takes effect on startup.

deviceSchedulerType

String (name of scheduler implementation). Controls the scheduler used for disk I/O. threadPool means to fake asynchronous I/O via a thread pool, and use buffered file access. On Linux, aioLinux means to use libaio for asynchronous I/O, with O_DIRECT for unbuffered file access. The default is to to use libaio if available, otherwise to fallback to threadPool. On Windows, ioCompletionPort (the default) means to use asynchronous I/O via completion ports and unbuffered file access. In all cases, if an unrecognized or unsupported value is set, the system silently reverts to default behavior to avoid causing startup failures.

null (let system decide)

Takes effect on startup.

expectedConcurrentStatements

32-bit integer (number of statements). Indicates to the resource governor what is expected to be the maximum number of concurrent statements executing at any given time. It is used by the resource governor to determine the maximum resource allocation for each statement.

4

Immediate.

fennelDisabled

boolean. Determines whether Fennel native code components are loaded when the system starts up.

Note: Do not change this setting. It will cause s-Server to stop functioning.

false

Takes effect on startup.

groupCommitInterval

32-bit integer (milliseconds). Determines the amount of time to wait during commit in the hope that the commit's disk write can be combined with that of other concurrent transactions.

30

Takes effect on startup.

jniHandleTraceFile

String (file-system path). See Fennel Jni Handle Tracing

{empty string}

Takes effect on startup.

resourceDir

String (file-system path). Sets the location of FennelResource.properties (or localized variant).

$SQLSTREAM_HOME/

s-Server/

catalog/fennel

Takes effect on startup.

sdpListenerPort

32-bit integer, -1 for personality-based defaults. Sets the port number on which to listen for SDP connections (This is the port number specified in client JDBC URL's). However, for connections from other hosts, see also the Network Configuration subsection below entitled Configuring JDBC Driver Connections from Other Hosts.

-1 (implies 5570 for SQLstream personality)

Takes effect on startup.

tempIncrementSize

32-bit integer (number of pages, 0 to disable auto-increment). Determines number of pages by which to automatically extend the temp.dat file when all existing pages have been allocated.

1000

Takes effect on startup.

tempInitSize

32-bit integer (number of pages). Determines the number of pages desired when calculating the initial size of the temp.dat file. This file is recreated every time Fennel is loaded.

1000

Takes effect on startup.

Reading system parameters

To read the values of the system parameters, you can execute the following two queries, either using sqllineClient or SQLstream s-Studio:

SELECT * FROM SYS_FEM."Config"."FennelConfig";

SELECT * FROM SYS_FEM."Config"."FarragoConfig";

Each system parameter has its own column, named for the parameter. The value in the column is the current value of the parameter.