node_A: выпущен
node_B: ожидает
Fabric. Один и тот же сертификат. Один и тот же хеш миссии. Разная комната, по всей видимости.
Node_A уже довел это до конца. Книга миссий обновлена. Сертификат виден. Это тот самый экран, который заставляет кого-то сказать “хорошо, мы в порядке” до того, как они должны это сделать.
Node_B все еще не двигался.
Нет отсутствующих доказательств. Нет поврежденной записи в реестре. Просто ожидающее состояние, висящее там, пока более быстрый узел уже говорил на установленном языке.
Люди называют это проблемой синхронизации, как будто она остается небольшой, если ее мягко назвать.
Но это не так.
Следующий зависимый край был освобожден из вида node_A, прежде чем node_B согласился, что выполнение завершено. Вот тогда Fabric начинает ощущаться не как проблема реестра, а как планирование, основанное на разногласии, которое никто не может увидеть четко.
Поддержка запросила хеш миссии.
Операции проверили реестр дважды.
Кто-то сказал: “node_A имеет это”, как будто этого должно было хватить для всей остальной комнаты.
Но этого не хватило.
К тому времени, как node_B догнал, плохая часть уже произошла.
Следующий шаг уже стоял на более быстрой версии истины.