mirror of
https://github.com/logos-messaging/logos-messaging-nim.git
synced 2026-08-26 07:51:09 +00:00
Every DDL step took and released the advisory lock on its own, and a step skipped because the lock was busy returned ok, so the caller walked on to the next step believing the previous one had run. That is how a node ends up dropping a constraint another instance already dropped -- a fatal error on a sequence it never started. Tell "deferred" apart from "done" and abort the whole sequence on the first deferral, leaving the work to the instance that owns the lock. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>