0
votes

We have recently noticed these errors being thrown for one of our edge collections. None of the recommendations to unload and load index back helped.

The index that this error log referenced is the default index (_from, _to indexes) created by ArangoDB automatically and I have no control of. I think this might explain why index unload/load suggestion didn't work.

In the meantime, this is not just an annoyance, due to the issue certain queries don't produce results that we expect.

Unfortunately, I could not find any suggestions on how to address the issue, and I'm wondering if ArangoDB devs can suggest a solution?

The error logs I was referring to

2020-04-10T03:44:10Z [1] ERROR [3acb3] {graphs} Could not extract indexed edge document, return 'null' instead. This is most likely a caching issue. Try: 'db.contributor_action.unload(); db.contributor_action.load()' in arangosh to fix this.
2020-04-10T03:44:10Z [1] ERROR [3acb3] {graphs} Could not extract indexed edge document, return 'null' instead. This is most likely a caching issue. Try: 'db.contributor_action.unload(); db.contributor_action.load()' in arangosh to fix this.
2020-04-10T03:44:10Z [1] ERROR [3acb3] {graphs} Could not extract indexed edge document, return 'null' instead. This is most likely a caching issue. Try: 'db.contributor_action.unload(); db.contributor_action.load()' in arangosh to fix this.
2020-04-10T03:44:10Z [1] ERROR [3acb3] {graphs} Could not extract indexed edge document, return 'null' instead. This is most likely a caching issue. Try: 'db.contributor_action.unload(); db.contributor_action.load()' in arangosh to fix this.
2020-04-10T03:44:10Z [1] ERROR [3acb3] {graphs} Could not extract indexed edge document, return 'null' instead. This is most likely a caching issue. Try: 'db.contributor_action.unload(); db.contributor_action.load()' in arangosh to fix this.

AQL example that exposes the issue

LET c1 = (
    FOR ca in contributor_action 
        COLLECT WITH COUNT INTO count 
    RETURN count
)[0]

LET c2 = (
    FOR ca in contributor_action
        FOR c IN contributor FILTER ca._from == c._id
    COLLECT WITH COUNT INTO count 
    RETURN count
)[0]

RETURN {c1, c2}

Result shows the discrepancy between AQL execution with the index and without

  {
    "c1": 1123421,
    "c2": 1121787
  }
1

1 Answers

0
votes

For those who are interested to know and looking for answers, this issue might be related to my problem. https://github.com/arangodb/arangodb/issues/11303 Waiting for the 3.6.4 release to confirm.