ArangoDB 2.4.2

This version is deprecated. Download the new version of ArangoDB

A maintenance release for ArangoDB 2.4.2 is available for download or via your favourite package manager.

v2.4.2 (2015-01-30)

  • added custom visitor functionality for AQL traversals

This allows more complex result processing in traversals triggered by AQL. A few examples are shown in this article.

  • improved number of results estimated for nodes of type EnumerateListNode and SubqueryNode in AQL explain output

  • added AQL explain helper to explain arbitrary AQL queries.

The helper function prints the query execution plan and the indexes to be used in the query. It can be invoked from the ArangoShell or the web interface as follows:


  • enable use of indexes for certain AQL conditions with non-equality predicates, in case the condition(s) also refer to indexed attributes.

The following queries will now be able to use indexes:

FILTER a.indexed == … && a.indexed != … FILTER a.indexed == … && a.nonIndexed != … FILTER a.indexed == … && ! (a.indexed == …) FILTER a.indexed == … && ! (a.nonIndexed == …) FILTER a.indexed == … && ! (a.indexed != …) FILTER a.indexed == … && ! (a.nonIndexed != …) FILTER (a.indexed == … && a.nonIndexed == …) || (a.indexed == … && a.nonIndexed == …) FILTER (a.indexed == … && a.nonIndexed != …) || (a.indexed == … && a.nonIndexed != …)

  • Fixed spuriously occurring “collection not found” errors when running queries on local collections on a cluster DB server
  • Fixed upload of Foxx applications to the server for apps exceeding approx. 1 MB zipped.
  • Malformed Foxx applications will now return a more useful error when any route is requested.

In Production a Foxx app mounted on /app will display an html page on /app/* stating a 503 Service temporarily not available. It will not state any information about your Application. Before it was a 404 Not Found without any information and not distinguishable from a correct not found on your route.

In Development Mode the html page also contains information about the error occured.

  • Unhandled errors thrown in Foxx routes are now handled by the Foxx framework itself.

In Production the route will return a status 500 with a body {error: "Error statement"}. In Development the route will return a status 500 with a body {error: "Error statement", stack: "..."} Before, it was status 500 with a plain text stack including ArangoDB internal routing information.

  • The Applications tab in web interface will now request development apps more often.

So if you have a fixed a syntax error in your app it should always be visible after reload.

Dr. Frank Celler

Frank Celler

Frank is both entrepreneur and backend developer, developing mostly memory databases for two decades. He is the CTO and co-founder of ArangoDB. Try to challenge Frank asking him questions on C, C++ and MRuby. Besides Frank organizes Cologne’s NoSQL group & is an active member of NoSQL community.

Leave a Comment

Get the latest tutorials, blog posts and news: