CaptureRepository#update — InnoDB row-lock timeout
State: be196c4b-4151-49c7-acac-99be79e4e5ed
Progress#
| Phase | Status | Timestamp |
|---|---|---|
| Analyze | done | 2026-06-01T06:35:00Z |
| Plan | done | 2026-06-01T06:36:00Z |
| Jira | done | 2026-06-01T06:37:00Z |
| Prepare | done | 2026-06-01T06:38:00Z |
| Implement: tesla | done | 2026-06-01T06:39:00Z |
| Validate | done | 2026-06-01T06:40:00Z |
| PR | done | 2026-06-01T06:43:00Z |
| Reflection | done | 2026-06-01T06:44:00Z |
Decisions#
- Selected fix: "즉시 조치 (Critical) — FORCE_APPLY_ENTITIES_STATUSES를 비동기 Worker로 분리" — user explicitly approved async worker approach
- Memory: episode be196c4b (previous attempt) used after_commit approach on same cluster; this time user chose Worker separation instead
- Memory: episode 78dd34b4 warns against over-scoping — keep changes minimal (only FORCE_APPLY_ENTITIES_STATUSES callback)
- Memory: latency category guide shows established Sidekiq worker patterns (FacilityNotificationWorker, UpdateUserGroupsWorker)
- Scope: Create ApplyEntitiesStateWorker, modify FORCE_APPLY_ENTITIES_STATUSES callback in statable/editing.rb to call perform_async