И это всё МОЁ

Прошу помочь в тестировании key-value движка MDBX.
Хватит даже полудохлой (в разумных пределах) виртуалки с установленным компилятором C++ и make.


Достаточно клонировать репозиторий и запустить «на выходные» скрипт, т.е. выполнить три команды:


git clone github.com/leo-yuriev/libmdbx
cd libmdbx
./test/long_stochastic.sh


ВАЖНО: будет почищен каталог /dev/shm !!!
Поэтому, если у вас работает какой-нибудь postgresql, то его следует остановить.
Как вариант - закомментировать в скрипте соответствующую строку.


Немного пояснений:



  • тест стохастический «от легкого к тяжелому».

  • тест работает в памяти, потому нагрузит memory bandwidth и CPU, но не диск.

  • тест сам подстроится под размер ОЗУ.

  • тест можно считать «бесконечным» и прервать/перезапустить когда он станет мешать.

  • чем больше (суммарно) отработает тест, тем тщательнее будет проверка.


В случае сбоя нужно быть готовым предоставить инфу:



  • «последний экран» вывода в терминал и lz4-файл из /dev/shm.

  • минимальную информацию о системе (версию компилятора и т.п.)

  • технически это лучше делать через заведение issue на github, а остальные варианты обсуждать здесь.


На всякий:



  • комбинаторная сложность возможных состояний БД и последовательности операций такова, что примерно невозможно проверить все варианты.

  • в такой ситуации стохастический тест (со случайным поведением) является разумным компромиссом.

  • соответственно, «коллективное стохастическое тестирование» будет плюсом к собственным тестам (которые периодически прогоняются по нескольку сотен часов).


Всем добра.