home shape

ArangoDB 2.8 Beta 2: Explore New Features

The second beta of ArangoDB 2.8 is available for testing. Now it’s your turn – give it a try, report bugs and provide us with your early feedback on the new features (Array Indexes and graph traversal in AQL). Do you like what you see?

Here’s what changed recently (beta 1 / beta 2):

  • added AQL query optimizer rule “sort-in-values”

    This rule pre-sorts the right-hand side operand of the IN and NOT IN operators so the operation can use a binary search with logarithmic complexity instead of a linear search. The rule is applied when the right-hand side operand of an IN or NOT IN operator in a filter condition is a variable that is defined in a different loop/scope than the operator itself. Additionally, the filter condition must consist of solely the IN or NOT IN operation in order to avoid any side-effects.

  • changed collection status terminology in web interface for collections for which an unload request has been issued from in the process of being unloaded to will be unloaded.
  • unloading a collection via the web interface will now trigger garbage collection in all v8 contexts and force a WAL flush. This increases the chances of performing the unload faster.
  • added the following attributes to the result of collection.figures() and the corresponding HTTP API at PUT /_api/collection/<name>/figures:
    • documentReferences: The number of references to documents in datafiles that JavaScript code currently holds. This information can be used for debugging compaction and unload issues.
    • waitingFor: An optional string value that contains information about which object type is at the head of the collection’s cleanup queue. This information can be used for debugging compaction and unload issues.
    • compactionStatus.time: The point in time the compaction for the collection was last executed. This information can be used for debugging compaction issues.
    • compactionStatus.message: The action that was performed when the compaction was last run for the collection. This information can be used for debugging compaction issues.

    Note: waitingFor and compactionStatus may be empty when called on a coordinator in a cluster.

  • the compaction will now provide queryable status info that can be used to track its progress. The compaction status is displayed in the web interface, too.
  • better error reporting for arangodump and arangorestore
  • arangodump will now fail by default when trying to dump edges that refer to already dropped collections. This can be circumvented by specifying the option --force true when invoking arangodump
  • fixed cluster upgrade procedure
  • the AQL functions NEAR and WITHIN now have stricter validations for their input parameters limit, radius and distance. They may now throw exceptions when invalid parameters are passed that may have not led to exceptions in previous versions.
  • deprecation warnings now log stack traces
  • Foxx: improved backwards compatibility with 2.5 and 2.6
    • reverted Model and Repository back to non-ES6 “classes” because of compatibility issues when using the extend method with a constructor
    • removed deprecation warnings for extend and controller.del
    • restored deprecated method Model.toJSONSchema
    • restored deprecated type, jwt and sessionStorageApp options in Controller#activateSessions

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: