Global Configuration

OrientDB can be configured in several ways. To know the current settings use the console with the config command.

Change settings

By command line

You can pass settings via command line when the JVM is launched. This is typically stored inside server.sh (or server.bat on Windows):

  1. java -Dcache.size=10000 -Dstorage.keepOpen=true ...

By server configuration

Put in the <properties> section of the file orientdb-server-config.xml (or orientdb-dserver-config.xml) the entries to configure. Example:

  1. ...
  2. <properties>
  3. <entry name="cache.size" value="10000" />
  4. <entry name="storage.keepOpen" value="true" />
  5. </properties>
  6. ...

At run-time

  1. OGlobalConfiguration.MVRBTREE_NODE_PAGE_SIZE.setValue(2048);

Dump the configuration

To dump the OrientDB configuration you can set a parameter at JVM launch:

  1. java -Denvironment.dumpCfgAtStartup=true ...

Or via API at any time:

  1. OGlobalConfiguration.dumpConfiguration(System.out);

Parameters

To know more look at the Java enumeration: OGlobalConfiguration.java.


Environment

environment.dumpCfgAtStartup

Dumps the configuration during application startup..

  1. Setting name...: environment.dumpCfgAtStartup
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false
environment.concurrent

Specifies if running in multi-thread environment. Setting this to false turns off the internal lock management..

  1. Setting name...: environment.concurrent
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false
environment.allowJVMShutdown

Allows the shutdown of the JVM, if needed/requested..

  1. Setting name...: environment.allowJVMShutdown
  2. Default value..: true
  3. Set at run-time: true
  4. Hidden.........: false

Script

script.pool.maxSize

Maximum number of instances in the pool of script engines..

  1. Setting name...: script.pool.maxSize
  2. Default value..: 20
  3. Set at run-time: false
  4. Hidden.........: false

Memory

memory.useUnsafe

Indicates whether Unsafe will be used, if it is present..

  1. Setting name...: memory.useUnsafe
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false
memory.directMemory.safeMode

Indicates whether to perform a range check before each direct memory update. It is true by default, but usually it can be safely set to false. It should only be to true after dramatic changes have been made in the storage structures..

  1. Setting name...: memory.directMemory.safeMode
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false
memory.directMemory.trackMode

If ‘track mode’ is switched on, then the following steps are performed: 1. direct memory JMX bean is registered. 2. You may check amount of allocated direct memory as a property of the JMX bean. 3. If a memory leak is detected, then a JMX event will be fired. This mode causes a large overhead and should be used for testing purposes only..

  1. Setting name...: memory.directMemory.trackMode
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false
memory.directMemory.onlyAlignedMemoryAccess

Some architectures do not allow unaligned memory access or may suffer from speed degradation. For such platforms, this flag should be set to true..

  1. Setting name...: memory.directMemory.onlyAlignedMemoryAccess
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false

Jvm

jvm.gc.delayForOptimize

Minimal amount of time (in seconds), since the last System.gc(), when called after tree optimization..

  1. Setting name...: jvm.gc.delayForOptimize
  2. Default value..: 600
  3. Set at run-time: false
  4. Hidden.........: false

Storage

storage.diskCache.bufferSize

Size of disk buffer in megabytes..

  1. Setting name...: storage.diskCache.bufferSize
  2. Default value..: 4096
  3. Set at run-time: false
  4. Hidden.........: false
storage.diskCache.writeCachePart

Percentage of disk cache, which is used as write cache.

  1. Setting name...: storage.diskCache.writeCachePart
  2. Default value..: 15
  3. Set at run-time: false
  4. Hidden.........: false
storage.diskCache.writeCachePageTTL

Max time until a page will be flushed from write cache (in seconds)..

  1. Setting name...: storage.diskCache.writeCachePageTTL
  2. Default value..: 86400
  3. Set at run-time: false
  4. Hidden.........: false
storage.diskCache.writeCachePageFlushInterval

Interval between flushing of pages from write cache (in ms)..

  1. Setting name...: storage.diskCache.writeCachePageFlushInterval
  2. Default value..: 25
  3. Set at run-time: false
  4. Hidden.........: false
storage.diskCache.writeCacheFlushInactivityInterval

Interval between 2 writes to the disk cache, if writes are done with an interval more than provided, all files will be fsynced before the next write, which allows a data restore after a server crash (in ms)..

  1. Setting name...: storage.diskCache.writeCacheFlushInactivityInterval
  2. Default value..: 60000
  3. Set at run-time: false
  4. Hidden.........: false
storage.diskCache.writeCacheFlushLockTimeout

Maximum amount of time the write cache will wait before a page flushes (in ms, -1 to disable).

  1. Setting name...: storage.diskCache.writeCacheFlushLockTimeout
  2. Default value..: -1
  3. Set at run-time: false
  4. Hidden.........: false
storage.diskCache.diskFreeSpaceLimit

Minimum amount of space on disk, which, when exceeded, will cause the database to switch to read-only mode (in megabytes)..

  1. Setting name...: storage.diskCache.diskFreeSpaceLimit
  2. Default value..: 100
  3. Set at run-time: false
  4. Hidden.........: false
storage.diskCache.diskFreeSpaceCheckInterval

The interval (in seconds), after which the storage periodically checks whether the amount of free disk space is enough to work in write mode.

  1. Setting name...: storage.diskCache.diskFreeSpaceCheckInterval
  2. Default value..: 5
  3. Set at run-time: false
  4. Hidden.........: false
storage.configuration.syncOnUpdate

