1
votes

I'm trying out ArangoDB and having some trouble. I successfully imported ~1.3 million documents and I'm trying to rearrange the document data in the database, but the following query (run through Arango shell) just slows Arango a crawl until eventually the shell gives me an error: [ArangoError 2001: Error reading from: 'tcp://127.0.0.1:8529' 'timeout during read']

FOR d IN DocumentCollection
    UPDATE d WITH {'uid': d.property1.property2} IN DocumentCollection

Should this query work? Am I doing something wrong? Is there some way to speed it up?

1
The query itself looks ok (apart from the semicolon at the end, which will throw a parse error). If it does not complete within a reasonable time, I guess that the system is I/O bound, probably because it is running out of RAM and swapping. If you can configure your system so that the updates will fit in RAM, too, that might help.stj

1 Answers

2
votes

It is (still) working. You can use the queries Module to observe the query in action.

You can make arangosh wait more patiently with the --server.request-timeout - option.

The performance problem here is, that the whole collection has to be loaded into memory for this operation - since it can't chunk that internally (yet). If you are able to splice that into a series of queries using FILTER and ranges, you'd probably be faster at your target.