home shape

ArangoDB 2.5.1 Release: Bug Fixes and Enhancements

This version is deprecated. Download the new version of ArangoDB

A new release of ArangoDB is available for download.

ArangoDB 2.5.1 adds slow-query log and killing running queries to the Http API and to the web-interface. We have also fixed inefficiencies in remove methods of the general-graph module and solved some issues regarding stability on windows. The added option --database.ignore-logfile-errors controls how collection datafiles with a CRC mismatch are treated. We recommend to upgrade your 2.5.0 installation to benefit from these improvements.

ArangoDB 2.5.1 could be started from an unzipped archive, no need to install ArangoDB and share libraries in Windows.

Query tracking

ArangoDB has an Http interface for retrieving the lists of currently executing AQL queries and the list of slow AQL queries. In order to make meaningful use of these APIs, query tracking needs to be enabled in the database the HTTP request is executed for.

GET /_api/query/current

kill query

The added option --database.slow-query-threshold could be used to change the default AQL slow query threshold value on server start.

Killing queries

Running AQL queries can also be killed on the server. ArangoDB provides a kill facility via an Http interface. To kill a running query, its id (as returned for the query in the list of currently running queries) must be specified. The kill flag of the query will then be set, and the query will be aborted as soon as it reaches a cancellation point.

DELETE /_api/query/{query-id}

Bugfixes and Changes

  • added option --database.ignore-logfile-errorsThis option controls how collection datafiles with a CRC mismatch are treated.If set to false, CRC mismatch errors in collection datafiles will lead to a collection not being loaded at all. If a collection needs to be loaded during WAL recovery, the WAL recovery will also abort (if not forced with --wal.ignore-recovery-errors true). Setting this flag to false protects users from unintentionally using a collection with corrupted datafiles, from which only a subset of the original data can be recovered.

    If set to true, CRC mismatch errors in collection datafiles will lead to the datafile being partially loaded. All data up to until the mismatch will be loaded. This will enable users to continue with a collection datafiles that are corrupted, but will result in only a partial load of the data. The WAL recovery will still abort when encountering a collection with a corrupted datafile, at least if --wal.ignore-recovery-errors is not set to true.

    The default value is true, so for collections with corrupted datafiles there might be partial data loads once the WAL recovery has finished. If the WAL recovery will need to load a collection with a corrupted datafile, it will still stop when using the default values.

  • INCOMPATIBLE CHANGE: make the arangod server refuse to start if during startup it finds a non-readable parameter.json file for a database or a collection.Stopping the startup process in this case requires manual intervention (fixing the unreadable files), but prevents follow-up errors due to ignored databases or collections from happening.
  • datafiles and parameter.json files written by arangod are now created with read and write privileges for the arangod process user, and with read and write prileges for the arangod process group.
    Previously, these files were created with user read and write permissions only.
  • INCOMPATIBLE CHANGE: abort WAL recovery if one of the collection’s datafiles cannot be opened
  • INCOMPATIBLE CHANGE: never try to raise the privileges after dropping them, this can lead to a race condition while running the recoveryIf you require to run ArangoDB on a port lower than 1024, you must run ArangoDB as root.
  • fixed inefficiencies in remove methods of general-graph module
  • added option --database.slow-query-threshold for controlling the default AQL slow query threshold value on server start
  • add system error strings for windows on many places
  • rework service startup so we anounce ‘RUNNING’ only when we’re finished starting.
  • use the windows eventlog for FATAL and ERROR – log messages
  • fix service handling in NSIS windows installer, specify human readable name
  • add the ICU_DATA environment variable to the fatal error messages
  • fixed issue #1265: arangod crashed with SIGSEGV
  • fixed issue #1241: Wildcards in examples

Ingo Friepoertner

Ingo is dealing with all the good ideas from the ArangoDB community, customers and industry experts to improve the value provided by the company’s native multi-model approach. In former positions he worked as a product owner and tech consultant, building custom software solutions for large companies in various industries. Ingo holds a diploma in business informatics from FHDW University of Applied Sciences.

Leave a Comment

Get the latest tutorials, blog posts and news: