CaptureRepository#update — InnoDB row-lock timeout
Summary: CapturesController#update Lock Wait Timeout — 비동기 Worker 분리
결과#
FORCE_APPLY_ENTITIES_STATUSES 콜백의 N개 entity cascading state transition을 ApplyEntitiesStateWorker Sidekiq worker로 비동기 분리하여, 트랜잭션 내 lock 보유 시간을 O(N)에서 O(1)로 감소시킴.
Pull Requests#
| Repo | PR | Branch |
|---|---|---|
| tesla | PR #87972 | feature/TSLA-13049 |
변경 내용#
- app/workers/apply_entities_state_worker.rb (NEW): Sidekiq worker로 editing_entities 순회 + state transition을 비동기 처리
- app/models/concerns/statable/editing.rb: after_transition 콜백 본문을
ApplyEntitiesStateWorker.perform_async호출로 교체
이전 Fix (Phase 1)#
- TSLA-13025 / PR #87923 —
save_with_lock_retry!방어 로직 (별도 merge 완료)
Cleanup#
bash
cd $REPOS_DIR/tesla
git worktree remove /home/ec2-user/error-sweeper/.worktrees/be196c4b-4151-49c7-acac-99be79e4e5ed/tesla