ES /docs

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#

  1. 2026-06-18 17:15 KST 직전 — 이전 flush 또는 다른 트랜잭션이 Record 18851 행에 쓰기 락을 보유 중. (직접 로그는 없음 — uncertain — needs verification)
  2. 2026-06-18 17:15:25 KST[Cron][Record] Flushing 1 delayed geo coordinates - record_ids: 18851 로그 출력. 같은 시각 flush_geo_coordinate - begin 로그 출력 (Record 18851).
  3. 2026-06-18 17:15Z deployproduction-us-west-2-20260618T0815Z0-... 버전 배포가 동일 시간대에 발생 (deploy version 태그 기준).
  4. 2026-06-18 17:16:21 KSTflush_geo_coordinate - error - message: Mysql2::Error::TimeoutError: Lock wait timeout exceeded; try restarting transaction 발생.
  5. 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