flush_geo_coordinate - error - message: Mysql2::Error::TimeoutError: Lock wait timeout exceeded; try
Service
cupixvista-api-worker
Occurrences
3
Status
Reported
Confidence
85%
Actionability
28%
Cluster ID
7abadb59-817f-406b-a3be-ae040a28ad61
First Seen
2026-06-18 08:16 UTC
Last Seen
2026-06-18 08:26 UTC
Actions
flush_geo_coordinate - error - message: Mysql2::Error::TimeoutError: Lock wait timeout exceeded; try
What Happened#
2026-06-18 17:16 KST, cupixvista-api-worker (production us-west-2, tenant cupix)에서 Cupix::Cron::Record.finalize_delayed_geo_coordinate 가 Record 18851 의 지연된 geo coordinate flush를 처리하다 Mysql2::Error::TimeoutError: Lock wait timeout exceeded; try restarting transaction 으로 실패했다. flush 시작(flush_geo_coordinate - begin)부터 에러까지 약 56초가 경과했고, cron 자체 측정 duration은 51초로 MySQL 기본 innodb_lock_wait_timeout 50초와 일치한다.
Quick Facts#
| Field | Value |
|---|---|
| exception.class | Mysql2::Error::TimeoutError |
| exception.message | Lock wait timeout exceeded; try restarting transaction |
| top_frame | app/models/concerns/record_geo_coordinate.rb:83 (update(geo_coordinate_url_updated_at: DateTime.now)) |
| trigger | lib/cupix/cron/record.rb:33 (record.flush_geo_coordinate) |
| deploy | production-us-west-2-20260618T0815Z0-0938bde6-cupixvista |
| env | production / us-west-2 |
| record.id | 18851 |
| host | ip-10-1-82-141.us-west-2.compute.internal (pid 2499570) |
Affected Teams#
| Team / Domain | Error Count | Impact |
|---|---|---|
tenant cupix (Record 18851) |
1 | 해당 Record의 geo coordinate JSON이 S3에는 업로드되었으나 geo_coordinate_url_updated_at DB 컬럼 갱신 실패 → URL이 stale 상태로 남았을 가능성. fresh_fresh_state! 와 _flush_delayed_geo_coordinate 도 실행되지 않아 cache 의 FlushGeoCoordinate::Record::18851 키가 남아있을 수 있음 (cron이 다음 사이클에 재시도). |
Timeline#
- 2026-06-18 17:15 KST 직전 — 이전 flush 또는 다른 트랜잭션이 Record 18851 행에 쓰기 락을 보유 중. (직접 로그는 없음 — uncertain — needs verification)
- 2026-06-18 17:15:25 KST —
[Cron][Record] Flushing 1 delayed geo coordinates - record_ids: 18851로그 출력. 같은 시각flush_geo_coordinate - begin로그 출력 (Record 18851). - 2026-06-18 17:15Z deploy —
production-us-west-2-20260618T0815Z0-...버전 배포가 동일 시간대에 발생 (deploy version 태그 기준). - 2026-06-18 17:16:21 KST —
flush_geo_coordinate - error - message: Mysql2::Error::TimeoutError: Lock wait timeout exceeded; try restarting transaction발생. - 2026-06-18 17:16:21 KST — cron이 동일 시각에
Flushing delayed geo coordinate: 18851 - duration for flushing: 51 sec로그 출력 (51초 = innodb_lock_wait_timeout 기본값과 일치).
Scoring#
Confidence 85% · Actionability 28%
Confidence#
| Dimension | Score | Detail |
|---|---|---|
| Evidence completeness | 5/5 | 14 code refs, 4 log queries |
| Code path explicitness | 3/3 | 14 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 | 12 file(s) |
| Single repo | 1/3 | 2 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 |