Indicates a force sync should be performed for each update on the storage configuration..

  1. Setting name...: storage.configuration.syncOnUpdate
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false
storage.compressionMethod

Record compression method used in storage. Possible values : gzip, nothing, snappy, snappy-native. Default is ‘nothing’ that means no compression..

  1. Setting name...: storage.compressionMethod
  2. Default value..: nothing
  3. Set at run-time: false
  4. Hidden.........: false
storage.encryptionMethod

Record encryption method used in storage. Possible values : ‘aes’ and ‘des’. Default is ‘nothing’ for no encryption..

  1. Setting name...: storage.encryptionMethod
  2. Default value..: nothing
  3. Set at run-time: false
  4. Hidden.........: false
storage.encryptionKey

Contains the storage encryption key. This setting is hidden..

  1. Setting name...: storage.encryptionKey
  2. Default value..: null
  3. Set at run-time: false
  4. Hidden.........: true
storage.makeFullCheckpointAfterCreate

Indicates whether a full checkpoint should be performed, if storage was created..

  1. Setting name...: storage.makeFullCheckpointAfterCreate
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false
storage.makeFullCheckpointAfterOpen

Indicates whether a full checkpoint should be performed, if storage was opened. It is needed so fuzzy checkpoints can work properly..

  1. Setting name...: storage.makeFullCheckpointAfterOpen
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false
storage.makeFullCheckpointAfterClusterCreate

Indicates whether a full checkpoint should be performed, if storage was opened.

  1. Setting name...: storage.makeFullCheckpointAfterClusterCreate
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false
storage.useWAL

Whether WAL should be used in paginated storage..

  1. Setting name...: storage.useWAL
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false
storage.wal.syncOnPageFlush

Indicates whether a force sync should be performed during WAL page flush..

  1. Setting name...: storage.wal.syncOnPageFlush
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false
storage.wal.cacheSize

Maximum size of WAL cache (in amount of WAL pages, each page is 64k) If set to 0, caching will be disabled..

  1. Setting name...: storage.wal.cacheSize
  2. Default value..: 3000
  3. Set at run-time: false
  4. Hidden.........: false
storage.wal.maxSegmentSize

Maximum size of single WAL segment (in megabytes)..

  1. Setting name...: storage.wal.maxSegmentSize
  2. Default value..: 128
  3. Set at run-time: false
  4. Hidden.........: false
storage.wal.maxSize

Maximum size of WAL on disk (in megabytes)..

  1. Setting name...: storage.wal.maxSize
  2. Default value..: 4096
  3. Set at run-time: false
  4. Hidden.........: false
storage.wal.commitTimeout

Maximum interval between WAL commits (in ms.).

  1. Setting name...: storage.wal.commitTimeout
  2. Default value..: 1000
  3. Set at run-time: false
  4. Hidden.........: false
storage.wal.shutdownTimeout

Maximum wait interval between events, when the background flush threadreceives a shutdown command and when the background flush will be stopped (in ms.).

  1. Setting name...: storage.wal.shutdownTimeout
  2. Default value..: 10000
  3. Set at run-time: false
  4. Hidden.........: false
storage.wal.fuzzyCheckpointInterval

Interval between fuzzy checkpoints (in seconds).

  1. Setting name...: storage.wal.fuzzyCheckpointInterval
  2. Default value..: 300
  3. Set at run-time: false
  4. Hidden.........: false
storage.wal.reportAfterOperationsDuringRestore

Amount of processed log operations, after which status of data restore procedure will be printed (0 or a negative value, disables the logging)..

  1. Setting name...: storage.wal.reportAfterOperationsDuringRestore
  2. Default value..: 10000
  3. Set at run-time: false
  4. Hidden.........: false
storage.wal.restore.batchSize

Amount of WAL records, which are read at once in a single batch during a restore procedure..

  1. Setting name...: storage.wal.restore.batchSize
  2. Default value..: 1000
  3. Set at run-time: false
  4. Hidden.........: false
storage.wal.readCacheSize

Size of WAL read cache in amount of pages..

  1. Setting name...: storage.wal.readCacheSize
  2. Default value..: 1000
  3. Set at run-time: false
  4. Hidden.........: false
storage.wal.fuzzyCheckpointShutdownWait

The amount of time the DB should wait until it shuts down (in seconds)..

  1. Setting name...: storage.wal.fuzzyCheckpointShutdownWait
  2. Default value..: 600
  3. Set at run-time: false
  4. Hidden.........: false
storage.wal.fullCheckpointShutdownTimeout

The amount of time the DB will wait, until a checkpoint is finished, during a DB shutdown (in seconds)..

  1. Setting name...: storage.wal.fullCheckpointShutdownTimeout
  2. Default value..: 600
  3. Set at run-time: false
  4. Hidden.........: false
storage.wal.path

Path to the WAL file on the disk. By default, it is placed in the DB directory, but it is highly recommended to use a separate disk to store log operations..

  1. Setting name...: storage.wal.path
  2. Default value..: null
  3. Set at run-time: false
  4. Hidden.........: false
storage.diskCache.pageSize

Size of page of disk buffer (in kilobytes). !!! NEVER CHANGE THIS VALUE !!!.

  1. Setting name...: storage.diskCache.pageSize
  2. Default value..: 64
  3. Set at run-time: false
  4. Hidden.........: false
storage.lowestFreeListBound

The least amount of free space (in kb) in a page, which is tracked in paginated storage..

  1. Setting name...: storage.lowestFreeListBound
  2. Default value..: 16
  3. Set at run-time: false
  4. Hidden.........: false
