Хочу подсветить важный аспект: OpenTelemetry Gateway становится единой точкой отказа для всей телеметрии. При его падении, например при неправильном конфиге, теряются одновременно метрики, логи и трейсы — именно когда они больше всего нужны для разбора инцидента. При проблемах на стороне Tempo, Prometheus, Loki у OpenTelemetry будет переполнятся память и возможно он упадет. Этот риск нужно учитывать.
Формулировка "релиз на мне" говорит о слабой автоматизации и недостатке формализованных процессов. В зрелых DevOps-командах релиз ― это нажатие кнопки через CI/CD-процессы, а не ручная работа одного человека. Если кто-то год не релизил и процесс всё ещё сложен или слабо документирован, значит, и команда, и практики DevOps нуждаются в пересмотре. Лучше использовать trunk-based development вместо git flow или github flow, поскольку trunk-based development упрощает процессы интеграции, ускоряет выпуск изменений и снижает риски, связанные с долгоживущими ветками. Решение ― автоматизация релизов, актуализация документации и работа по trunk-based development: тогда роль отдельного человека исчезнет сама собой.
модули тут не играют особой роли- именно потому что они в нашем случае это код, а подход предпологает отделение данных и управление именно через данные.
Terraform модули, а также terragrunt — предполагает отделение данных и управление именно через данные.
Выгода достигаеться от наличия в гите множества плоских конфигов в которых только флаги или переменнные.
Что за плоские конфиги?
Просто представьте что терраформ для вас черная коробка- и все что вам надо знать - для создания нового кластера кубернетеса в новом регионе вам надо скопировать один yaml файл и отредактировать его, сохранить- и все остальное выполниться без вас. Еще раз этот файл не содержит код, а только кастомизацию в виде переменных и флагов.
для создания нового кластера кубернетеса в новом регионе вам надо скопировать один terragrunt.hcl файл и отредактировать его, сохранить- и все остальное выполниться без вас. Еще раз этот файл не содержит код, а только кастомизацию в виде переменных и флагов.
Суть подхода в том, чтобы описывать инфраструктуру с помощью данных — YAML, JSON, переменных
Не вижу отличий от Infrastructure as Code
а не менять код конфигурации вручную при малейшем изменении.
Не пойму эту мысль.
Вы просто меняете параметр(переменную), а все необходимые действия выполняет заранее написанный код или сервис.
Это terraform модули, helm чарты или operator в k8s.
В отличие от Infrastructure as Code (IaC), где изменения чаще всего касаются самого кода
Инфраструктура как код (Infrastructure as Code, IaC) — это подход к автоматизации и управлению инфраструктурой через использование кода. А используете через чистый terraform, через terraform модули, это личное дело каждого.
IaD предлагает отделить данные от логики.
Это terraform модули, helm чарты или operator в k8s.
Прочитав статью могу сказать что вы придумали terraform модули, helm чарты, operator в k8s.
1) Как может быть managed kubernetes, если вы облака не используете? 4) Вот список фич gitlab premium, которые могли бы закрыть часть проблем из статьи: • Merge Request Analytics - детальная аналитика кода, метрики производительности - что то вроде DORA метрик • Advanced Search - глобальный поиск по коду, коммитам, issues • Push Rules - продвинутые правила для коммитов и веток • Approval Rules - обязательные аппрувы от конкретных людей/групп
6) У вашей компании есть деньги на дорогой ELK и датадог, а на еще одного devops инженера денег нет. 9) Речь не бекенд, фронтенд 10) а oncall/pagerduty или аналог используется?
Соотношение кол-ва devops инженеров к разработчикам? Может ли разработчик сделать самостоятельно review стенд? У вас микросервисы или монолит?
Компания относится к банкам или финансам? Есть ли персональные или банковские данные?
Добавьте пожалуйста в статью технические детали: Используются ли облачные провайдеры или свое железо? Используется ли Kubernetes? Если используется Kubernetes, то какой? самосбор или managed решение? Используется ли платный GitLab ? Какие CI/CD инструменты используются для автоматизации сборки и деплоя? Какие инструменты мониторинга и логирования применяются в продакшене? Есть ли метрики Dora? Как часто происходят релизы? Какие метрики отслеживаются для оценки производительности приложений? Используется ли helm? Как организован incident management? Пишите ли постмортемы?
Соотношение кол-ва devops инженеров к разработчикам? Может ли разработчик сделать самостоятельно review стенд?
Фразу "DevOps у вас не внедрен" уже не уберу. Фраза некорректна. Нет признаков чтобы сказать внедрен или не внедрен DevOps. Скорее уровни зрелости DevOps в компании - https://habr.com/ru/articles/727568/
Однако нюанс ситуации в том, что баг возник из-за кривого конфига Nginx, который правился по хорошему на лету.
Для этого нужны dev, uat, staging окружения
Если бы devops-инженеры не коммуницировали через сервис деск и вызов дежурного через команду в слаке, а потом не требовали детальной постановки;
Не законченная фраза. Мысль не понятна.
У нас достаточно жестко проседали сроки и я долго не мог понять в чем дело
Ошибка руководства что не спросили почему так долго
Отправился бить челом к devops и оказывается наши выделенные раннеры больше не наши, а выдленные, ибо так им удобнее.
Надо было сразу спрашивать почему так долго. Выделенные скорее всего из-за денег.
На этом история застряла где-то на полгода.
DevOps тут причем? Мысль не раскрыта
Их день начинается с проверки Slack-бота дежурных
Проверки алертов, а не Slack-бота дежурных
Основные задачи - контролировать свободное место на дисках серверов, следить за успешным прохождением бэкапов, проверять корректность создания и масштабирования нод в ClickHouse и других кластерах
Основная задача - автоматизация
Для тестовых стендов действует жёсткий принцип: только DevOps могут создать или свичнуть окружение по заранее прописанным правилам
Это почему? можно сделать review окружение в новом namespace в kubernetes и установить в него приложение из feature ветки
Документация - это гигантская папка .md-файлов во внутренней вики, где все описано максимально кратко
Непонятно это плохо или хорошо. Раскройте мысль.
Общение почти исключительно через Jira-таски с детальными описаниями - неполные заявки сразу возвращают на доработку
А здесь что не так?
Еженедельные 20-минутные стендапы для планирования крупных работ по переездам, вне их встреч обсуждения считаются отвлечением
DevOps тут не причем. От человека зависит
Любая попытка изменить конфиги или Vault воспринимается как угроза стабильности и этоневашазонаотвественности
какие конфиги ? приложения?
Slack-каналы - закрытая экосистема для обсуждения только релевантных вопросов вопросов. Обычно есть группы Infra, Core, Alerts и бот для дежурств
А здесь что не так?
Вместо фото аватарки и на созвонах не включают камеру;
DevOps тут не причем. От человека зависит
Крайне рады в целом если созвона не будет или возможности с него уйти. Если звать на созвон, на котором они считают что не нужны - идут жаловаться CTO
DevOps тут не причем. От человека зависит
Иногда это доходит до того, что даже тимлидам разработчиков запрещают участвовать в обсуждениях или вносить изменения, ибо работает не трогай. Такая жесткая защита естественно создаёт ощущение особого статуса у DevOps.
Непонятно кто запрещает
Масло в огонь подливает то что часто (хотя возможно только в моем опыте было такое) у DevOps достаточно детализированный технический роадмап миграций на новые версии БД, настройки датацентров и тд., а у команд это отдано на самотек.
Так это плюс DevOps инженеров.
Но вместе с тем это только усиливает их замкнутость и создаёт дополнительный барьер между DevOps и остальными командами. Да и просто они бесить начинают. В итоге мы вступаем в цикл: devops изолируются→на них раздражаются→devops изолируются
Больше технических деталей пожалуйста и меньше эмоций
DevOps вырос из противостояния: разработка гнала фичи, админы держали прод на замке.
Что значит админы держали прод на замке?
Метрики успеха для DevOps обычно предельно просты:
аптайм (uptime)
среднее время до восстановления (MTTR)
иногда - скорость отката к предыдущей версии (если гитлаб на premium-плане, можно удобно мерить)
Где вы такое прочитали? У вас неполная и неправильное мнение о метриках успеха DevOps
Успех оценивается не по тому, насколько удобно работать другим командам, а по отсутствию аварий и стабильности сервисов.
Это у вас в соглашениях о разработке написано? или откуда вы это взяли?
Формализованные процессы воспринимаются как “бюрократия”, которую проще обойти, чем внедрять.
Какие имеете ввиду Формализованные процессы?
DevOps на стабильности инфраструктуры
Вы перепутали. Это SRE фокусируется стабильности
Каждое изменение для DevOps - это буквально failure, риск падения стабильности, поэтому у Ops-команды естественное стремление замедлить и тщательнее контролировать выпуски.
Если при выкатке новой версии вы получаете failure, то это проблема команды в первую очередь. Команда может нажать на кнопку rollback (helm rollback)
DevOps-культура!!!! зародилась в инженерной среде, а там ценят автоматизацию и сниженение участия человека, поэтому традиционные менеджерские практики (регламенты, миты, отчеты) воспринимаются как бюрократическая шляпа.
Где вы это прочитали?
Обычно девопсы - это бывшие сисадмины или разработчики, не горящие энтузиазмом от Scrum-ритуалов или документации. Если проектный менеджер настойчиво требует от DevOps-команды следовать формальным процессам это типично провоцирует агрессию. Интровертивные инженеры часто избегают чрезмерной коммуникации, а тут их заставляют “играть по правилам” Agile, ага, щас.
DevOps тут не причем. От человека зависит
Поскольку работа DevOps требует изрядного уровня технического погружения, многие инженеры скептически относятся к людям, не обладающим таким же уровнем техглубины. Если менеджер проекта не отличает виртуализацию от контейнеризации, DevOps-инженеры невольно начинают считать его бесполезным посредником
Пытаюсь понять связь между названием статьи и этим текстом и не нахожу. Раскройте мысль
Пока DevOps-барьер стоит непроходимым, Lead Time и Time-to-Market медленно, но верно растут → конкуренты выкатывают новые фичи быстрее, а мы зависаем в бесконечных согласованиях
Возможно это только у вас.
Для проектных менеджеров это превращается в марафон эскалаций и попыток пробиться сквозь джиру
То есть вы говорить devops инженеру, вот это срочная задача, потом через пол часа говорите, текущую задачу бросай, нужно другую задачу сделать?
В командах накапливается раздражение: каждое новое обращение превращается в мини-конфликт, где уже не задача обсуждается, а воюют за территорию и ресурсы
Похоже что у вас там аврал или просто много конфликтов, а DevOps тут не причем.
Итого: DevOps у вас не внедрен. Похоже что у вас там аврал или просто много конфликтов
Connected!!
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Master]: rows affected: 1
2025/05/19 11:41:57 DB Error [Pool total: 0, acquired: 0, idle: 0 | Failed to acquire connection]: failed to connect to `user=test database=testdb`:
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
2025/05/19 11:41:58 DB Error [Pool total: 0, acquired: 0, idle: 0 | Failed to acquire connection]: failed to connect to `user=test database=testdb`:
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
2025/05/19 11:41:59 DB Error [Pool total: 0, acquired: 0, idle: 0 | Failed to acquire connection]: failed to connect to `user=test database=testdb`:
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
2025/05/19 11:42:01 DB Error [Pool total: 0, acquired: 0, idle: 0 | Failed to acquire connection]: failed to connect to `user=test database=testdb`:
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
2025/05/19 11:42:02 DB Error [Pool total: 0, acquired: 0, idle: 0 | Failed to acquire connection]: failed to connect to `user=test database=testdb`:
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
2025/05/19 11:42:03 DB Error [Pool total: 0, acquired: 0, idle: 0 | Failed to acquire connection]: failed to connect to `user=test database=testdb`:
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
2025/05/19 11:42:04 DB Error [Pool total: 0, acquired: 0, idle: 0 | Failed to acquire connection]: failed to connect to `user=test database=testdb`:
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
2025/05/19 11:42:05 DB Error [Pool total: 0, acquired: 0, idle: 0 | Failed to acquire connection]: failed to connect to `user=test database=testdb`:
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
2025/05/19 11:42:07 DB Error [Pool total: 0, acquired: 0, idle: 0 | Failed to acquire connection]: failed to connect to `user=test database=testdb`:
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
2025/05/19 11:42:08 DB Error [Pool total: 0, acquired: 0, idle: 0 | Failed to acquire connection]: failed to connect to `user=test database=testdb`:
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
2025/05/19 11:42:09 DB Error [Pool total: 0, acquired: 0, idle: 0 | Failed to acquire connection]: failed to connect to `user=test database=testdb`:
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
2025/05/19 11:42:10 DB Error [Pool total: 0, acquired: 0, idle: 0 | Failed to acquire connection]: failed to connect to `user=test database=testdb`:
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
2025/05/19 11:42:12 DB Error [Pool total: 0, acquired: 0, idle: 0 | Failed to acquire connection]: failed to connect to `user=test database=testdb`:
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
2025/05/19 11:42:13 DB Error [Pool total: 0, acquired: 0, idle: 0 | Failed to acquire connection]: failed to connect to `user=test database=testdb`:
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
2025/05/19 11:42:14 DB Error [Pool total: 0, acquired: 0, idle: 0 | Failed to acquire connection]: failed to connect to `user=test database=testdb`:
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
158.160.35.209:6432 (c-c9qjkttr1shga0l8066k.rw.mdb.yandexcloud.net): dial error: dial tcp 158.160.35.209:6432: connect: connection refused
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 1, acquired: 0, idle: 1 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
Successful [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.185.107, Type: Master]: rows affected: 1
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
DB Error [Pool total: 2, acquired: 0, idle: 2 | IP: 158.160.35.209, Type: Replica] cannot execute INSERT in a read-only transaction (Code: 25006): ERROR: cannot execute INSERT in a read-only transaction (SQLSTATE 25006)
^Cmake: *** [Makefile:6: run] Прерывание
Вот логи с параметром target_session_attrs=any. Добавил эти полные логи в статью. Как видим ошибки меняются на успешные запросы, затем на ошибки, затем на успешные запросы: DB Error -> Successful -> DB Error -> Successful -> DB Error -> Successful. И так довольно долго.
Я проверял 5-7 раз. После смены мастера (через секунд 20-30) ошибок при параметре target_session_attrs=read-write нет. Можете взять исходный код и проверить.
А есть ли какая нибудь утилита, которой указываешь Postgresql и она показывает в выводе какие типы данных нужно поправить?
Большое спасибо за утилиту. Сделайте пожалуйста бинарник в релизах github.
Пока что много забот. Надо найти время посмотреть.
Спасибо за подробный разбор.
Хочу подсветить важный аспект: OpenTelemetry Gateway становится единой точкой отказа для всей телеметрии. При его падении, например при неправильном конфиге, теряются одновременно метрики, логи и трейсы — именно когда они больше всего нужны для разбора инцидента. При проблемах на стороне Tempo, Prometheus, Loki у OpenTelemetry будет переполнятся память и возможно он упадет. Этот риск нужно учитывать.
Формулировка "релиз на мне" говорит о слабой автоматизации и недостатке формализованных процессов. В зрелых DevOps-командах релиз ― это нажатие кнопки через CI/CD-процессы, а не ручная работа одного человека. Если кто-то год не релизил и процесс всё ещё сложен или слабо документирован, значит, и команда, и практики DevOps нуждаются в пересмотре. Лучше использовать trunk-based development вместо git flow или github flow, поскольку trunk-based development упрощает процессы интеграции, ускоряет выпуск изменений и снижает риски, связанные с долгоживущими ветками. Решение ― автоматизация релизов, актуализация документации и работа по trunk-based development: тогда роль отдельного человека исчезнет сама собой.
Я хочу сказать, что практическое применение этого подхода это terraform модули, terragrunt, helm чарты, operator в k8s.
Terraform модули, а также terragrunt — предполагает отделение данных и управление именно через данные.
Что за плоские конфиги?
для создания нового кластера кубернетеса в новом регионе вам надо скопировать один terragrunt.hcl файл и отредактировать его, сохранить- и все остальное выполниться без вас. Еще раз этот файл не содержит код, а только кастомизацию в виде переменных и флагов.
Спасибо за пост. Вопрос
Не вижу отличий от Infrastructure as Code
Не пойму эту мысль.
Это terraform модули, helm чарты или operator в k8s.
Инфраструктура как код (Infrastructure as Code, IaC) — это подход к автоматизации и управлению инфраструктурой через использование кода. А используете через чистый terraform, через terraform модули, это личное дело каждого.
Это terraform модули, helm чарты или operator в k8s.
Прочитав статью могу сказать что вы придумали terraform модули, helm чарты, operator в k8s.
готово
Достойных opensource self-hosted альтернатив не вижу.
1) Как может быть managed kubernetes, если вы облака не используете?
4) Вот список фич gitlab premium, которые могли бы закрыть часть проблем из статьи:
• Merge Request Analytics - детальная аналитика кода, метрики производительности - что то вроде DORA метрик
• Advanced Search - глобальный поиск по коду, коммитам, issues
• Push Rules - продвинутые правила для коммитов и веток
• Approval Rules - обязательные аппрувы от конкретных людей/групп
6) У вашей компании есть деньги на дорогой ELK и датадог, а на еще одного devops инженера денег нет.
9) Речь не бекенд, фронтенд
10) а oncall/pagerduty или аналог используется?
Соотношение кол-ва devops инженеров к разработчикам?
Может ли разработчик сделать самостоятельно review стенд?
У вас микросервисы или монолит?
Компания относится к банкам или финансам? Есть ли персональные или банковские данные?
Добавьте пожалуйста в статью технические детали:
Используются ли облачные провайдеры или свое железо?
Используется ли Kubernetes?
Если используется Kubernetes, то какой? самосбор или managed решение?
Используется ли платный GitLab ?
Какие CI/CD инструменты используются для автоматизации сборки и деплоя?
Какие инструменты мониторинга и логирования применяются в продакшене?
Есть ли метрики Dora?
Как часто происходят релизы?
Какие метрики отслеживаются для оценки производительности приложений?
Используется ли helm?
Как организован incident management?
Пишите ли постмортемы?
Соотношение кол-ва devops инженеров к разработчикам?
Может ли разработчик сделать самостоятельно review стенд?
Интересно увидеть пример вашей задачи в Jira и что написали когда вернули на доработку
Фразу "DevOps у вас не внедрен" уже не уберу. Фраза некорректна. Нет признаков чтобы сказать внедрен или не внедрен DevOps. Скорее уровни зрелости DevOps в компании - https://habr.com/ru/articles/727568/
Для этого нужны dev, uat, staging окружения
Не законченная фраза. Мысль не понятна.
Ошибка руководства что не спросили почему так долго
Надо было сразу спрашивать почему так долго. Выделенные скорее всего из-за денег.
DevOps тут причем? Мысль не раскрыта
Проверки алертов, а не Slack-бота дежурных
Основная задача - автоматизация
Это почему? можно сделать review окружение в новом namespace в kubernetes и установить в него приложение из feature ветки
Непонятно это плохо или хорошо. Раскройте мысль.
А здесь что не так?
DevOps тут не причем. От человека зависит
какие конфиги ? приложения?
А здесь что не так?
DevOps тут не причем. От человека зависит
DevOps тут не причем. От человека зависит
Непонятно кто запрещает
Так это плюс DevOps инженеров.
Больше технических деталей пожалуйста и меньше эмоций
Что значит админы держали прод на замке?
Где вы такое прочитали? У вас неполная и неправильное мнение о метриках успеха DevOps
Это у вас в соглашениях о разработке написано? или откуда вы это взяли?
Какие имеете ввиду Формализованные процессы?
Вы перепутали. Это SRE фокусируется стабильности
Если при выкатке новой версии вы получаете failure, то это проблема команды в первую очередь. Команда может нажать на кнопку rollback (helm rollback)
Где вы это прочитали?
DevOps тут не причем. От человека зависит
Пытаюсь понять связь между названием статьи и этим текстом и не нахожу. Раскройте мысль
Возможно это только у вас.
То есть вы говорить devops инженеру, вот это срочная задача, потом через пол часа говорите, текущую задачу бросай, нужно другую задачу сделать?
Похоже что у вас там аврал или просто много конфликтов, а DevOps тут не причем.
Итого: DevOps у вас не внедрен. Похоже что у вас там аврал или просто много конфликтов
Немного дополнил статью. Спасибо
Немного дополнил статью. Спасибо
Скрытый текст
Вот логи с параметром target_session_attrs=read-write. Добавил эти полные логи в статью. Ошибок через 20-30 секунд нет
Скрытый текст
Вот логи с параметром target_session_attrs=any. Добавил эти полные логи в статью. Как видим ошибки меняются на успешные запросы, затем на ошибки, затем на успешные запросы: DB Error -> Successful -> DB Error -> Successful -> DB Error -> Successful. И так довольно долго.
Я проверял 5-7 раз. После смены мастера (через секунд 20-30) ошибок при параметре target_session_attrs=read-write нет. Можете взять исходный код и проверить.