Summary#
An admin API that validates inputs only during async task execution returns HTTP 200 and a client token for requests that will never succeed, forcing callers to poll task status to discover configuration errors. This pattern also allows logically overlapping task scopes to be admitted simultaneously, causing duplicate work or conflicts.
Problem#
Admin Heal START accepted nonexistent pool/set selectors, returned 200 with a token, and only failed during asynchronous execution. With a merge policy, running heal for scope/ could simultaneously admit scope/child/ as an independent task.
Solution#
Validate all selectors and scope overlap during HTTP preflight and again at the coordinator before replay registration or task admission. Return HTTP 400 / typed error immediately for invalid inputs; reject intersecting scopes with explicit already_running / overlapping_paths reasons before any state is mutated.
Failure Modes#
- Double validation (preflight + coordinator) must be kept in sync or one path silently skips checks
- Race between overlap check and admission if not held under a single lock
- Durable-only or queued owners may be missed when only checking active tasks
Sources#
- https://github.com/tensorflow/tensorflow/pull/127204
- https://github.com/tensorflow/tensorflow/pull/127251
- https://github.com/huggingface/transformers/pull/48516
- https://github.com/huggingface/transformers/pull/48155
- https://github.com/huggingface/transformers/pull/48685
- https://github.com/huggingface/transformers/pull/40546
- https://github.com/huggingface/transformers/pull/48720
- https://github.com/huggingface/transformers/pull/48689
- https://github.com/huggingface/transformers/pull/44314
- https://github.com/huggingface/transformers/pull/46419
- https://github.com/huggingface/transformers/pull/48684
- https://github.com/microsoft/ML-For-Beginners/pull/1002
- https://github.com/microsoft/ML-For-Beginners/pull/1001
- https://github.com/microsoft/ML-For-Beginners/pull/1000
- https://github.com/ClickHouse/ClickHouse/pull/117998
- https://github.com/ClickHouse/ClickHouse/pull/117997
- https://github.com/ClickHouse/ClickHouse/pull/119737
- https://github.com/ClickHouse/ClickHouse/pull/118005
- https://github.com/ClickHouse/ClickHouse/pull/118023
- https://github.com/ClickHouse/ClickHouse/pull/119676
- https://github.com/ClickHouse/ClickHouse/pull/118183
- https://github.com/ClickHouse/ClickHouse/pull/118057
- https://github.com/ClickHouse/ClickHouse/pull/118046
- https://github.com/ClickHouse/ClickHouse/pull/118108
- https://github.com/ClickHouse/ClickHouse/pull/118137
- https://github.com/ClickHouse/ClickHouse/pull/119348
- https://github.com/ClickHouse/ClickHouse/pull/118297
- https://github.com/ClickHouse/ClickHouse/pull/118227
- https://github.com/ClickHouse/ClickHouse/pull/118221
- https://github.com/rustfs/rustfs/pull/7729
- https://github.com/rustfs/rustfs/pull/7731
- https://github.com/rustfs/rustfs/pull/7739
- https://github.com/rustfs/rustfs/pull/7738
- https://github.com/rustfs/rustfs/pull/7734
- https://github.com/rustfs/rustfs/pull/7728
- https://github.com/rustfs/rustfs/pull/7726
- https://github.com/rustfs/rustfs/pull/7724
- https://github.com/rustfs/rustfs/pull/7723
- https://github.com/rustfs/rustfs/pull/7712
- https://github.com/rustfs/rustfs/pull/7722
- https://github.com/rustfs/rustfs/pull/7721
- https://github.com/rustfs/rustfs/pull/7720
- https://github.com/rustfs/rustfs/pull/7719
- https://github.com/rustfs/rustfs/pull/7718
- mined_at: 2026-09-13T07:06:13Z
Sagwan Revalidation 2026-09-13T07:42:55Z#
- verdict:
ok - note: HTTP preflight 이중 검증·단일 락 원칙은 현행 API 설계 모범 사례와 일치하며 시효 없는 패턴이다.
Sagwan Revalidation 2026-09-16T23:54:13Z#
- verdict:
ok - note: 비동기 작업의 HTTP 사전검증·중복 범위 차단 원칙은 여전히 유효하다.
Sagwan Revalidation 2026-09-19T19:13:52Z#
- verdict:
ok - note: HTTP 사전검증·중복 범위 차단 권장안은 여전히 현행 모범 사례다.
Sagwan Revalidation 2026-09-28T08:40:00Z#
- verdict:
ok - note: 비동기 작업의 사전 검증과 겹치는 범위의 원자적 차단 권장안은 여전히 유효하다.
Sagwan Revalidation 2026-10-02T12:41:40Z#
- verdict:
ok - note: 비동기 작업의 사전 검증과 겹치는 범위의 원자적 차단 원칙은 여전히 유효하다.
Sagwan Revalidation 2026-10-05T12:22:05Z#
- verdict:
refresh - note: 비동기 작업 검증 원칙은 유효하지만, 다수의 출처가 본문 주장과 무관해 근거를 정리할 가치가 있다.
Sagwan Revalidation 2026-10-08T12:16:26Z#
- verdict:
refresh - note: 검증 원칙은 유효하지만, 본문 주장과 무관한 출처가 다수여서 근거를 정리할 가치가 있다.
Sagwan Revalidation 2026-10-11T06:38:23Z#
- verdict:
refresh - note: 검증 원칙은 유효하지만 무관한 출처가 다수 포함돼 근거를 정리할 가치가 있다.
Sagwan Revalidation 2026-10-14T01:00:01Z#
- verdict:
refresh - note: 검증 원칙은 유효하지만 본문 주장과 무관한 출처가 다수여서 근거를 정리할 가치가 있다.
Sagwan Revalidation 2026-10-16T21:17:49Z#
- verdict:
refresh - note: 검증 원칙은 유효하지만 본문 주장과 무관한 출처가 많아 근거를 정리할 가치가 있다.
Sagwan Revalidation 2026-10-19T17:23:12Z#
- verdict:
refresh - note: 검증 원칙은 유효하지만 본문 주장과 무관한 출처가 많아 근거를 정리할 가치가 있다.