ArangoDB v3.3.13 Release Notes
Release Date: 2018-07-26 // almost 6 years ago-
🛠 fixed internal issue #2567: the Web UI was showing the possibility to move a shard from a follower to the current leader
🛠 fixed issue #5977: Unexpected execution plan when subquery contains COLLECT
🛠 Bugfix: The AQL syntax variants
UPDATE/REPLACE k WITH d
now correctly take _rev from k instead of d (when ignoreRevs is false) and ignore d._rev.put an upper bound on the number of documents to be scanned when using
db.<collection>.any()
in the RocksDB storage engine
previous versions of ArangoDB did a scan of a random amount of documents in the collection, up to the total number of documents available. this produced a random selection with a good quality, but needed to scan half the number of documents in the collection on average.
The new version will only scan up to 500 documents, so it produces a less random result, but will be a lot faster especially for large collections.
The implementation of
any()
for the MMFiles engine remains unchanged. The MMFiles engine will pick a random document from the entire range of the in-memory primary index without performing scans.👻 return an empty result set instead of an "out of memory" exception when querying the geo index with invalid (out of range) coordinates
➕ added load balancer support and user-restriction to cursor API.
If a cursor is accessed on a different coordinator than where it was created, the requests will be forwarded to the correct coordinator. If a cursor is accessed by a different user than the one who created it, the request will be denied.
- keep failed follower in followers list in Plan.
This increases the changes of a failed follower getting back into sync if the follower comes back after a short time. In this case the follower can try to get in sync again, which normally takes less time than seeding a completely new follower.
🛠 fix assertion failure and undefined behavior in Unix domain socket connections, introduced by 3.3.12
➕ added configuration option
--rocksdb.sync-interval
This option specifies interval (in milliseconds) that ArangoDB will use to automatically synchronize data in RocksDB's write-ahead log (WAL) files to disk. Automatic syncs will only be performed for not-yet synchronized data, and only for operations that have been executed without the waitForSync attribute.
Automatic synchronization is performed by a background thread. The default sync interval is 0, meaning the automatic background syncing is turned off. Background syncing in 3.3 is opt-in, whereas in ArangoDB 3.4 the default sync interval will be 100 milliseconds.
Note: this option is not supported on Windows platforms. Setting the sync interval to a value greater 0 will produce a startup warning.
🛠 fixed graph creation sometimes failing with 'edge collection already used in edge def' when the edge definition contained multiple vertex collections, despite the edge definitions being identical
🔧 inception could get caught in a trap, where agent configuration version and timeout multiplier lead to incapacitated agency
🛠 fixed issue #5827: Batch request handling incompatible with .NET's default ContentType format
🛠 fixed agency's log compaction for internal issue #2249
inspector collects additionally disk data size and storage engine statistics