В Fri, 16 Feb 2024 19:59:17 +0300
Dmitrii Kashin <free...@gmail.com> пишет:


> Что бы сказал Фредерик Брукс на такое расточительство? =)

Фредерик Брукс нам еще ответит за украденный 32-бит из архитектуры s390;-)
(почему-то и спарк и power и arm 32-битные, а IBM-овские мейнфреймы -
31 битные)

> 
> А если серьёзно, Вы почему-то делаете предположение, что у нас нет
> нормальных тест-сьютов. Но это ошибочно. Если мы будем полный
> тест-сьют на каждую сборку запускать, то вы же, разработчики, первые
> прибежите с претензиями "а что так долго сборку ждать, я никак таску
> не могу закрыть, а с меня уже требуют". В общем, обычно в фичбранче
> прогоняются только юнит-тесты, а полный тест-сьют запускает уже QA
> перед мерджем.

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

Поэтому я, кстати, никогда не пытался стать мейнтейнером своих
программ, которые попали в Debian. Потому что им я разработчик, а не
мейнтейнер. 

Как сказал Эрик Раймонд, "Given enough eyeballs all bugs are shallow".
Вот одна пара - это точно не enough. Поэтому вторая пара глаз -
мейнтейнера, который смотрит на код с другой точки зрения, чем
разработчик, необходима.

У разработчика на машине, и даже на общем для команды разработчиков VCS
хосте где запускаются тесты на коммиты во фича-ветки, совершенно не
обязательно иметь чистую среду. Там все -dev пакеты могут быть заранее
поставлены. Но у них там будет от силы пяток разных сред. Именно в силу
необходимости балансирования скорости прогона и широты покрытия.

А вот на этапе пакетирования, где контролируется правильность написания
spec или debian/control - там нужны воспроизводимые билды в
воспроизводимой среде. 

И тестовые среды тоже должны быть воспроизводимыми. Раскатываться из
архива образов перед каждым запуском.

И здесь уже будет 30 дистрибутивов для 5 аппаратных архитектур.

Впрочем у нас еще есть между этими двумя стадиями промежуточная, где
максимальная широта охвата, то есть тестируются даже системы которые мы
не поддерживаем и поддерживать не собираемся. Просто потому что баги
которые вылезут на Solaris/Sparc сразу на x86_64 могут не замечаться
годами а просто сажать производительность.


> И работает, кстати, я подтверждаю. Но со стороны эксплуатации к
> Вашему, Виктор, продукту -- на самом деле есть вопросы.
> 
> Например, почему нет официального решения для построения HA-кластера?
> Или почему есть официальная тулза для promote, а для demote -- нету?

В нашем продукте - PostgresPro Enterprise и то, и другое уже есть.

https://postgrespro.ru/docs/enterprise/16/biha


А в апстримовском опенсурсном постгресе есть только то, с
необходимость чего согласны все разработчики участвующие в сообществе.

А тут у нас, EnterpriseDB и 2nd Quadrant есть разные мнения. И
проталкивание какой-нибудь разработанной нами фичи иногда занимает годы.
Так было например с covering indexes, которые у нас были еще в 9.5, а в
апстрим были вмержены по-моему в 10. И не потому что мы их зажимали -
на коммитфесте они висели.

В конкретном случае  HA-кластера у разных пользователей очень разные
требования и одним "официальным" решением всех не удовлетворишь.
Поэтому и расцветают все цветы.


> 



-- 
                                   Victor Wagner <vi...@wagner.pp.ru>

Ответить