storage.lockTimeout

Maximum amount of time (in ms) to lock the storage..

  1. Setting name...: storage.lockTimeout
  2. Default value..: 0
  3. Set at run-time: false
  4. Hidden.........: false
storage.record.lockTimeout

Maximum of time (in ms) to lock a shared record..

  1. Setting name...: storage.record.lockTimeout
  2. Default value..: 2000
  3. Set at run-time: false
  4. Hidden.........: false
storage.useTombstones

When a record is deleted, the space in the cluster will not be freed, but rather tombstoned..

  1. Setting name...: storage.useTombstones
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false
storage.cluster.usecrc32

Indicates whether crc32 should be used for each record to check record integrity..

  1. Setting name...: storage.cluster.usecrc32
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false
storage.keepOpen

Deprecated.

  1. Setting name...: storage.keepOpen
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false

Record

record.downsizing.enabled

On updates, if the record size is lower than before, this reduces the space taken accordingly. If enabled this could increase defragmentation, but it reduces the used disk space..

  1. Setting name...: record.downsizing.enabled
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false

Object

object.saveOnlyDirty

Object Database only! It saves objects bound to dirty records..

  1. Setting name...: object.saveOnlyDirty
  2. Default value..: false
  3. Set at run-time: true
  4. Hidden.........: false

Db

db.pool.min

Default database pool minimum size..

  1. Setting name...: db.pool.min
  2. Default value..: 1
  3. Set at run-time: false
  4. Hidden.........: false
db.pool.max

Default database pool maximum size..

  1. Setting name...: db.pool.max
  2. Default value..: 100
  3. Set at run-time: false
  4. Hidden.........: false
db.pool.idleTimeout

Timeout for checking for free databases in the pool..

  1. Setting name...: db.pool.idleTimeout
  2. Default value..: 0
  3. Set at run-time: false
  4. Hidden.........: false
db.pool.idleCheckDelay

Delay time on checking for idle databases..

  1. Setting name...: db.pool.idleCheckDelay
  2. Default value..: 0
  3. Set at run-time: false
  4. Hidden.........: false
db.mvcc.throwfast

Use fast-thrown exceptions for MVCC OConcurrentModificationExceptions. No context information will be available. Set to true, when these exceptions are thrown, but the details are not necessary..

  1. Setting name...: db.mvcc.throwfast
  2. Default value..: false
  3. Set at run-time: true
  4. Hidden.........: false
db.validation

Enables or disables validation of records..

  1. Setting name...: db.validation
  2. Default value..: true
  3. Set at run-time: true
  4. Hidden.........: false
db.makeFullCheckpointOnIndexChange

When index metadata is changed, a full checkpoint is performed..

  1. Setting name...: db.makeFullCheckpointOnIndexChange
  2. Default value..: true
  3. Set at run-time: true
  4. Hidden.........: false
db.makeFullCheckpointOnSchemaChange

When index schema is changed, a full checkpoint is performed..

  1. Setting name...: db.makeFullCheckpointOnSchemaChange
  2. Default value..: true
  3. Set at run-time: true
  4. Hidden.........: false
db.document.serializer

The default record serializer used by the document database..

  1. Setting name...: db.document.serializer
  2. Default value..: ORecordSerializerBinary
  3. Set at run-time: false
  4. Hidden.........: false
db.mvcc

Deprecated, MVCC cannot be disabled anymore.

  1. Setting name...: db.mvcc
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false
db.use.distributedVersion

Deprecated, distributed version is not used anymore.

  1. Setting name...: db.use.distributedVersion
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false

NonTX

nonTX.recordUpdate.synch

Executes a sync against the file-system for every record operation. This slows down record updates, but guarantees reliability on unreliable drives..

  1. Setting name...: nonTX.recordUpdate.synch
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false
nonTX.clusters.sync.immediately

List of clusters to sync immediately after update (separated by commas). Can be useful for a manual index..

  1. Setting name...: nonTX.clusters.sync.immediately
  2. Default value..: manindex
  3. Set at run-time: false
  4. Hidden.........: false

Tx

tx.trackAtomicOperations

This setting is used only for debug purposes. It creates a stack trace of methods, when an atomic operation is started..

  1. Setting name...: tx.trackAtomicOperations
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false
tx.commit.synch

Synchronizes the storage after transaction commit.

  1. Setting name...: tx.commit.synch
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false
tx.autoRetry

Maximum number of automatic retry if some resource has been locked in the middle of the transaction (Timeout exception).

  1. Setting name...: tx.autoRetry
  2. Default value..: 1
  3. Set at run-time: false
  4. Hidden.........: false
tx.log.fileType

File type to handle transaction logs: mmap or classic.

  1. Setting name...: tx.log.fileType
  2. Default value..: classic
  3. Set at run-time: false
  4. Hidden.........: false
tx.log.synch

Executes a synch against the file-system at every log entry. This slows down transactions but guarantee transaction reliability on unreliable drives.

  1. Setting name...: tx.log.synch
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false
tx.useLog

Transactions use log file to store temporary data to be rolled back in case of crash.

  1. Setting name...: tx.useLog
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false

Index

index.embeddedToSbtreeBonsaiThreshold

Amount of values, after which the index implementation will use an sbtree as a values container. Set to -1, to disable and force using an sbtree..

  1. Setting name...: index.embeddedToSbtreeBonsaiThreshold
  2. Default value..: 40
  3. Set at run-time: true
  4. Hidden.........: false
index.sbtreeBonsaiToEmbeddedThreshold

