Cupix::Errors::System: Mysql2::Error: Duplicate entry '1146-User-253' for key 'facility_permissions.idx_facility_permiss
Service
cupixworks-api
Occurrences
18
Status
Reported
Confidence
85%
Actionability
40%
Cluster ID
80d62a02-3db6-4a8c-9844-b7dfce00cee2
First Seen
2026-04-23 15:18 UTC
Last Seen
2026-07-31 15:05 UTC
Actions
Cupix::Errors::System: Mysql2::Error: Duplicate entry '1146-User-253' for key 'facility_permissions.idx_facility_permiss
What Happened#
cupixworks-api (tesla)에서 POST /api/v1/reviews/{key}/annotations (Api::V1::AnnotationsController#create) 요청 처리 중 Mysql2::Error: Duplicate entry '{facility_id}-User-{accessor_id}' for key 'facility_permissions.idx_facility_permissions_unique_accessor'가 발생해 500 응답으로 이어졌다. 원인은 ReviewPermission#create_facility_permission 콜백의 non-atomic한 check-then-create 패턴이며, 같은 (accessor, facility) 조합으로 두 요청이 동시에 들어올 때 unique index를 위반한다. 16개월 동안 18건으로 저빈도이지만, 명백한 race-condition 결함이다.
Quick Facts#
| Field | Value |
|---|---|
| exception.class | Cupix::Errors::System (code SYS50000) |
| exception.message | Mysql2::Error: Duplicate entry '1146-User-2266' for key 'facility_permissions.idx_facility_permissions_unique_accessor' |
| top_frame | app/models/review_permission.rb:23 (create_facility_permission) |
| runtime | Ruby on Rails (ActiveRecord 7.0), MySQL |
| env | production (cupixworks-api) |
Affected Teams#
| Team / Domain | Error Count | Impact |
|---|---|---|
| cupixworks-api (annotations/review) | 18건 (16개월) | 동시 annotation 생성 요청 중 한쪽이 500으로 실패 — 사용자가 재시도하면 성공 |
Timeline#
- 2026-04-14 13:22 KST — 커밋
8c3a31015(TSLA-12368) 로facility_permissions등에 unique index (idx_facility_permissions_unique_accessor) 추가 (migration20260413083342). - 2026-04-24 00:18 KST — 최초 발생 (
first_seen). unique index 도입 직후부터 중복 insert가 조용히 성공하던 것이 예외로 표면화. - 2026-07-25 00:26 KST — Datadog 로그:
Duplicate entry '1146-User-2162'(POST /api/v1/reviews/uwokz5/annotations). - 2026-08-01 00:05 KST — 최근 발생 (
last_seen).Duplicate entry '1146-User-2266'(POST /api/v1/reviews/wdgp1w/annotations).
Scoring#
Confidence 85% · Actionability 40%
Confidence#
| Dimension | Score | Detail |
|---|---|---|
| Evidence completeness | 5/5 | 15 code refs, 3 log queries |
| Code path explicitness | 3/3 | 15 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 | 5/5 | trivial |
| Affected files | 1/5 | 17 file(s) |
| Single repo | 1/3 | 2 service(s) |
| Immediate actions | 0/3 | absent |
| Testability | 0/3 | no test info |
| External dependency | 3/3 | no external deps |
| Data migration | 0/3 | migration needed |