[CupixAerialMap] preprocess fail - error:({}) / message:({"result":{"code":"ENT4000","type":"Cupix::
Service
aerial-map-service
Occurrences
1
Status
Reported
Confidence
80%
Actionability
44%
Cluster ID
7b2a836a-4694-4a3b-87cd-6efb5a5eb385
First Seen
2026-07-16 22:47 UTC
Last Seen
2026-07-16 22:47 UTC
Actions
[CupixAerialMap] preprocess fail - error:({}) / message:({"result":{"code":"ENT4000","type":"Cupix::
- [Datadog 에러 링크](https://app.datadoghq.com/logs?query=service%3Aaerial-map-service%20status%3Aerror%20%40environment%3Aproduction%20%22%5BCupixAerialMap%5D%20preprocess%20fail%20-%20error%3A(%7B%7D)%20%2F%20message%3A(%7Bresult%3A%7Bcode%3AENT4000%2Ctype%3ACupix%3A%3A%22&from_ts=1784238420000&to_ts=1784245680000&live=false)
- Slack 스레드
What Happened#
2026-07-17 07:47 KST 에 aerial-map-service 의 preprocess Fargate 태스크가 실행 도중 Cupix::Errors::NotFound (ENT4000, "AerialMap not found") 응답을 받아 실패했다. 원인은 사용자가 POST /api/v1/aerial_maps/46/invoke 로 처리를 시작한 뒤 preprocess 컨테이너가 실제로 API 호출을 시작하기 전에 같은 aerial map 을 PUT /api/v1/aerial_maps/46/trash 로 휴지통으로 옮긴 것이다. tesla 쪽 BaseRepository#find_by(base_repository.rb:353) 가 trashed 레코드를 ENT4000 으로 거부하면서 preprocess 의 첫 API 호출인 saveProcessingState 가 실패했다.
Quick Facts#
| Field | Value |
|---|---|
| exception.class | Cupix::Errors::NotFound (tesla side) / rethrown Error (aerial-map-service side) |
| exception.message | {"result":{"code":"ENT4000","type":"Cupix::Errors::NotFound","reason":"AerialMap not found","message":"AerialMap not found"}} |
| top_frame | applications/aerial-map-service/src/code/src/preprocess/index.ts:175 |
| runtime | Node.js on ECS Fargate (preprocess container) |
| env | production, ap-southeast-2 (tenant: cupix) |
| affected aerial_map_id | 46 (team domain fluor 기준 로그 상에서 확인) |
Affected Teams#
| Team / Domain | Error Count | Impact |
|---|---|---|
| aerial-map-service (production, ap-southeast-2) | 2건 (동일 사건, 두 로그 라인) | 단일 AerialMap 처리 잡 1건 실패 — Pix4D 프로젝트 생성 전에 중단, 결제/파일 소모 없음. AerialMap 은 이미 trash 상태로 사용자 의도와 최종 상태 일치. |
Timeline#
- 2026-07-17 07:46:27–29 KST — 사용자가 AerialMap 46 에 항공 사진 8장을 업로드 (
POST .../aerial_photos/{id}/upload_url,PUT .../check_uploading모두 200) - 2026-07-17 07:46:31 KST —
POST /api/v1/aerial_maps/46/invoke(200),Aerial map step function executed on AerialMap 46— Step Function / Fargate preprocess 태스크 시작 - 2026-07-17 07:47:19 KST —
PUT /api/v1/aerial_maps/46/trash(204) — 사용자가 처리 진행 중인 aerial map 을 휴지통으로 이동 - 2026-07-17 07:47:24 KST — preprocess Fargate 컨테이너가 실제로 부팅되어
preprocess fargate memory limit,method,outputs,resolution로그 출력 - 2026-07-17 07:47:25 KST —
saveProcessingState→PUT /api/v1/aerial_maps/46이 403ENT4000응답, 내부 catch 에서saveError재호출도 같은 403 (연속된 두 PUT 로그) - 2026-07-17 07:47:25 KST — preprocess 프로세스가 두 error 라인을 남기고
process.exit(1)(preprocess/index.ts:148,:175) → 클러스터943116b3와7b2a836a두 개 생성 - 2026-07-17 07:47:45 KST — 후속 조회
[403] GET /api/v1/aerial_maps/45등 인접 AerialMap 도 trash 흐름 진행 중임이 관찰됨
Scoring#
Confidence 80% · Actionability 44%
Confidence#
| Dimension | Score | Detail |
|---|---|---|
| Evidence completeness | 5/5 | 20 code refs, 4 log queries |
| Code path explicitness | 3/3 | 20 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 | 5/5 | trivial |
| Affected files | 1/5 | 15 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 |