Amount of values, after which index implementation will use an embedded values container (disabled by default).

  1. Setting name...: index.sbtreeBonsaiToEmbeddedThreshold
  2. Default value..: -1
  3. Set at run-time: true
  4. Hidden.........: false
index.auto.synchronousAutoRebuild

Synchronous execution of auto rebuilding of indexes, in case of a DB crash.

  1. Setting name...: index.auto.synchronousAutoRebuild
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false
index.auto.lazyUpdates

Configure the TreeMaps for automatic indexes, as buffered or not. -1 means buffered until tx.commit() or db.close() are called..

  1. Setting name...: index.auto.lazyUpdates
  2. Default value..: 10000
  3. Set at run-time: false
  4. Hidden.........: false
index.flushAfterCreate

Flush storage buffer after index creation..

  1. Setting name...: index.flushAfterCreate
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false
index.manual.lazyUpdates

Configure the TreeMaps for manual indexes as buffered or not. -1 means buffered until tx.commit() or db.close() are called.

  1. Setting name...: index.manual.lazyUpdates
  2. Default value..: 1
  3. Set at run-time: false
  4. Hidden.........: false
index.durableInNonTxMode

Indicates whether index implementation for plocal storage will be durable in non-Tx mode (true by default)..

  1. Setting name...: index.durableInNonTxMode
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false
index.txMode

Indicates the index durability level in TX mode. Can be ROLLBACK_ONLY or FULL (ROLLBACK_ONLY by default)..

  1. Setting name...: index.txMode
  2. Default value..: FULL
  3. Set at run-time: false
  4. Hidden.........: false
index.cursor.prefetchSize

Default prefetch size of index cursor..

  1. Setting name...: index.cursor.prefetchSize
  2. Default value..: 500000
  3. Set at run-time: false
  4. Hidden.........: false
index.auto.rebuildAfterNotSoftClose

Auto rebuild all automatic indexes after upon database open when wasn’t closed properly.

  1. Setting name...: index.auto.rebuildAfterNotSoftClose
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false

HashTable

hashTable.slitBucketsBuffer.length

Length of buffer (in pages), where buckets that were split, but not flushed to the disk, are kept. This buffer is used to minimize random IO overhead..

  1. Setting name...: hashTable.slitBucketsBuffer.length
  2. Default value..: 1500
  3. Set at run-time: false
  4. Hidden.........: false

Sbtree

sbtree.maxDepth

Maximum depth of sbtree, which will be traversed during key look up until it will be treated as broken (64 by default).

  1. Setting name...: sbtree.maxDepth
  2. Default value..: 64
  3. Set at run-time: false
  4. Hidden.........: false
sbtree.maxKeySize

Maximum size of a key, which can be put in the SBTree in bytes (10240 by default).

  1. Setting name...: sbtree.maxKeySize
  2. Default value..: 10240
  3. Set at run-time: false
  4. Hidden.........: false
sbtree.maxEmbeddedValueSize

Maximum size of value which can be put in an SBTree without creation link to a standalone page in bytes (40960 by default).

  1. Setting name...: sbtree.maxEmbeddedValueSize
  2. Default value..: 40960
  3. Set at run-time: false
  4. Hidden.........: false

Sbtreebonsai

sbtreebonsai.bucketSize

Size of bucket in OSBTreeBonsai (in kB). Contract: bucketSize < storagePageSize, storagePageSize % bucketSize == 0..

  1. Setting name...: sbtreebonsai.bucketSize
  2. Default value..: 2
  3. Set at run-time: false
  4. Hidden.........: false
sbtreebonsai.linkBagCache.size

Amount of LINKBAG collections to be cached, to avoid constant reloading of data..

  1. Setting name...: sbtreebonsai.linkBagCache.size
  2. Default value..: 100000
  3. Set at run-time: false
  4. Hidden.........: false
sbtreebonsai.linkBagCache.evictionSize

The number of cached LINKBAG collections, which will be removed, when the cache limit is reached..

  1. Setting name...: sbtreebonsai.linkBagCache.evictionSize
  2. Default value..: 1000
  3. Set at run-time: false
  4. Hidden.........: false
sbtreebonsai.freeSpaceReuseTrigger

How much free space should be in an sbtreebonsai file, before it will be reused during the next allocation..

  1. Setting name...: sbtreebonsai.freeSpaceReuseTrigger
  2. Default value..: 0.5
  3. Set at run-time: false
  4. Hidden.........: false

RidBag

ridBag.embeddedDefaultSize

Size of embedded RidBag array, when created (empty).

  1. Setting name...: ridBag.embeddedDefaultSize
  2. Default value..: 4
  3. Set at run-time: false
  4. Hidden.........: false
ridBag.embeddedToSbtreeBonsaiThreshold

Amount of values after which a LINKBAG implementation will use sbtree as values container. Set to -1 to always use an sbtree..

  1. Setting name...: ridBag.embeddedToSbtreeBonsaiThreshold
  2. Default value..: 40
  3. Set at run-time: true
  4. Hidden.........: false
ridBag.sbtreeBonsaiToEmbeddedToThreshold

Amount of values, after which a LINKBAG implementation will use an embedded values container (disabled by default)..

  1. Setting name...: ridBag.sbtreeBonsaiToEmbeddedToThreshold
  2. Default value..: -1
  3. Set at run-time: true
  4. Hidden.........: false

Collections

collections.preferSBTreeSet

This configuration setting is experimental..

  1. Setting name...: collections.preferSBTreeSet
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false

File

file.trackFileClose

