Поврежденные данные или индекс - PullRequest
0 голосов
/ 05 мая 2020

Мы недавно заметили, что эти ошибки возникают для одной из наших пограничных коллекций. Ни одна из рекомендаций по выгрузке и загрузке индекса не помогла.

Индекс, на который ссылается этот журнал ошибок, является индексом по умолчанию (_from, _to indexes), автоматически созданным ArangoDB, и я не контролирую его. Я думаю, это может объяснить, почему предложение по выгрузке / загрузке индекса не сработало.

Между тем, это не просто раздражает, из-за проблемы, некоторые запросы не дают результатов, которых мы ожидаем.

К сожалению, я не смог найти никаких предложений о том, как решить эту проблему, и мне интересно, могут ли разработчики 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
  }

1 Ответ

0 голосов
/ 05 мая 2020

Для тех, кому интересно узнать и найти ответы, этот вопрос может быть связан с моей проблемой. https://github.com/arangodb/arangodb/issues/11303 Ожидание подтверждения версии 3.6.4.

...