Re-sending an in-flight executionUuid overwrote its registration, failed
the audit insert (UNIQUE), and the finally-unregister then removed the
original - escaping maxConcurrentExecutionsPerUser and cancellation.
- RunningStatements.register refuses an id already registered
(putIfAbsent); unregister(uuid, registration) removes only its own.
- The engine refuses a client id that is running or already in the
audit, before registering or recording anything
(DuplicateExecutionException; the route provider answers 409).
- ExecutionAuditor.record() checks the insert result and fails loudly.
- Execution ids are lower-cased at the API edge (execute, rows, export,
cancel, snapshots) and in engine.cancel.
- Tests for each, including 409 over HTTP.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>