Log all the cases when files are closed. This is needed only for internal debugging purposes..

  1. Setting name...: file.trackFileClose
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false
file.lock

Locks files when used. Default is true.

  1. Setting name...: file.lock
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false
file.deleteDelay

Delay time (in ms) to wait for another attempt to delete a locked file..

  1. Setting name...: file.deleteDelay
  2. Default value..: 10
  3. Set at run-time: false
  4. Hidden.........: false
file.deleteRetry

Number of retries to delete a locked file..

  1. Setting name...: file.deleteRetry
  2. Default value..: 50
  3. Set at run-time: false
  4. Hidden.........: false

Jna

jna.disable.system.library

This property disables using JNA, should it be installed on your system. (Default true) To use JNA bundled with database..

  1. Setting name...: jna.disable.system.library
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false

Security

security.userPasswordSaltIterations

Number of iterations to generate the salt or user password. Changing this setting does not affect stored passwords..

  1. Setting name...: security.userPasswordSaltIterations
  2. Default value..: 65536
  3. Set at run-time: false
  4. Hidden.........: false
security.userPasswordSaltCacheSize

Cache size of hashed salt passwords. The cache works as LRU. Use 0 to disable the cache..

  1. Setting name...: security.userPasswordSaltCacheSize
  2. Default value..: 500
  3. Set at run-time: false
  4. Hidden.........: false

Network

network.maxConcurrentSessions

Maximum number of concurrent sessions..

  1. Setting name...: network.maxConcurrentSessions
  2. Default value..: 1000
  3. Set at run-time: true
  4. Hidden.........: false
network.socketBufferSize

TCP/IP Socket buffer size..

  1. Setting name...: network.socketBufferSize
  2. Default value..: 32768
  3. Set at run-time: true
  4. Hidden.........: false
network.lockTimeout

Timeout (in ms) to acquire a lock against a channel..

  1. Setting name...: network.lockTimeout
  2. Default value..: 15000
  3. Set at run-time: true
  4. Hidden.........: false
network.socketTimeout

TCP/IP Socket timeout (in ms)..

  1. Setting name...: network.socketTimeout
  2. Default value..: 15000
  3. Set at run-time: true
  4. Hidden.........: false
network.requestTimeout

Request completion timeout (in ms)..

  1. Setting name...: network.requestTimeout
  2. Default value..: 3600000
  3. Set at run-time: true
  4. Hidden.........: false
network.retry

Number of attempts to connect to the server on failure..

  1. Setting name...: network.retry
  2. Default value..: 5
  3. Set at run-time: true
  4. Hidden.........: false
network.retryDelay

The time (in ms) the client must wait, before reconnecting to the server on failure..

  1. Setting name...: network.retryDelay
  2. Default value..: 500
  3. Set at run-time: true
  4. Hidden.........: false
network.binary.loadBalancing.enabled

Asks for DNS TXT record, to determine if load balancing is supported..

  1. Setting name...: network.binary.loadBalancing.enabled
  2. Default value..: false
  3. Set at run-time: true
  4. Hidden.........: false
network.binary.loadBalancing.timeout

Maximum time (in ms) to wait for the answer from DNS about the TXT record for load balancing..

  1. Setting name...: network.binary.loadBalancing.timeout
  2. Default value..: 2000
  3. Set at run-time: true
  4. Hidden.........: false
network.binary.maxLength

TCP/IP max content length (in bytes) of BINARY requests..

  1. Setting name...: network.binary.maxLength
  2. Default value..: 32736
  3. Set at run-time: true
  4. Hidden.........: false
network.binary.readResponse.maxTimes

Maximum attempts, until a response can be read. Otherwise, the response will be dropped from the channel..

  1. Setting name...: network.binary.readResponse.maxTimes
  2. Default value..: 20
  3. Set at run-time: true
  4. Hidden.........: false
network.binary.debug

Debug mode: print all data incoming on the binary channel..

  1. Setting name...: network.binary.debug
  2. Default value..: false
  3. Set at run-time: true
  4. Hidden.........: false
network.http.maxLength

TCP/IP max content length (in bytes) for HTTP requests..

  1. Setting name...: network.http.maxLength
  2. Default value..: 1000000
  3. Set at run-time: true
  4. Hidden.........: false
network.http.charset

Http response charset.

  1. Setting name...: network.http.charset
  2. Default value..: utf-8
  3. Set at run-time: true
  4. Hidden.........: false
network.http.jsonResponseError

Http response error in json..

  1. Setting name...: network.http.jsonResponseError
  2. Default value..: true
  3. Set at run-time: true
  4. Hidden.........: false
network.http.jsonp

Enable the usage of JSONP, if requested by the client. The parameter name to use is ‘callback’..

  1. Setting name...: network.http.jsonp
  2. Default value..: false
  3. Set at run-time: true
  4. Hidden.........: false
network.http.sessionExpireTimeout

Timeout, after which an http session is considered to have expired (in seconds)..

  1. Setting name...: network.http.sessionExpireTimeout
  2. Default value..: 300
  3. Set at run-time: false
  4. Hidden.........: false
network.http.useToken

Enable Token based sessions for http..

  1. Setting name...: network.http.useToken
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false
network.token.secretyKey

Network token sercret key..

  1. Setting name...: network.token.secretyKey
  2. Default value..:
  3. Set at run-time: false
  4. Hidden.........: false
network.token.encriptionAlgorithm

Network token algorithm..

  1. Setting name...: network.token.encriptionAlgorithm
  2. Default value..: HmacSHA256
  3. Set at run-time: false
  4. Hidden.........: false
