Арангодумп пропускает некоторые данные - PullRequest
0 голосов
/ 21 ноября 2018

Я использую arangodb 3.1.25.Я обнаружил, что некоторые данные пропускаются в каталоге дампа после выполнения такой команды с помощью 'arangodump':

arangodump --server.endpoint tcp://address:port --server.database DbName --dump-data true --server.password=**** --include-system-collections true --output-directory "dump" -overwrite true

Пример пропущенных данных:

В исходной базе данных (назовем ее'test') У меня есть такие документы в коллекции 'interchange_edges':

{"_from":"interchange_headers/66430","_to":"parts/64020","type":"interchange"}

{"_from":"interchange_headers/66430","_to":"parts/44474","type":"interchange"}

{"_from":"interchange_headers/66430","_to":"parts/48761","type":"interchange"}

Затем я выполняю дамп с помощью инструкции, указанной выше, и затем я открываю файл с сохраненными данными для своей коллекции.В моем случае это имя interchange_edges_7d8fd33864b65edab6a05b838483239b.data.json.Затем я ищу в этом файле по подстроке «66430», потому что все исходные записи имеют эту подстроку.В результате я нашел такие совпадения:

{"type":2300,"data":{"_from":"interchange_headers/66430","_id":"interchange_edges/66430_64020","_key":"66430_64020","_rev":"_V8MSKAS--C","_to":"parts/64020","type":"interchange"}}

{"type":2300,"data":{"_from":"interchange_headers/66430","_id":"interchange_edges/66430_64020","_key":"66430_64020","_rev":"_V8MSKAS--C","_to":"parts/64020","type":"interchange"}}

{"type":2300,"data":{"_from":"interchange_headers/66430","_id":"interchange_edges/66430_64020","_key":"66430_64020","_rev":"_V8MSKAS--C","_to":"parts/64020","type":"interchange"}}

Каким-то образом у меня есть 3 (дублированные?) Строки вместо 3 разных строк, как и ожидалось.

Что может вызвать такое поведение?Я пропустил что-то критическое?

Некоторая информация об окружающей среде: arangosh (ArangoDB 3.1.25 [linux] 64-битная, с использованием VPack 0.1.30, ICU 54.1, V8 5.0.71.39, OpenSSL 1.0.1f 6 января 2014 г.)

1 Ответ

0 голосов
/ 27 февраля 2019

Обратите внимание, что ArangoDB 3.1 уже давно не существует .

Проблемы, описанные ниже, относятся к MMFiles-Storageengine.

В начале дампа ArangoDump вызовет механизм очистки коллекции wal.

Это позволит собрать все документы из WAL-файлов в их конкретные файлы данных.После некоторого ожидания, пока сервер завершит это, ArangoDump начнет рисовать файлы коллекции с сервера.

Документы, которые не были собраны из wAL-файлов в файлы коллекции, не будут частью дампа.

Следовательно, у вас есть несколько вариантов здесь:

  • Вы должны запустить последнюю версию серии релизов - 3.1.29 здесь.
  • запустить сборку WAL вручную и посмотреть, действительно ли сервер удаляет WAL-файлы.
  • сохранить резервную копию файлов базы данных и обновить до поддерживаемой версии ArangoDB
  • используйте более медленный ArangoExport более поздней версии ArangoDB для экспорта коллекции по коллекции
...