ArangoDB 3.2.alpha2

ArangoDB is a multi-model, open-source database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions. Use ACID transactions if you require them. The supported data models can be mixed in queries and allow ArangoDB to be the aggregation point for your data. Key Features in ArangoDB - Multi-Model: Documents, graphs and key-value pairs — model your data as you see fit for your application. - Joins: Conveniently join what belongs together for flexible ad-hoc querying, less data redundancy. - Transactions: Easy application development keeping your data consistent and safe. No hassle in your client.

Tags database database-server c++ javascript java clojure php python scala ruby macos windows cross-plattform linux developers
License Apache
State mature

Recent Releases

3.2.alpha217 Oct 2017 03:15 minor bugfix: ui: ui: a dashboard related memory. Internal javascript rest actions will now hide their stack traces to the client. Unless maintainer mode is activated. Instead they will always log to the logfile Removed undocumented internal HTTP API: PUT _api/edges. The documented GET _api/edges and the undocumented POST _api/edges remains unmodified. Moved V8 code into a git submodule. This requires running the command Git submodule update --init --recursive. Once after a source code update or fresh checkout. Updated V8 version to 5.7.0.0. Change undocumented behaviour in case of invalid revision ids in If-Match and If-None-Match headers from 400 (BAD) to 412 (PRECONDITION FAILED). Change undocumented behaviour in case of invalid revision ids in JavaScript document operations from 1239 ("illegal document revision") to 1200 ("conflict"). Added data export tool, arangoexport. Arangoexport can be used to export collections to json, jsonl or xml. And export a graph or collections to xgmml. a race condition when closing a connection. Raised default hard limit on threads for very small to 64. Negative counting of http connection in UI.
3.2.428 Sep 2017 03:16 minor feature: UI: added replicationFactor option during SmartGraph creation. Make the MMFiles compactor perform less writes during normal compaction. Operation This partially make the MMFiles compactor configurable. The following options have been added: `--compaction.db-sleep-time`: sleep interval between two compaction runs. (in s). `--compaction.min-interval"`: minimum sleep time between two compaction. Runs (in s) `--compaction.min-small-data-file-size`: minimal filesize threshold. Original datafiles have to be below for a compaction `--compaction.dead-documents-threshold`: minimum unused count of documents in a datafile. `--compaction.dead-size-threshold`: how many bytes of the source data file. Are allowed to be unused at most `--compaction.dead-size-percent-threshold`: how many percent of the source. Datafile should be unused at least `--compaction.max-files`: Maximum number of files to merge to one file. `--compaction.max-result-file-size`: how large may the compaction result. File become `--compaction.max-file-size-factor`: how large the resulting file may be in comparison to the collection's `--database.maximal-journal-size' setting`. See https://docs.arangodb.com/3.2/Manual/Administration/Configuration/Compaction.html. For more details. Downwards-incompatibility in /_api/explain REST handler. Windows implementation for fs.getTempPath() to also create a. Sub-directory as we do on linux a multi-threading in cluster-internal communication. Performance improvements for traversals and edge lookups. Removed internal memory zone handling code. the memory zones were a leftover. From the early ArangoDB days and did not provide any value in the current Implementation. (Enterprise only) added `skipInaccessibleCollections` option for AQL queries: if set, AQL queries (especially graph traversals) will treat collections to. Which a user has no access rights to as if these collections were empty. Adjusted scheduler thread handling to start and
3.2.309 Sep 2017 03:18 minor bugfix: : orphan collections could not be registered in general-graph module. Wrong selection of the database inside the internal cluster js api. Added startup option `--server.check-max-memory-mappings` to make arangod check. The number of memory mappings currently used by the process and compare it with The maximum number of allowed mappings as determined by /proc/sys/vm/max_map_count Note that this option is effective on Linux systems only. Wrong ui cluster health information. : HTTP Foxx API Json parsing. : Foxx queue: job isn't running when server.authentication = true. Supervision failure detection and handling, which happened with simultaneous agency leadership change.
3.2.225 Aug 2017 03:15 minor bugfix: : adjust the response of the DELETE `/_api/users/database/*` calls. : Error when upgrading arangoDB on linux ubuntu 16.04. a buffer overrun in linenoise console input library for long input strings. Increase size of the linenoise input buffer to 8 KB. Abort compilation if the detected GCC or CLANG isn't in the range of compilers we support. Spurious cluster hangups by always sending AQL-query related requests to the correct servers, even after failover or when a follower drops. The problem with the previous shard-based approach was that responsibilities. For shards may change from one server to another at runtime, after the query Was already instanciated. The coordinator and other parts of the query then Sent further requests for the query to the servers now responsible for the Shards. However, an AQL query must send all further requests to the same servers on. Which the query was originally instanciated, even in case of failover. Otherwise this would potentially send requests to servers that do not know. About the query, and would also send query shutdown requests to the wrong Servers, leading to abandoned queries piling up and using resources until They automatically time out. With RocksDB engine acquiring the collection count values too. Early, leading to the collection count values potentially being slightly off Even in exclusive transactions (for which the exclusive access should provide an always-correct count value). Some in leader-follower catch-up code, specifically for the RocksDB engine. Make V8 log fatal errors to syslog before it terminates the process. This change is effective on Linux only. With MMFiles engine creating superfluous collection journals on shutdown. : Upgrade from 3.2 to 3.2.1 reset autoincrement keys. : ArangoDB server shutdown unexpectedly. : Incorrect filter interpretation. : Foxx, internal server error when I try to add a new service. Improved MMFiles fulltext index document removal performance. And
3.2.112 Aug 2017 03:17 minor bugfix: : Optimizer rule reduce-extraction-to-projection breaks queries. Now allowing to restore users in a sharded environment as well It is still not possible to restore collections that are sharded. Differently than by _key. an isse with restoring of system collections and user rights. It was not possible to restore users into an authenticated server. : Documentation for db._createDatabase is wrong. ui: added bind parameters to slow query history view. : Slow Query API should provide bind parameters, webui should display them. ui: a when moving multiple documents was not possible. Docs for : Collection _key autoincrement value increases on error. AQL CHAR_LENGTH(null) returns now 0. Since AQL TO_STRING(null) is '' (string of length 0). ui: now supports single js file upload for Foxx services in addition to zip files. a multi-threading in the agency when callElection was called. While the Supervision was calling updateSnapshot Added startup option `--query.tracking-with-bindvars`. This option controls whether the list of currently running queries. And the list of slow queries should contain the bind variables used in the queries or not. The option can be changed at runtime using the commands. // enables tracking of bind variables. // set to false to turn tracking of bind variables off. Var value = true; Require("@arangodb/aql/queries").properties( TrackBindVars: value );. Index selectivity estimates are now available in the cluster as well. : loadIndexesIntoMemory not returning the same structure as the rest of the collection APIs. : ArangoError 1208: illegal name. : Collection properties do not return `isVolatile`. Attribute Potential for : Segmentation fault when starting. Coordinator node : out of memory error when running UPDATE/REPLACE on medium-size collection. Potential deadlock errors in collector thread. Disallow the usage of volatile collections in the RocksDB engine by throwing an error when a collection
3.1.2629 Jul 2017 06:45 minor bugfix: Vanishing revision cache.
3.2.021 Jul 2017 03:15 major bugfix: UI d. Pregel multi-threaded. Foxx resilience.
3.1.2515 Jul 2017 03:15 minor bugfix: One medium priority and two low priority security user interface. Found by owasp zap. Parallel access to list of failed servers. ID lookup for secondaries. Removed secondaries from local and distributed cluster deployments.
3.1.2406 Jul 2017 03:15 minor bugfix: One more LIMIT in traversals. : Legacy service UI not working.
3.1.2321 Jun 2017 03:15 minor bugfix: Potentially : Duplicate _key generated on insertion. Races in SSL communication code. Invalid results (too many) when a skipping LIMIT was used for a. Traversal. `LIMIT x` or `LIMIT 0, x` were not affected, but `LIMIT s, x` May have returned too many results Invalid first group results for sorted AQL COLLECT when LIMIT. Was used Invalid locking in JWT authentication cache, which could have. Crashed the server Undefined behavior in traverser when traversals were used inside a FOR loop.
3.1.2208 Jun 2017 08:25 minor bugfix: : Problem with export + report of a. Documented changed behavior of WITH. ui glitch in aardvark. Avoid agency compaction. : disabled proxy communication internally. Agency no longer responds prematurely when started from persistence. Agency handles huge arrays of transactions.
3.1.2123 May 2017 03:15 minor bugfix: : AQL operator IN error when data use base64 chars. More randomness in seeding RNG.
3.1.2017 May 2017 03:15 minor bugfix: Incorrect sorting for distributeShardsLike. Improve reliability of AgencyComm communication with Agency. Shard numbering, where ids were erouneously incremented by 1. Remove an unnecessary precondition in createCollectionCoordinator. Funny fail rotation. in SimpleHttpClient for correct advancement of readBufferOffset. Forward SIG_HUP in supervisor process to the server process to logrotaion You need to stop the remaining arangod server process manually for the upgrade to work.
3.1.1903 May 2017 03:15 minor bugfix: : GraphBrowser "Expand" function doesn't load all possible edges. : Intermittent where ArangoDB Web UI takes no action when Delete button is clicked for a document. : Frontend shows already deleted databases during login. Added 'x-content-type-options: nosniff' to avoid MSIE. : dead/old link in foxx-manager help. : Indexing break replication. a StackOverflow in Traversal and ShortestPath. Occured if many ( 1000) input. Values in a row do not return any result. occasional hanging shutdowns on OS X Reduce the maximal wait time in exponential backoff when waiting for locks. This improves fairness of the collection locks under high load.
3.1.1821 Apr 2017 03:15 minor bugfix: Error in continuous synchronization of collections. Spurious hangs on server shutdown. Better error messages during restore collection. Completely overhaul supervision. More detailed tests. a dead-lock situation in cluster traversers, it could happen in. Rare cases if the computation on one DBServer could be completed much earlier Than the other server. It could also be restricted to SmartGraphs only. (Enterprise only) a in SmartGraph DepthFirstSearch. In some. More complicated queries, the maxDepth limit of 1 was not considered strictly Enough, causing the traverser to do unlimited depth searches. .
3.1.1705 Apr 2017 03:15 minor bugfix: (Enterprise only) a where replicationFactor was not correctly. Forwarded in SmartGraph creation. this restores the default read-cache size value for RAM sizes of less than 4 GB to the default size the read cache had in 3.1.15 and before. 3.1.16. Decreased the default value too much for small RAM sizes. ui - smart graph option not appearing. .
3.1.1629 Mar 2017 06:25 minor bugfix: try to raise file descriptors to at least 8192, warn otherwise. ui - aql editor improvements + updated ace editor version (memory leak). Lost HTTP requests. ui - some event. Avoid name resolution when given connection string is a valid ip address. Helps with, in COLLECT statement in connection with LIMIT. Locking in cluster traversals. Increase lock timeout defaults. Increase various cluster timeouts. Limit default target size for revision cache to 1GB, which is better for. Tight RAM situations (used to be 40 of (totalRAM - 1GB), use --database.revision-cache-target-size to get back the. Old behaviour a with restarted servers indicating status as "STARTUP". Rather that "SERVING" in Nodes UI.
3.1.1522 Mar 2017 03:15 minor bugfix: Add logrotate configuration as requested in #2355. ui - changed document api due a chrome. ui - a submenu. Added endpoint /_api/cluster/endpoints in cluster case to get all. Coordinator endpoints Documentation of /_api/endpoint, declaring this API obsolete. Foxx response objects now have a `type` method for manipulating the content-type header. Foxx tests now support `xunit` and `tap` reporters.
3.1.1414 Mar 2017 06:05 minor bugfix: Added missing locks to authentication cache methods. ui - wrong merge of statistics information from different coordinators. ui - ui - wrong protocol usage within encrypted environment. Compile error on Mac Yosemite. Minor UI. FailedServer job with breaking.
3.1.1308 Mar 2017 06:45 minor bugfix: variables parsing in GraphQL. changed thread handling to queue only user requests on coordinator. Use exponential backoff when waiting for collection locks. Repair short name server lookup in cluster in the case of a removed. Server
3.1.1201 Mar 2017 09:25 minor bugfix: Disable shell color escape sequences on Windows. a race condition when closing a connection. Raised default hard limit on threads for very small to 64. Negative counting of http connection in UI. a race when renaming collections. a race when dropping databases. a rare race in agency compaction.
3.1.1116 Feb 2017 06:45 minor bugfix: ui: optimized smart graph creation usability. ui: a race in async task cancellation via `require("@arangodb/tasks").unregisterTask()`. Spuriously hanging threads in cluster AQL that could sit idle for a few minutes. Potential numeric overflow for big index ids in index deletion API. Sort in cluster, occurring when one of the local sort buffers of a GatherNode was empty. Reduce number of HTTP requests made for certain kinds of join queries in cluster. Leading to speedup of some join queries Supervision deals with demised coordinators correctly again. Implement a timeout in TraverserEngineRegistry. Agent communication reduced in large batches of append entries RPCs. Inception no longer estimates RAFT timings. Compaction in agents has been moved to a separate thread. Replicated logs hold local timestamps. Supervision jobs failed leader and failed follower revisited for. Function in precarious stability situations Big in random number generator for 64bit int.
3.1.1004 Feb 2017 21:25 minor feature: Updated versions of bundled node modules: Joi: from 8.4.2 to 9.2.0. Joi-to-json-schema: from 2.2.0 to 2.3.0. Sinon: from 1.17.4 to 1.17.6. Lodash: from 4.13.1 to 4.16.6. Added shortcut for AQL ternary operator. Instead of `condition ? true-part : false-part` it is now possible to also use a Shortcut variant `condition ? : false-part`, e.g. FOR doc IN docs RETURN doc.value ?: 'not present'. Instead of. FOR doc IN docs RETURN doc.value ? doc.value : 'not present'. Wrong sorting order in cluster, if an index was used to sort with many. Shards. Added --replication-factor, --number-of-shards and --wait-for-sync to arangobench. Turn on UTF-8 string validation for VelocyPack values received via VST connections. added optional detail flag for db..count(). Setting the flag to `true` will make the count operation returned the per-shard Counts for the collection: db._create("test", numberOfShards: 10 );. For (i = 0; i 1000; ++i) db.test.insert( value: i );. db.test.count(true);. . "s100058" : 99. "s100057" : 103. "s100056" : 100. "s100050" : 94. "s100055" : 90. "s100054" : 122. "s100051" : 109. "s100059" : 99. "s100053" : 95. "s100052" : 89. . Added optional memory limit for AQL queries: db._query("FOR i IN 1..100000 SORT i RETURN i", , options: memoryLimit: 100000 );. This option limits the default maximum amount of memory that a single AQL query can use. When a single AQL query reaches the specified limit value, the query will be. Aborted with a *resource limit exceeded exception. In a cluster, the memory Accounting is done per shard, so the limit value is effectively a memory limit per Query per shard. The global limit value can be overriden per query by setting the *memoryLimit*. Option value for individual queries when running an AQL query. Added server startup option `--query.memory-limit`. Added convenience function to create vertex-centric indexes. Usage: `db.collection.ensureVertexCentricIndex("label", type: "hash", d
3.1.925 Jan 2017 11:25 minor bugfix: Prevent duplicate keys in JSON when doing transactions. Prevent trying to parse agency results as JSON when HTTP is not ok. Allow intermittent read-cache garbage collection during collection loads. More efficient collection locking in case the locks are contended. Macos CLI package: store databases and apps in the user's home directory. ui: re-login within a non system db, when tab was. a race in the VelocyStream Commtask implementation. avoid reporting in-sync follower twice (improves cluster stability). Make syncCollectionFinalize more resilient (improves cluster stability). a in the supervision that did not compare follower lists correctly. (improves cluster stability). WaitFor in agency. backported from devel.
3.1.812 Jan 2017 06:25 minor bugfix: Add windows silent installer. Add handling of desymbols during Linux windows release builds. : reduce V8 max old space size from 3 GB to 1 GB on 32 bit systems. Upgraded Boost version to 1.62.0. agents announce new endpoints in inception phase to leader. Agency leadership accepts updatet endpoints to given uuid. Unified endpoints replace localhost with 127.0.0.1. Several problems within an authenticated cluster.
3.1.731 Dec 2016 03:16 minor bugfix: One too many elections in RAFT. New agency comm backported from devel.
3.1.622 Dec 2016 03:15 minor bugfix: agency constituent/agent in race conditions picking up. Leadership Supervision does not need waking up anymore as it is running. Regardless Agents challenge their leadership more rigorously.
3.1.517 Dec 2016 03:15 minor bugfix: Lowered default value of `--database.revision-cache-target-size` from 75 of RAM to about 30 of RAM. Foxx router.get/post/etc handler argument can no longer accidentally omitted. .
3.1.410 Dec 2016 03:15 minor feature: at cluster start, coordinators wait until at least one DBserver is there. And either at least two DBservers are there or 15s have passed, before they Initiate the bootstrap of system collections. More robust agency startup from devel. Supervision's AddFollower adds many followers at once. Supercision has new FailedFollower job. Agency's Node has new method getArray. Agency RAFT timing estimates more conservative in waitForSync. Scenario Agency RAFT timing estimates capped at maximum 2.0/10.0 for low/high.
3.1.229 Nov 2016 08:05 minor bugfix: Save a flag in the agency indicating that the system collection were created. This prevents hanging coordinators during startup when the system collections Got into a bad state somehow Adjust server failed job so it will cancel any shard movement jobs. When a server became healthy again Improve several cluster related log messages. Added support for descriptions field in Foxx dependencies. Enforce a user defined jwt when doing authentication in the cluster. a in the agency inception visible only under Windows. One has to wait until the RestServer maintenance mode is off, before we start. The gossip protocol to find peers. (Enterprise only) a in the statistic report for SmartGraph traversals. Now they state correctly how many documents were fetched from the index and how many. Have been filtered. Increments of version in agent configurations. Startup mode of agency is explicitly set to persistence with inside. Agent configuration Statistics for requests. Race condition in processing of VelocyStream (vst) binary protocol.
3.1.124 Nov 2016 03:15 minor bugfix: Obsolete --cluster.username and --cluster.password. display index usage of traversals in AQL explainer output (previously missing). Isuse #2163. Preserve last-used HLC value across server starts. Allow more control over handling of pre-3.1 _rev values. This changes the server startup option `--database.check-30-revisions` from a boolean (true/false). Parameter to a string parameter with the following possible values: - "fail": Will validate _rev values of 3.0 collections on collection loading and throw an exception when invalid _rev values are found. in this case collections with invalid _rev values are marked as corrupted and cannot be used in the ArangoDB 3.1 instance. The procedure for such collections is to export the collections from 3.0 database with arangodump and restore them in 3.1 with arangorestore. Collections that do not contain invalid _rev values are marked as ok and will not be re-checked on following loads. Collections that contain invalid _rev values will be re-checked on following loads. - "true": Will validate _rev values of 3.0 collections on collection loading and print a warning when invalid _rev values are found. in this case collections with invalid _rev values can be used in the ArangoDB 3.1 instance. However, subsequent operations on documents with invalid _rev values may silently fail or fail with explicit errors. The procedure for such collections is to export the collections from 3.0 database with arangodump and restore them in 3.1 with arangorestore. Collections that do not contain invalid _rev values are marked as ok and will not be re-checked on following loads. Collections that contain invalid _rev values will be re-checked on following loads. - "false": Will not validate _rev values on collection loading and not print warnings. no hint is given when invalid _rev values are found. Subsequent operations on documents with invalid _rev values may silently fail or fail with explicit errors. This setting does not af
3.1.010 Nov 2016 21:45 major feature: Added AQL function `DISTANCE` to calculate the distance between two arbitrary. Coordinates (haversine formula) added Auto-aptation of RAFT timings as calculations only.
3.0.1028 Sep 2016 03:15 minor bugfix: slow cluster starup. supervision will demonstrate more. Patience with db servers
3.0.816 Sep 2016 07:25 minor bugfix: multiple where ClusterInfo hung agency in limbo. Timeouting on multiple collection and database callbacks
3.0.706 Sep 2016 17:48 minor feature: New supervision job handles db server failure during collection creation.
2.6.224 Jul 2015 10:03 minor bugfix: * fixed issue #1383: bindVars for HTTP API doesn't work with empty string * fixed handling of default values in Foxx manifest configurations * fixed handling of optional parameters in Foxx manifest configurations * fixed a reference error being thrown in Foxx queues when a function-based job type is used that is not available and no options object is passed to queue.push