network.token.expireTimeout

Timeout, after which a binary session is considered to have expired (in minutes)..

  1. Setting name...: network.token.expireTimeout
  2. Default value..: 60
  3. Set at run-time: false
  4. Hidden.........: false

Profiler

profiler.enabled

Enables the recording of statistics and counters..

  1. Setting name...: profiler.enabled
  2. Default value..: false
  3. Set at run-time: true
  4. Hidden.........: false
profiler.config

Configures the profiler as ,,.

  1. Setting name...: profiler.config
  2. Default value..: null
  3. Set at run-time: true
  4. Hidden.........: false
profiler.autoDump.interval

Dumps the profiler values at regular intervals (in seconds)..

  1. Setting name...: profiler.autoDump.interval
  2. Default value..: 0
  3. Set at run-time: true
  4. Hidden.........: false

Log

log.console.level

Console logging level..

  1. Setting name...: log.console.level
  2. Default value..: info
  3. Set at run-time: true
  4. Hidden.........: false
log.file.level

File logging level..

  1. Setting name...: log.file.level
  2. Default value..: fine
  3. Set at run-time: true
  4. Hidden.........: false

Cache

cache.local.impl

Local Record cache implementation..

  1. Setting name...: cache.local.impl
  2. Default value..: com.orientechnologies.orient.core.cache.ORecordCacheWeakRefs
  3. Set at run-time: false
  4. Hidden.........: false
cache.local.enabled

Deprecated, Level1 cache cannot be disabled anymore.

  1. Setting name...: cache.local.enabled
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false

Command

command.timeout

Default timeout for commands (in ms)..

  1. Setting name...: command.timeout
  2. Default value..: 0
  3. Set at run-time: true
  4. Hidden.........: false
command.cache.enabled

Enable command cache..

  1. Setting name...: command.cache.enabled
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false
command.cache.evictStrategy

Command cache strategy between: [INVALIDATE_ALL,PER_CLUSTER].

  1. Setting name...: command.cache.evictStrategy
  2. Default value..: PER_CLUSTER
  3. Set at run-time: false
  4. Hidden.........: false
command.cache.minExecutionTime

Minimum execution time to consider caching the result set..

  1. Setting name...: command.cache.minExecutionTime
  2. Default value..: 10
  3. Set at run-time: false
  4. Hidden.........: false
command.cache.maxResultsetSize

Maximum resultset time to consider caching result set..

  1. Setting name...: command.cache.maxResultsetSize
  2. Default value..: 500
  3. Set at run-time: false
  4. Hidden.........: false

Query

query.parallelAuto

Auto enable parallel query, if requirements are met..

  1. Setting name...: query.parallelAuto
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false
query.parallelMinimumRecords

Minimum number of records to activate parallel query automatically..

  1. Setting name...: query.parallelMinimumRecords
  2. Default value..: 300000
  3. Set at run-time: false
  4. Hidden.........: false
query.parallelResultQueueSize

Size of the queue that holds results on parallel execution. The queue is blocking, so in case the queue is full, the query threads will be in a wait state..

  1. Setting name...: query.parallelResultQueueSize
  2. Default value..: 20000
  3. Set at run-time: false
  4. Hidden.........: false
query.scanPrefetchPages

Pages to prefetch during scan. Setting this value higher makes scans faster, because it reduces the number of I/O operations, though it consumes more memory. (Use 0 to disable).

  1. Setting name...: query.scanPrefetchPages
  2. Default value..: 20
  3. Set at run-time: false
  4. Hidden.........: false
query.scanBatchSize

Scan clusters in blocks of records. This setting reduces the lock time on the cluster during scans. A high value mean a faster execution, but also a lower concurrency level. Set to 0 to disable batch scanning. Disabling batch scanning is suggested for read-only databases only.

  1. Setting name...: query.scanBatchSize
  2. Default value..: 100000
  3. Set at run-time: false
  4. Hidden.........: false
query.scanThresholdTip

If the total number of records scanned in a query exceeds this setting, then a warning is given. (Use 0 to disable).

  1. Setting name...: query.scanThresholdTip
  2. Default value..: 50000
  3. Set at run-time: false
  4. Hidden.........: false
query.limitThresholdTip

If the total number of returned records exceeds this value, then a warning is given. (Use 0 to disable).

  1. Setting name...: query.limitThresholdTip
  2. Default value..: 10000
  3. Set at run-time: false
  4. Hidden.........: false

Statement

statement.cacheSize

Number of parsed SQL statements kept in cache..

  1. Setting name...: statement.cacheSize
  2. Default value..: 100
  3. Set at run-time: false
  4. Hidden.........: false

Client

client.channel.maxPool

Maximum size of pool of network channels between client and server. A channel is a TCP/IP connection..

  1. Setting name...: client.channel.maxPool
  2. Default value..: 100
  3. Set at run-time: false
  4. Hidden.........: false
client.connectionPool.waitTimeout

Maximum time, where the client should wait for a connection from the pool, when all connections busy..

  1. Setting name...: client.connectionPool.waitTimeout
  2. Default value..: 5000
  3. Set at run-time: true
  4. Hidden.........: false
client.channel.dbReleaseWaitTimeout

Delay (in ms), after which a data modification command will be resent, if the DB was frozen..

  1. Setting name...: client.channel.dbReleaseWaitTimeout
  2. Default value..: 10000
  3. Set at run-time: true
  4. Hidden.........: false
client.ssl.enabled

Use SSL for client connections..

  1. Setting name...: client.ssl.enabled
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false
client.ssl.keyStore

