Вести с полей
С 15 июня было запущено большое тестирование. Все тесты основой тестовой систему (их там за 8 млн).
Сразу на двух базах — с первым и третьим диалектами. То есть работают два тестовых процесса. В каждом по 4 потока.
Эксперимент не является «чистым», поскольку на этом сервере попутно много раз запускались другие многодневные тесты. Разумеется на других файлах баз данных.
В качестве подопытных кроликов, используются IBProvider 3.50.1.28665 x64 и Firebird 3.0.4.32985 x64 SS.
Каждый час отрабатывает сборка мусора для каждой из баз данных.
Пока обнаружена только одна новая «проблема». Достаточно забавная. С базой данных первого диалекта.
[THR:032792] [13.07.2018 22:41:20] [test] insert records ... [THR:032792] [13.07.2018 22:41:21] ERROR: [test] RecNum:769 [THR:032792] [13.07.2018 22:41:21] ERROR: [blob.002.cmd.disable_defer_data.ansi.TBL_CS__NONE.COL_BLOB.param_adLongVarWChar.bind__iunknown_byref.small.len_2.chars_CP943C.ins_UTF8.sel_CP943C.block_1] Execution of command 1. [LCPI.IBProvider.3]: Ошибка формирования ib-значения входящего параметра. Позиция 1. Конвертирование из [DBTYPE_I8] в [DBTYPE_I4]. COM Error Code: DB_E_DATAOVERFLOW
Произошло переполнение генератора, а тесты этот момент не прорюхали. Сейчас значение проблемного генератора равно -407 014 391.
В остальном все нормально.
Уже проехало по 7 млн тестов. Базы не пухнут.
Текущее состояние сервера выглядит так:
Оставайтесь на связи и вы узнаете финал этого эпического тестирования 🙂
Dmitry Kovalenko on 5 августа, 2018
Все закончилось достаточно смешным образом.
Я забыл закрыть IBE с открытым подключением к базе данных первого диалекта. Понятное дело — с активной транзакцией.
В результате эта база выжрала место на RAM-диске и кино закончилось.
Тесты с базой первого диалекта закончились без проблем. В том смысле, что процесс смог нормально завершиться.
А вот тестам с базой третьего диалекта не повезло. Журнал Windows говорит следующее:
И с этим нужно будет еще разбираться.
Сервер пережил произошедшую катастрофу без проблем 🙂