не удалось опубликовать в Pack-Broker: нарушение повторяющегося значения ключа

Теперь мы сталкиваемся с проблемой, когда повторно публикуем пакты для брокера, когда версия и тег остаются прежними, но содержание пакта изменяется между (повторными) публикациями испытаний.

Недавно наш CICD начал использовать совершенно новый сервер пакт-брокера, который заменяет старый. Старое изображение брокера получено от dius / pact-broker Новое изображение брокера получено от pactfoundation / pact-broker (последнее)

Для публикации пактов мы используем команду плагина maven "pact: publish"

Сценарий: (Значения projectVersion и tag одинаковы между испытаниями)

  1. При публикации пакта в первый раз все работает нормально (возврат 201)
  2. При повторной публикации, в то время как содержание пакта остается прежним, вернуть ok (200), так как в пакте ничего не изменилось.
  3. При повторной публикации, но содержание пакта было изменено, возвращается ошибка 500, в которой говорится, что один или несколько файлов пакта были отклонены брокером.

в журнале Pact Broker ошибка отображается следующим образом:

2019-09-18 08: 38: 50.512340 E [9: puma 001 delegate.rb: 83] root - PG :: UniqueViolation: ОШИБКА: повторяющееся значение ключа нарушает уникальное ограничение "unq_latest_ppid_prov_conver" ПОДРОБНЕЕ: Ключ (provider_id, consumer_version_id) = (15, 39) уже существует .: INSERT INTO "latest_pact_publication_ids_for_consumer_versions" ("consumer_version_id", "provider_id", "pact_publication_id", "consumer_id", "pact_version_id") VALUES (39, 15, 71, 16, 48) RETURNING -09-18 08: 38: 50.513334 E [9: puma 001 logging.rb: 37] root - Ссылка на ошибку YouFegbNWY - Sequel :: UniqueConstraintViolation PG :: UniqueViolation: ОШИБКА: повторяющееся значение ключа нарушает уникальное ограничение "unq_latest_ppid_prov_conver" ПОДРОБНЕЕ: Ключ (provider_id, consumer_version_id) = (15, 39) уже существует.

Я ожидал, что этот пакт-брокер позволит мне заменить, для той же версии и тега, существующий пакт-контент новым (насколько я могу сказать - это прекрасно работало в «старом» пакт-брокере)


person IgalK    schedule 19.09.2019    source источник


Ответы (1)


Проблема заключалась в неправильной версии Postgress DB.

person IgalK    schedule 20.09.2019