Use SSL for client connections..

  1. Setting name...: client.ssl.keyStore
  2. Default value..: null
  3. Set at run-time: false
  4. Hidden.........: false
client.ssl.keyStorePass

Use SSL for client connections..

  1. Setting name...: client.ssl.keyStorePass
  2. Default value..: null
  3. Set at run-time: false
  4. Hidden.........: false
client.ssl.trustStore

Use SSL for client connections..

  1. Setting name...: client.ssl.trustStore
  2. Default value..: null
  3. Set at run-time: false
  4. Hidden.........: false
client.ssl.trustStorePass

Use SSL for client connections..

  1. Setting name...: client.ssl.trustStorePass
  2. Default value..: null
  3. Set at run-time: false
  4. Hidden.........: false
client.session.tokenBased

Request a token based session to the server..

  1. Setting name...: client.session.tokenBased
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false
client.channel.minPool

Minimum pool size.

  1. Setting name...: client.channel.minPool
  2. Default value..: 1
  3. Set at run-time: false
  4. Hidden.........: false

Server

server.openAllDatabasesAtStartup

If true, the server opens all the available databases at startup. Available since 2.2.

  1. Setting name...: server.openAllDatabasesAtStartup
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false
server.channel.cleanDelay

Time in ms of delay to check pending closed connections..

  1. Setting name...: server.channel.cleanDelay
  2. Default value..: 5000
  3. Set at run-time: false
  4. Hidden.........: false
server.cache.staticFile

Cache static resources upon loading..

  1. Setting name...: server.cache.staticFile
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false
server.log.dumpClientExceptionLevel

Logs client exceptions. Use any level supported by Java java.util.logging.Level class: OFF, FINE, CONFIG, INFO, WARNING, SEVERE.

  1. Setting name...: server.log.dumpClientExceptionLevel
  2. Default value..: FINE
  3. Set at run-time: false
  4. Hidden.........: false
server.log.dumpClientExceptionFullStackTrace

Dumps the full stack trace of the exception sent to the client.

  1. Setting name...: server.log.dumpClientExceptionFullStackTrace
  2. Default value..: false
  3. Set at run-time: true
  4. Hidden.........: false

Distributed

distributed.crudTaskTimeout

Maximum timeout (in ms) to wait for CRUD remote tasks..

  1. Setting name...: distributed.crudTaskTimeout
  2. Default value..: 3000
  3. Set at run-time: true
  4. Hidden.........: false
distributed.commandTaskTimeout

Maximum timeout (in ms) to wait for Command remote tasks..

  1. Setting name...: distributed.commandTaskTimeout
  2. Default value..: 10000
  3. Set at run-time: true
  4. Hidden.........: false
distributed.commandLongTaskTimeout

Maximum timeout (in ms) to wait for Long-running remote tasks..

  1. Setting name...: distributed.commandLongTaskTimeout
  2. Default value..: 86400000
  3. Set at run-time: true
  4. Hidden.........: false
distributed.deployDbTaskTimeout

Maximum timeout (in ms) to wait for database deployment..

  1. Setting name...: distributed.deployDbTaskTimeout
  2. Default value..: 1200000
  3. Set at run-time: true
  4. Hidden.........: false
distributed.deployChunkTaskTimeout

Maximum timeout (in ms) to wait for database chunk deployment..

  1. Setting name...: distributed.deployChunkTaskTimeout
  2. Default value..: 15000
  3. Set at run-time: true
  4. Hidden.........: false
distributed.deployDbTaskCompression

Compression level (between 0 and 9) to use in backup for database deployment..

  1. Setting name...: distributed.deployDbTaskCompression
  2. Default value..: 7
  3. Set at run-time: true
  4. Hidden.........: false
distributed.queueTimeout

Maximum timeout (in ms) to wait for the response in replication..

  1. Setting name...: distributed.queueTimeout
  2. Default value..: 5000
  3. Set at run-time: true
  4. Hidden.........: false
distributed.asynchQueueSize

Queue size to handle distributed asynchronous operations. The bigger is the queue, the more operation are buffered, but also more memory it’s consumed. 0 = dynamic allocation, which means up to 2^31-1 entries..

  1. Setting name...: distributed.asynchQueueSize
  2. Default value..: 0
  3. Set at run-time: false
  4. Hidden.........: false
distributed.asynchResponsesTimeout

Maximum timeout (in ms) to collect all the asynchronous responses from replication. After this time the operation is rolled back (through an UNDO)..

  1. Setting name...: distributed.asynchResponsesTimeout
  2. Default value..: 15000
  3. Set at run-time: false
  4. Hidden.........: false
distributed.purgeResponsesTimerDelay

Maximum timeout (in ms) to collect all the asynchronous responses from replication. This is the delay the purge thread uses to check asynchronous requests in timeout..

  1. Setting name...: distributed.purgeResponsesTimerDelay
  2. Default value..: 15000
  3. Set at run-time: false
  4. Hidden.........: false
distributed.queueMaxSize

Maximum queue size to mark a node as stalled. If the numer of messages in queue are more than this values, the node is restarted with a remote command (0 = no maximum, which means up to 2^31-1 entries)..

  1. Setting name...: distributed.queueMaxSize
  2. Default value..: 100
  3. Set at run-time: false
  4. Hidden.........: false
distributed.backupDirectory

Directory where the copy of an existent database is saved, before it is downloaded from the cluster..

  1. Setting name...: distributed.backupDirectory
  2. Default value..: ../backup/databases
  3. Set at run-time: false
  4. Hidden.........: false
