Api::V1::AnnotationsController#update (avg 493359ms, max 493359ms)
Service
cupixworks-api
Occurrences
1
Status
Reported
Confidence
85%
Actionability
28%
Cluster ID
90018c38-e05a-4d84-a66d-bc36f8b9e65b
First Seen
2026-07-17 05:23 UTC
Last Seen
2026-07-17 05:23 UTC
Actions
Api::V1::AnnotationsController#update (avg 493359ms, max 493359ms)
What Happened#
2026-07-17 14:23:41 KST 무렵, ap-southeast-2 리전의 cupixworks-api 서비스에서 PUT /api/v1/reviews/w7bfdg/annotations/13653 요청 1건이 약 493.4초 동안 실행된 뒤 200 OK로 응답했다. 동일 시간대에 같은 Facility(ID 2947)를 대상으로 하는 PanosController#check_uploading, PanosController#update_meta_by_key, EditingsController#update 요청들이 반복적으로 Mysql2::Error::TimeoutError: Lock wait timeout exceeded / ActiveRecord::Deadlocked 로 실패하고 있어, MySQL row-lock 경합이 원인으로 판단된다.
Quick Facts#
| Field | Value |
|---|---|
| cluster_type | latency |
| resource_name | Api::V1::AnnotationsController#update |
| avg_duration_ms | 493359 |
| max_duration_ms | 493359 |
| sample_trace_id | 4435704688727578565 |
| top_frame | app/repositories/annotation_repository.rb:23 (@model.save!) |
| env | production |
| region | ap-southeast-2 |
| tenant | cupix |
| facility_id | 2947 (from EntityUpdates::Child 로그) |
Affected Teams#
| Team / Domain | Error Count | Impact |
|---|---|---|
| cupixworks-api (Review/Annotation 편집) | 1 slow 200 (this cluster) | 클라이언트 요청이 8분 넘게 블록되어 사실상 실패로 인지됨 |
| cupixworks-api (Pano/Editing 업로드) | 최소 8 (LockWaitTimeout 7 + Deadlock 1, 14:17-14:40 KST) | 502/503 에러로 업로드/편집 실패 |
Timeline#
- 2026-07-17 14:17:57 KST —
PUT /api/v1/panos/14851724/check_uploadingActiveRecord::LockWaitTimeout(502) 첫 발생. Facility 2947 관련 다중 요청 경합 시작. - 2026-07-17 14:18:49 / 14:19:45 / 14:20:43 KST — 동일 pano 14851724 에서
LockWaitTimeout반복. - 2026-07-17 14:23:41 KST — 문제의
PUT /api/v1/reviews/w7bfdg/annotations/13653요청 시작 (span first_seen). - 2026-07-17 14:24:49 KST — 같은 annotation 13653 에 대한 별도
PUT200 완료 (동시 편집 정황). - 2026-07-17 14:25:29 ~ 14:26:35 KST — Facility 2947 하위 Annotation 들의
reset_parent_cached_entity_updates로그 다수 (동시 업데이트 진행 중). - 2026-07-17 14:31:54 KST — 문제 요청 200 OK 로 응답 (span 종료, 493.359s 소요).
- 2026-07-17 14:31:57 KST — trace
4435704688727578565내Annotation#_update_document,reset_parent_cached_entity_updates,Cupix::EventService.publish_event후처리 로그. - 2026-07-17 14:34:44 ~ 14:40:03 KST — 같은 window 에서 다른 Pano/Editing 요청에
LockWaitTimeout/Deadlocked계속 발생.
Scoring#
Confidence 85% · Actionability 28%
Confidence#
| Dimension | Score | Detail |
|---|---|---|
| Evidence completeness | 5/5 | 11 code refs, 9 log queries |
| Code path explicitness | 3/3 | 11 file:line refs |
| Log evidence | 3/3 | section, query, pattern |
| RCA structure | 3/3 | 3/3 sections |
| Revision history | 0/3 | 0 revision(s) |
| Agent execution | 3/3 | success |
Actionability#
| Dimension | Score | Detail |
|---|---|---|
| Fix complexity | 1/5 | critical |
| Affected files | 1/5 | 8 file(s) |
| Single repo | 1/3 | 7 service(s) |
| Immediate actions | 0/3 | absent |
| Testability | 0/3 | no test info |
| External dependency | 1/3 | external deps found |
| Data migration | 3/3 | no migration |