Known Issues in ArangoDB 3.2

    The RocksDB storage engine is intentionally missing the following features that are present in the MMFiles engine:

    • the datafile debugger (arango-dfdb) cannot be used with this storage engine

    RocksDB has its own crash recovery so using the dfdb will not make any sense here.

    • APIs that return collection properties or figures will return slightly differentattributes for the RocksDB engine than for the MMFiles engine. For example, theattributes , doCompact, indexBuckets and isVolatile are presentin the MMFiles engine but not in the RocksDB engine. The memory usage figures reported for collections in the RocksDB engine are estimate values, whereas they areexact for the MMFiles engine.

    • the RocksDB storage engine does not support volatile collections

    The threshold values for transaction sizes can be configured globally using thestartup options

    • —rocksdb.intermediate-commit-size: if the size of all operations in a transaction reaches this threshold, the transaction is committed automatically and a new transactionis started. The value is specified in bytes.

    • —rocksdb.intermediate-commit-count: if the number of operations in a transaction reaches this value, the transaction is committed automatically and a new transactionis started.

    • : this is an upper limit for the total number of bytesof all operations in a transaction. If the operations in a transaction consume morethan this threshold value, the transaction will automatically abort with error 32(“resource limit exceeded”).

    It is also possible to override these thresholds per transaction.

    • collections for which a geo index is present will use collection-level write locks even with the RocksDB engine. Reads from these collections can still be done in parallel but no writes

    • modifying documents in a collection with a geo index will cause multiple additional writes to RocksDB for maintaining the index structures

    • the number of documents reported for collections (db.<collection>.count()) may beslightly wrong during transactions if there are parallel transactions ongoing for thesame collection that also modify the number of documents

    • the any operation to provide a random document from a collection is supportedby the RocksDB engine but the operation has much higher algorithmic complexity than in the MMFiles engine. It is therefore discouraged to call it for cases other than manualinspection of a few documents in a collection

    • Upgrading from 3.1 to 3.2 on Windows requires the user to manually copy the database directoryto the new location and run an upgrade on the database. Please consult thefor detailed instructions.
    • On some Linux systems systemd and system v might report that the arangodbservice is in good condition when it could not be started. In this case theuser needs to check /var/log/arangodb3 for further information about thefailed startup.
    • ArangoDB v3.2 has been tested with OpenSSL 1.0 only and won’t build against 1.1 when compiling on your own.