Api::V1::BimsController#create_resource (avg 111692ms, max 111692ms)
Service
cupixworks-api
Occurrences
1
Status
Reported
Confidence
85%
Actionability
36%
Cluster ID
c9b5537f-b236-42d8-ba18-795e36b1ef04
First Seen
2026-07-10 07:49 UTC
Last Seen
2026-07-10 07:49 UTC
Actions
Api::V1::BimsController#create_resource (avg 111692ms, max 111692ms)
What Happened#
2026-07-10 16:49–16:51 KST 사이 cupixworks-api (ap-southeast-2)의 Api::V1::BimsController#create_resource 요청 1건이 111.5초 소요된 뒤 [400] Duplicate kind: mesh 로 응답됨. 같은 시간대에 3건의 ActiveRecord::LockWaitTimeout (Mysql2::Error::TimeoutError, 50s) 502 응답과 19건의 60s 초과 write 요청이 관측된 광범위 RDS InnoDB row-lock contention 이벤트의 일부. 대상 요청은 락 큐에 갇혀 있다가 락 해제 후 실행되었고, 그 사이 동일 세션의 선행 요청이 이미 mesh kind Resource 를 생성해 두어 중복 검증에 걸림.
Quick Facts#
| Field | Value |
|---|---|
| exception.class | Cupix::Errors::Parameter (ARG10001) — 응답 시점 |
| exception.message | Duplicate kind: mesh |
| top_frame | app/controllers/concerns/multiple_resourcable_controller.rb:53 (@model.resources.find_by_kind(...) 중복 검사) |
| runtime | Rails / Ruby (tesla monolith), user_agent cupix-agent |
| deploy | production-ap-southeast-2-20260709t0654z0-6eb3f711-cupixworks |
| env | production, region ap-southeast-2 |
| trace_id | 103694830734669946 |
Affected Teams#
| Team / Domain | Error Count | Impact |
|---|---|---|
cupix (team 6, user 8 yohan.kim@cupix.com, session f66c6083…) |
1 (target cluster) | Bim 3566 에 mesh resource 생성 요청이 111.5s 뒤 400 반환 — cupix-agent 자동화 파이프라인 지연 |
built (team 16) |
3× 502 + 다수 slow request | 동일 시간대 Capture#81421 및 자식 리소스에 대한 write 가 50s LockWaitTimeout / 60s+ 지연 |
Timeline#
- 2026-07-10 16:47:04 KST — 평시: 동일 세션이
GET/PUT /api/v1/bims/3566정상 응답. - 2026-07-10 16:47:34–16:47:52 KST —
BimAiOperation#get에서404 no current extraction for bim 74008건 발생 (환경은dev, regionus-west-2— 이 클러스터와 직접 관련 없음, 인과 관계 확인되지 않음). - 2026-07-10 16:48:47 KST — 첫 이상 조짐: capture 81421 update 가 39.8s(db 33.4s)로 지연.
- 2026-07-10 16:49:35 KST — 대상 클러스터 이벤트 시작 (
first_seen). 동일 세션에서POST /api/v1/bims/3566/resources(kind=mesh,name=mesh.zip) 시작. 이 시점 이후 요청은 락 대기 큐에 진입. - 2026-07-10 16:50:34 KST — 선행/병렬 요청
POST /api/v1/bims/3566/resources가 먼저 200 으로 완료되며meshkind Resource row 를 생성. 같은 초에PUT /bims/3566,check_uploading,resource_upload_credentials도 완료. - 2026-07-10 16:51:16–16:51:20 KST —
built테넌트의 세 write 요청이 정확히 50s 만에Mysql2::Error::TimeoutError로 502 반환. - 2026-07-10 16:51:27.210 KST — 락이 해제되면서 대상 요청이 111,502ms 뒤
find_by_kind(:mesh)검사에 도달, 이미 생성된meshrow 를 발견하고Cupix::Errors::Parameter(ARG10001, "Duplicate kind: mesh")로 400 반환. 같은 초에 sibling 클러스터 요청들(AssetsController#create 125.5s, RoomsController#create 49.7s) 도 flush. - 2026-07-10 16:51:32 KST — capture 81421 update 가 810ms 수준으로 회복 → 인시던트 해소.
Scoring#
Confidence 85% · Actionability 36%
Confidence#
| Dimension | Score | Detail |
|---|---|---|
| Evidence completeness | 5/5 | 12 code refs, 10 log queries |
| Code path explicitness | 3/3 | 12 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 | 29 file(s) |
| Single repo | 1/3 | 6 service(s) |
| Immediate actions | 0/3 | absent |
| Testability | 0/3 | no test info |
| External dependency | 3/3 | no external deps |
| Data migration | 3/3 | no migration |