ES /docs

Editing split failed: Mysql2::Error::TimeoutError: Lock wait timeout exceeded; try restarting transa

Service
cupixworks-worker
Occurrences
2
Status
Reported
Confidence
80%
Actionability
28%
Cluster ID
33f5e4cd-a169-44e3-9652-7294f1894b53
First Seen
2026-07-18 12:33 UTC
Last Seen
2026-07-30 16:28 UTC
Actions

Editing split failed: Mysql2::Error::TimeoutError: Lock wait timeout exceeded; try restarting transa

What Happened#

2026-07-18 21:33 KST에 cupixworks-workerEditingSplitWorker#performCupix::EditingSplitService#do_split! 마지막 단계에서 Mysql2::Error::TimeoutError: Lock wait timeout exceeded; try restarting transaction으로 실패했다. 서비스 로그를 보면 두 개의 split 그룹 재할당(reassign)이 정상적으로 끝났고, 원본 editing 의 통계를 갱신하는 세 번째 트랜잭션(update_editing_stats)이 시작된 뒤 약 52초간 진행되지 못하다가 InnoDB row-lock 대기 한도(기본 50초)에 걸렸다. 1건만 관측되었지만 Sidekiq retry: 2 정책에 의해 재시도되므로 사용자 영향은 제한적이다.

Quick Facts#

Field Value
exception.class Mysql2::Error::TimeoutError
exception.message Lock wait timeout exceeded; try restarting transaction
top_frame app/services/cupix/editing_split_service.rb:206-212 (update_editing_stats transaction)
worker EditingSplitWorker#perform (retry: 2, queue: :default)
env production, region us-west-2

Affected Teams#

Team / Domain Error Count Impact
SiteInsights / SQA (editing_type: siteinsights) 1 단일 editing 의 split 배치 중단. Sidekiq retry 로 자동 복구 여지 있음.

Timeline#

  1. 2026-07-18 21:30:53 KSTCupix::EditingSplitService#compute_split_groups 완료 (task grouping, geo clustering).
  2. 2026-07-18 21:31:15 KST — 첫 번째 split 그룹: create_split_editing + reassign_editing_entities 시작.
  3. 2026-07-18 21:31:49 KST — 첫 번째 그룹 Editing entities reassigned (task-level) result.
  4. 2026-07-18 21:31:55 KST — 첫 번째 그룹 Split group processed.
  5. 2026-07-18 21:32:09 KST — 두 번째 split 그룹: create_split_editing + reassign_editing_entities 시작.
  6. 2026-07-18 21:32:21 KST — 두 번째 그룹 Editing entities reassigned (task-level) result.
  7. 2026-07-18 21:32:29 KST — 두 번째 그룹 Split group processed, 이어서 Updating original editing stats for first group.
  8. 2026-07-18 21:32:33 KSTUpdating editing stats (task-based) 로그 (원본 editing 의 마지막 트랜잭션 진입).
  9. 2026-07-18 21:33:25 KSTSplit lock release attemptEditing split failed: Mysql2::Error::TimeoutError: Lock wait timeout exceeded. (21:32:33 이후 약 52초 → InnoDB innodb_lock_wait_timeout 기본 50초와 일치)
  10. 2026-07-18 21:33:57 KST — 후속 Split entry / Split skipped (not splittable) 로그. Sidekiq retry 로 재실행되었으나 이미 split 완료 상태로 인식되어 no-op.

Scoring#

Confidence 80% · Actionability 28%

Confidence#

Dimension Score Detail
Evidence completeness 5/5 21 code refs, 5 log queries
Code path explicitness 3/3 21 file:line refs
Log evidence 2/3 section, query
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 11 file(s)
Single repo 1/3 4 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