Pull to refresh
2
0
Александр @alex_brightside

User

Send message

Как мы отлавливаем флаки-тесты в СУБД Platform V Pangolin. Показываю бэкенд решения

Reading time5 min
Views2.3K

Красные тесты — это неприятно, но есть кое-что похуже — тесты, которые то красные, то зеленые. С флаки-тестами сталкивается каждый продукт. И чем больше вы тестируете, тем больше мучительных выяснений, какие тесты — флаки, а какие — нет.

Меня зовут Александр Милов, я отвечаю за тестирование в Platform V Pangolin — это основная СУБД в Сбере, специальная сборка PostgreSQL, созданная для хранения и обработки данных в высоконагруженных приложениях.

Мы начали делать Pangolin в 2019 году. Долгое время флаки-тесты анализировались вручную, а информация о них передавалась от тестировщика к тестировщику каждую неделю. По мере роста числа тестов это перестало быть возможным (одно дело — отслеживать так 5–10 тестов, другое — 30–50). Сейчас мы запускаем 5000 тестов, и в таких масштабах за всеми флаки не уследишь без автоматизации.

Поэтому полгода назад мы сделали свой велосипед флаки-анализатор. Я покажу основные его детали под капотом. Надеюсь, это будет полезно командам тестирования, которые раздумывают о похожем инструменте. Прошу под кат.

Читать далее
Total votes 17: ↑16 and ↓1+24
Comments0

Как найти и удалить 2 Тб ненужных файлов, которые не видит СУБД? Дорабатываем pg_orphaned

Level of difficultyHard
Reading time22 min
Views5.1K

PostgreSQL, как и все СУБД, основанные на его открытом коде, устроен так, что всю информацию хранит в большом количестве отдельных файлов. И они при разных обстоятельствах могут потеряться. Например, бывает так, что при заполнении таблицы или обработке транзакции происходит сбой. Процесс, породивший файл, прерывается, не удалив результаты своей работы. СУБД про этот файл ещё ничего не знает, поскольку транзакция, создавшая его, не успела закоммититься. Часть таких файлов удалится при перезапуске СУБД, а часть — нет. Так неиспользуемые файлы копятся и занимают всё больше места. Иногда их объём исчисляется терабайтами.

Меня зовут Роман Дягелев, я инженер в СберТехе, сопровождаю и разрабатываю СУБД Platform V Pangolin. Наш продукт основан на открытых решениях PostgreSQL и включает в себя собственные доработки в области безопасности, отказоустойчивости и удобства эксплуатации. Я расскажу о том, почему нам не хватило готового инструмента PostgreSQL для очистки файлового мусора и как я вместе с коллегами дорабатывал его. Надеюсь, наш опыт станет полезен тем, кто работает с инструментарием PostgreSQL и ищет решения для работы с ненужными файлами.

Читать далее
Total votes 13: ↑13 and ↓0+17
Comments2

Information

Rating
Does not participate
Location
Россия
Registered
Activity