我们最近注意到我们的一个边缘集合被抛出了这些错误.卸载和加载索引的建议都没有帮助。
这个错误日志引用的索引是ArangoDB自动创建的默认索引(_from,_to索引),我无法控制。我想这也许可以解释为什么索引卸载建议没有用。
同时,这不仅仅是一个烦恼,由于这个问题,某些查询不会产生我们期望的结果。
不幸的是,我找不到任何关于如何解决这个问题的建议,我想知道ArangoDB的开发人员是否可以提出解决方案?
我所指的错误日志
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例子
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}
结果显示了有索引和没有索引的AQL执行之间的差异。
{
"c1": 1123421,
"c2": 1121787
}
对于那些有兴趣知道并寻找答案的人来说,这个问题可能与我的问题有关。https:/github.comarangodbarangodbissues11303等待3.6.4版本确认。