distributed.concurrentTxMaxAutoRetry

Maximum attempts the transaction coordinator should execute a transaction automatically, if records are locked. (Minimum is 1 = no attempts).

  1. Setting name...: distributed.concurrentTxMaxAutoRetry
  2. Default value..: 10
  3. Set at run-time: true
  4. Hidden.........: false
distributed.concurrentTxAutoRetryDelay

Delay (in ms) between attempts on executing a distributed transaction, which had failed because of locked records. (0=no delay).

  1. Setting name...: distributed.concurrentTxAutoRetryDelay
  2. Default value..: 100
  3. Set at run-time: true
  4. Hidden.........: false

Oauth2

oauth2.secretkey

Http OAuth2 secret key..

  1. Setting name...: oauth2.secretkey
  2. Default value..:
  3. Set at run-time: false
  4. Hidden.........: false

Lazyset

lazyset.workOnStream

Deprecated, now BINARY serialization is used in place of CSV.

  1. Setting name...: lazyset.workOnStream
  2. Default value..: true
  3. Set at run-time: false
  4. Hidden.........: false

Mvrbtree

mvrbtree.timeout

Deprecated, MVRBTREE IS NOT USED ANYMORE IN FAVOR OF SBTREE AND HASHINDEX.

  1. Setting name...: mvrbtree.timeout
  2. Default value..: 0
  3. Set at run-time: false
  4. Hidden.........: false
mvrbtree.nodePageSize

Deprecated, MVRBTREE IS NOT USED ANYMORE IN FAVOR OF SBTREE AND HASHINDEX.

  1. Setting name...: mvrbtree.nodePageSize
  2. Default value..: 256
  3. Set at run-time: false
  4. Hidden.........: false
mvrbtree.loadFactor

Deprecated, MVRBTREE IS NOT USED ANYMORE IN FAVOR OF SBTREE AND HASHINDEX.

  1. Setting name...: mvrbtree.loadFactor
  2. Default value..: 0.7
  3. Set at run-time: false
  4. Hidden.........: false
mvrbtree.optimizeThreshold

Deprecated, MVRBTREE IS NOT USED ANYMORE IN FAVOR OF SBTREE AND HASHINDEX.

  1. Setting name...: mvrbtree.optimizeThreshold
  2. Default value..: 100000
  3. Set at run-time: false
  4. Hidden.........: false
mvrbtree.entryPoints

Deprecated, MVRBTREE IS NOT USED ANYMORE IN FAVOR OF SBTREE AND HASHINDEX.

  1. Setting name...: mvrbtree.entryPoints
  2. Default value..: 64
  3. Set at run-time: false
  4. Hidden.........: false
mvrbtree.optimizeEntryPointsFactor

Deprecated, MVRBTREE IS NOT USED ANYMORE IN FAVOR OF SBTREE AND HASHINDEX.

  1. Setting name...: mvrbtree.optimizeEntryPointsFactor
  2. Default value..: 1.0
  3. Set at run-time: false
  4. Hidden.........: false
mvrbtree.entryKeysInMemory

Deprecated, MVRBTREE IS NOT USED ANYMORE IN FAVOR OF SBTREE AND HASHINDEX.

  1. Setting name...: mvrbtree.entryKeysInMemory
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false
mvrbtree.entryValuesInMemory

Deprecated, MVRBTREE IS NOT USED ANYMORE IN FAVOR OF SBTREE AND HASHINDEX.

  1. Setting name...: mvrbtree.entryValuesInMemory
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false
mvrbtree.ridBinaryThreshold

Deprecated, MVRBTREE IS NOT USED ANYMORE IN FAVOR OF SBTREE AND HASHINDEX.

  1. Setting name...: mvrbtree.ridBinaryThreshold
  2. Default value..: -1
  3. Set at run-time: false
  4. Hidden.........: false
mvrbtree.ridNodePageSize

Deprecated, MVRBTREE IS NOT USED ANYMORE IN FAVOR OF SBTREE AND HASHINDEX.

  1. Setting name...: mvrbtree.ridNodePageSize
  2. Default value..: 64
  3. Set at run-time: false
  4. Hidden.........: false
mvrbtree.ridNodeSaveMemory

Deprecated, MVRBTREE IS NOT USED ANYMORE IN FAVOR OF SBTREE AND HASHINDEX.

  1. Setting name...: mvrbtree.ridNodeSaveMemory
  2. Default value..: false
  3. Set at run-time: false
  4. Hidden.........: false

NOTE: On 64-bit systems you have not the limitation of 32-bit systems with memory.

Logging

Logging is configured in a separate file, look at Logging for more information.

Storage configuration

OrientDB allows modifications to the storage configuration. Even though this will be supported with high level commands, for now it’s pretty “internal” using Java API.

To get the storage configuration for the current database:

  1. OStorageConfiguration cfg = db.getStorage().getConfiguration();

Look at OStorageConfiguration to discover all the properties you can change. To change the configuration of a cluster get it by ID;

  1. OStoragePhysicalClusterConfigurationLocal clusterCfg = (OStoragePhysicalClusterConfigurationLocal) cfg.clusters.get(3);

To change the default settings for new clusters get the file template object. In this example we change the initial file size from the default 500Kb down to 10Kb:

  1. OStorageSegmentConfiguration defaultCfg = (OStorageSegmentConfiguration) cfg.fileTemplate;
  2. defaultCfg.fileStartSize = "10Kb";

After changes call OStorageConfiguration.update():

  1. cfg.update();