ArangoDB 3.3.11

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 initial

Recent Releases

3.3.1129 Jun 2018 15:05 minor documentation: Upgraded arangosync version to 0.5.3. Upgraded arangodb starter version to 0.12.0. Internal : "unexpected document key" error when custom. Shard keys are used and the "allowUserKeys" key generator option is set to false. AQL DOCUMENT lookup function for documents for sharded collections with. More than a single shard and using a custom shard key (i.e. some shard Key attribute other than `_key`). The previous implementation of DOCUMENT restricted to lookup to a single. Shard in all cases, though this restriction was invalid. That lead to `DOCUMENT` not finding documents in cases the wrong shard was contacted. The. Implementation in 3.3.11 will reach out to all shards to find the Document, meaning it will produce the correct result, but will cause more Cluster-internal traffic. This increase in traffic may be high if the number of shards is also high, because each invocation of `DOCUMENT` will have to. Contact all shards. There will be no performance difference for non-sharded collections or. Collections that are sharded by `_key` or that only have a single shard. Reimplemented replication view in web UI. Internal : ui, document id not showing up when deleting a document. Internal : wrong labels within foxx validation of service. Input parameters Internal : misplaced tooltips in indices view. Added new arangoinspect client tool, to help users and customers easily collect. Information of any ArangoDB server setup, and facilitate troubleshooting for the ArangoDB Support Team.
3.3.1007 Jun 2018 14:25 minor bugfix: Make optimizer rule "remove-filter-covered-by-index" not stop after removing a sub-condition from a FILTER statement, but pass the optimized FILTER. Statement again into the optimizer rule for further optimizations. This allows optimizing away some more FILTER conditions than before. Allow accessing /_admin/status URL on followers too in active failover setup. Cluster COLLECT optimization for attributes that were in "sorted" variant of COLLECT and that were provided by a sorted index on the collected attribute. Apply fulltext index optimization rule for multiple fulltext searches in. The same query This https://stackoverflow.com/questions/50496274/two-fulltext-searches-on-arangodb-cluster-v8-is-involved. Validate `_from` and `_to` values of edges on updates consistently. : Unexpected AQL Result. : Frequent 'updated local foxx repository' messages. : Empty result if FULLTEXT() is used together with LIMIT offset. : a vulnerability within the web ui's index view. Inception was ignoring leader's configuration.
3.3.923 May 2018 04:05 minor documentation: Added `/_admin/repair/distributeShardsLike` that repairs collections with. DistributeShardsLike where the shards aren't actually distributed like in the Prototype collection, as could happen due to internal Foxx queues when queues are created in a request handler with an ArangoDB authentication header. Upgraded arangosync version to 0.5.1. Upgraded arangodb starter version to 0.11.3. Cluster upgrading introduced in 3.3.8. The made arangod crash when starting a DB server with option. `--database.auto-upgrade true`. C++ implementation of AQL ZIP function to return each distinct attribute. Name only once. The previous implementation added non-unique attribute names Multiple times, which led to follow-up. Now if an attribute name occurs multiple times in the input list of attribute. Names, it will only be incorporated once into the result object, with the Value that corresponds to the first occurrence. This also changes the V8 implementation of the ZIP function, which now. Will always return the first value for non-unique attribute names and not the Last occurring value. Self heal during a Foxx service install, upgrade or replace no longer breaks. The respective operation Make /_api/index, /_api/database and /_api/user REST handlers use the scheduler's. Internal queue, so they do not run in an I/O handling thread : C++ implementation of LIKE function now matches the old and. Correct behavior of the JavaScript implementation. Added REST API endpoint /_admin/server/availability for monitoring purposes. UI: an unreasonable event within the modal view engine. : gharial api is now checking existence of _from and _to vertices. During edge creation Internal : number of documents in the UI is not adjusted after. Moving them Internal : UI - loading a saved query does not update the list of bind parameters. Internal database filter in UI. : Wrong used GeoIndex depending on FILTER order. Added `query` and `aql.literal` helpers to `@arangodb` mod
3.2.1517 May 2018 09:05 minor bugfix: Upgraded arangodb starter version to 0.11.2. Make /_api/index and /_api/database REST handlers use the scheduler's internal. Queue, so they do not run in an I/O handling thread : gharial api is now checking existence of _from and _to vertices. During edge creation
3.3.828 Apr 2018 03:15 minor bugfix: Added arangod startup option `--dump-options` to print all configuration parameters as a JSON object. : (Enterprise only) If you restore a SmartGraph where the collections. Are still existing and are supposed to be dropped on restore we ended up in Duplicate name error. This is now gone and the SmartGraph is correctly restored. Lookups by `_id` in smart graph edge collections. Improve startup resilience in case there are datafile errors (MMFiles). Also allow repairing broken VERSION files automatically on startup by. Specifying the option `--database.ignore-datafile-errors true` : UI query editor now supports usage of empty string as bind parameter value. Internal : Number of documents found by filter is misleading in web UI. Added startup option `--database.required-directory-state`. Using this option it is possible to require the database directory to be in a specific state on startup. the options for this value are: Non-existing: database directory must not exist. Existing: database directory must exist. Empty: database directory must exist but be empty. Populated: database directory must exist and contain specific files already. Any: any state allowed. Field " schema" in Foxx manifest.json files no longer produce warnings. Added `@arangodb/locals` module to expose the Foxx service context as an. Alternative to using `module.context` directly. Supervision can be put into maintenance mode.
3.2.1424 Apr 2018 06:45 minor feature: Field " schema" in Foxx manifest.json files no longer produce warnings. Added `@arangodb/locals` module to expose the Foxx service context as an. Alternative to using `module.context` directly. The internal implementation of REST API `/_api/simple/by-example` now uses C++ instead of JavaScript. Supervision can be switched to maintenance mode f.e. for rolling upgrades.
3.2.1317 Apr 2018 10:05 minor bugfix: Improve startup resilience in case there are datafile errors (MMFiles). Also allow repairing broken VERSION files automatically on startup by. Specifying the option `--database.ignore-datafile-errors true` : UI query editor now supports usage of empty string as bind parameter value. : removeFollower now prefers to remove the last follower(s). : Wrong used GeoIndex depending on FILTER order. The bahaviour of clusterinfo when waiting for current to catch up with plan in create collection. For internal. supervision will now wait for agent to. Fully prepare before adding 10 second grace period after leadership change Interal FailedLeader timeout.
3.3.713 Apr 2018 03:15 minor bugfix: Added hidden option `--query.registry-ttl` to control the lifetime of cluster AQL. Query parts Internal : AQL queries on collections with replicationFactor: "satellite" crashed arangod in single server mode. Restore of satellite collections: replicationFactor was set to 1 during. Restore Dump and restore of smart graphs: a) The dump will not include the hidden shadow collections anymore, they were dumped. Accidentially and only contain duplicated data. b) Restore will now ignore hidden shadow collections as all data is contained in the smart-edge collection. You can manually include these collections from an. Old dump (3.3.5 or earlier) by using `--force`. c) Restore of a smart-graph will now create smart collections properly instead of getting into `TIMEOUT_IN_CLUSTER_OPERATION`. in AQL query optimizer rule "restrict-to-single-shard", which. May have sent documents to a wrong shard in AQL INSERT queries that specified The value for `_key` using an expression (and not a constant value) Important: if you were affected by this in v3.3.5 it is required that you. Recreate your dataset in v3.3.6 (i.e. dumping and restoring) instead of doing a simple binary upgrade. Added /_admin/status HTTP API for deging purposes. Added ArangoShell helper function for packaging all information about an AQL query so it can be run and analyzed elsewhere: Query = "FOR doc IN mycollection FILTER doc.value 42 RETURN doc";. Require("@arangodb/aql/explainer").deDump("/tmp/query-de-info", query); Entitled users can send the generated file to the ArangoDB support to facilitate. Reproduction and deging. Added hidden option `--server.ask-jwt-secret`. This is an internal option. For deging and should not be exposed to end-users. For internal. supervision will now wait for agent to. Fully prepare before adding 10 second grace period after leadership change Internal 's FailedLeader timeout.
3.3.529 Mar 2018 06:45 minor bugfix: : Wrong used GeoIndex depending on FILTER order. Make build id appear in startup log message alongside with other version info. Make AQL data modification operations that are sent to all shards and that are. Supposed to return values (i.e. `RETURN OLD` or `RETURN NEW`) not return fake Empty result rows if the document to be updated/replaced/removed was not present on the target shard. Added AQL optimizer rule `restrict-to-single-shard`. This rule will kick in if a collection operation (index lookup or data. Modification operation) will only affect a single shard, and the operation can be Restricted to the single shard and is not applied for all shards. This optimization Can be applied for queries that access a collection only once in the query, and that do not use traversals, shortest path queries and that do not access collection data. Dynamically using the `DOCUMENT`, `FULLTEXT`, `NEAR` or `WITHIN` AQL functions. Additionally, the optimizer will only pull off this optimization if can safely. Determine the values of all the collection's shard keys from the query, and when the Shard keys are covered by a single index (this is always true if the shard key is The default `_key`) Display missing attributes of GatherNodes in AQL explain output. Make AQL optimizer rule `undistribute-remove-after-enum-coll` fire in a few. More cases in which it is possible Slightly improve index selection for the RocksDB engine when there are multiple. Competing indexes with the same attribute pre, but different amount of Attributes covered. In this case, the more specialized index will be preferred Now : removeFollower now prefers to remove the last follower(s). Added "collect-in-cluster" optimizer rule to have COLLECT WITH COUNT queries. Without grouping being executed on the DB servers and the coordinator only summing up the counts from the individual shards. : Nested FOR query uses index but ignores other filters. Properly exit v8::Context in one place where i
3.3.408 Mar 2018 06:05 minor bugfix: AQL `fullCount` result value in some cluster cases when it was off a bit. : Simple query taking forever until a request timeout error. : incomplete content type header. Vastly improved the Foxx Store UI. : AQL WITH with bind parameters results in "access after data-modification". For two independent UPSERTs Remove unused startup option `--ldap.permissions-attribute-name`. : create /var/tmp/arangod with correct user in supervisor mode. Remove long disfunctional admin/long_echo handler. Foxx API: PUT /_api/foxx/service: Respect force flag. PATCH /_api/foxx/service: Check whether a service under given mount exists. Internal : supervision failed to remove multiple servers. From health monitoring at once. More information from inception, why agent is activated. a where supervision tried to deal with shards of virtual collections. Behaviour of permissions for databases and collections changed: The new fallback rule for databases for which an access level is not explicitly specified: Choose the higher access level of: A wildcard database grant. A database grant on the `_system` database The new fallback rule for collections for which an access level is not explicitly specified: Choose the higher access level of: Any wildcard access grant in the same database, or on "*/*". The access level for the current database. The access level for the `_system` database. Internal : collection creation using distributeShardsLike yields. Errors and did not distribute shards correctly in the following cases: 1. If numberOfShards replicationFactor nrDBServers != 0. (shards replication is not divisible by DBServers). 2. If there was failover / move shard case on the leading collection. And creating the follower collection afterwards. Timeout in replication client expiration. Added missing edge filter to neighbors-only traversals in case a filter condition was moved into the traverser and the traversal was. Executed in breadth-first mode and was returning
3.2.1122 Jan 2018 03:15 minor bugfix: an with the index estimates in RocksDB in the case a transaction is aborted. Former the index estimates were modified if the transaction commited or not. Now they will only be modified if the transaction commited successfully. Truncate in RocksDB will now do intermediate commits every 10.000 documents if truncate fails or the server crashes during this operation all deletes. That have been commited so far are persisted. : Crash when getter for error.name throws an error (on Windows). UI: a query editor caching and parsing for arrays and objects. Internal : Web UI: saving arrays/objects as bind parameters faulty. Internal : an UI where a collection name gets wrongly cached. Within the documents overview of a collection. : Permission error preventing AQL query import / export on webui. UI: optimized login view for very small screen sizes. UI: Shard distribution view now has an accordion view instead of displaying. All shards of all collections at once. UI: optimized error messages for invalid query bind parameter. Missing transaction events in RocksDB asynchronous replication. : AQL SORT consuming too much memory. : Internal failure: JavaScript exception in file 'arangosh.js' at 98,7: ArangoError 4: Expecting type String. : Foxx configuration keys cannot contain spaces (will not save). UI: displayed wrong "waitForSync" property for a collection when. Using RocksDB as storage engine Prevent binding to the same combination of IP and port on Windows. Incorrect persistence of RAFT vote and term.
3.3.209 Jan 2018 03:15 minor bugfix: : Internal failure: JavaScript exception in file 'arangosh.js' at 98,7: ArangoError 4: Expecting type String. in agency supervision with a good server being left in. FailedServers Distinguish isReady and allInSync in clusterInventory. : AQL statement not working in 3.3.1 when upgraded from 3.2.10. do not reuse collection ids when restoring collections from a dump, but assign new collection ids, this should prevent collection id conflicts.
3.3.130 Dec 2017 03:15 minor bugfix: UI: displayed wrong wfs property for a collection when using rocksdb as storage engine. Added `--ignore-missing` option to arangoimp. This option allows importing lines with less fields than specified in the CSV Header line Changed misleading error message from "no leader" to "not a leader". Optimize usage of AQL FULLTEXT index function to a FOR loop with index. Usage in some cases When the optimization is applied, this especially speeds up fulltext index. Queries in the cluster UI: improved the behavior during collection creation in a cluster environment. Agency lockup for very small machines. Agency performance improvement by finer grained locking. Use steady_clock in agency whereever possible. Agency prevent Supervision thread crash. Agency integer overflow in timeout calculation.
3.2.1025 Dec 2017 03:15 minor bugfix: Replication: more robust initial sync. a in the RocksDB engine that would prevent recalculated. Collection counts to be actually stored : Inconsistent query execution plan. : Executing empty query causes crash. : Out of memory in `arangorestore` when no access. Rights to dump files : New Graph: Edge definitions with edges in. FromCollections and toCollections : UI: when following wrong link from edge to vertex in. Nonexisting collection misleading error is printed UI: improved the behavior during collection creation in a cluster environment. UI: the graph viewer backend now picks one random start vertex of the. First 1000 documents instead of calling any(). The implementation of Any is known to scale bad on huge collections with rocksdb. Snapshots becoming potentially invalid after intermediate commits in. The RocksDB engine Backport agency inquire API changes. : Field validation error in ArangoDB UI - Minor. UI: disappearing of the navigation label in some cases. : limit in subquery. UI: : disabled name input field for system collections. UI: edge collections were wrongly added to from and to vertices select. Box during graph creation : terminal color output in Windows. : traversals with high maximal depth take extremely long in planning phase. Equality comparison for MMFiles documents in AQL functions UNIQUE. And UNION_DISTINCT
3.2.905 Dec 2017 03:15 minor bugfix: Under certain conditions, replication could stop. Now by adding an equality check for requireFromPresent tick value. Locking for replication context info in RocksDB engine. This undefined behavior when parallel requests are made to the Same replication context UI: added not found views for documents and collections. : Foxx queues stuck in 'progress' status. Allow compilation of ArangoDB source code with g++ 7. : in the Foxx microservices examples. a deadlock in user privilege/permission change routine. a deadlock on server shutdown. Some collection locking in MMFiles engine. Properly report commit errors in AQL write queries to the caller for the RocksDB engine. UI: optimized error messages for invalid graph definitions. Also a. Graph renderer cleanrenderer cleanup error. UI: document/edge editor now remembering their modes (e.g. code or tree). UI: added a delay within the graph viewer while changing the colors of the. Graph. Necessary due different browser behaviour. Removal of failed cluster nodes via web interface. Back port of ClusterComm::wait in devel. Among other things this too eager dropping of other followers in case One of the followers does not respond in time Transact interface in agency should not be inquired as of now.
3.2.820 Nov 2017 16:05 minor bugfix: a race condition occuring when upgrading via linux package manager. Authentication during replication.
3.2.716 Nov 2017 03:15 minor bugfix: Cluster customers, which have upgraded from 3.1 to 3.2 need to upgrade to 3.2.7. The cluster supervision is otherwise not operational. : AQL with path filters returns unexpected results In some cases breadth first search in combination with vertex filters. Yields wrong result, the filter was not applied correctly. Enable JEMalloc background thread for purging and returning unused memory. Back to the operating system (Linux only) Some undefined behavior in some internal value caches for AQL GatherNodes. And SortNodes, which could have led to sorted results being effectively not Correctly sorted. Make the replication applier for the RocksDB engine start automatically after a. Restart of the server if the applier was configured with its `autoStart` property Set to `true`. previously the replication appliers were only automatically restarted at server start for the MMFiles engine. Arangodump batch size adaptivity in cluster mode and upped default batch size. For arangodump These changes speed up arangodump in cluster context. Smart graphs now return a proper inventory in response to replication inventory. Requests : Inconsistent behavior of OR statement with object bind parameters. Only users with read/write rights on the "_system" database can now execute. "_admin/shutdown" as well as modify properties of the write-ahead log (WAL). Increase default maximum number of V8 contexts to at least 16 if not explicitly. Configured otherwise. The procedure for determining the actual maximum value of V8 contexts is unchanged Apart from the value `16` and works as follows: if explicitly set, the value of the configuration option `--javascript.v8-contexts` is used as the maximum number of V8 contexts. When the option is not set, the maximum number of V8 contexts is determined by the configuration option `--server.threads` if that option is set. if. `--server.threads` is not set, then the maximum number of V8 contexts is the. Server's reported hardware co
3.1.2810 Nov 2017 03:15 minor bugfix: : Engine restart unexpectedly multiple times a day. : LogBuffer in case of too many messages. potential overflow in CRC marker check when a corrupted CRC marker is found at the very beginning of an MMFiles datafile. Double compaction runs. Used the required mutex in Store::clear to avoid races.
3.2.628 Oct 2017 16:25 minor bugfix: UI: event cleanup in cluster shards view. UI: reduced cluster dashboard api calls. a permission problem that prevented collection contents to be displayed in the web interface. Removed posix_fadvise call from RocksDB's PosixSequentialFile::Read(). This is. Consistent with Facebook PR 2573 This should improve the performance of the replication with the RocksDB. Storage engine Allow changing of collection replication factor for existing collections. Several for the cluster agency. Undefined behavior in the RocksDB-based geo index. Foxxmaster failover. Purging or removing the Debian/Ubuntu arangodb3 packages now properly stops. The arangod instance before actuallying purging or removing
3.2.520 Oct 2017 03:15 minor bugfix: : Hard crash in query for pagination. Minimum number of V8 contexts in console mode must be 2, not 1. this is. Required to ensure the console gets one dedicated V8 context and all other Operations have at least one extra context. This requirement was not enforced Anymore. : AQL: cannot instantiate CollectBlock with undetermined. Aggregation method UI: wrong user attribute name validation, potential overflow in CRC marker check when a corrupted CRC marker is found at the very beginning of an MMFiles datafile. UI: unresponsive events in cluster shards view. Add statistics about the V8 context counts and number of available/active/busy. Threads we expose through the server statistics interface. Cherry picked for missing entries in agency log from devel.
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.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.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.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.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.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