В приложении с источником событий, созданным с использованием Comaged и Phoenix, мы получаем consistency_timeout
при обработке команд после развертывания в нашей производственной среде (Heroku).
Вот вывод журнала:
[debug] Processing with Web.CountryController.select_country_for_mission/2
[info] Invoicing.Commands.SelectCountryForMission dispatch start
[debug] Locating aggregate process for `Invoicing.Mission` with UUID "mission-23"
[debug] Invoicing.Mission<mission-23@4> executing command: %Invoicing.Commands.SelectCountryForMission{mission_id: "23", country_id: "42"}
[debug] Appended 1 event(s) to stream "mission-23"
[info] Invoicing.Commands.SelectCountryForMission succeeded in 180ms
[warn] Consistency timeout waiting for aggregate "mission-23" at version 5
Если я отправляю форму дважды, одна из команд успешно обрабатывается, но модель чтения по-прежнему не обновляется.Через несколько минут проблема исчезает на производстве.На моей машине проблема, кажется, не исчезает.
Приложение использует хранилище событий команд с проекциями Экто.
Версии:
- Командовано 0,17.0
- comaged_ecto_projection 0.7.1
- comaged_eventstore_adapter 0.4.0
- eventstore 0.14.0
- Erlang 20.3.2
- Elixir 1.6.5
- Феникс 1.3.4