AwsS3Manager::downloadParallel | begin - "Missing credentials in config, if using AWS_CONFIG_FILE, s
AwsS3Manager::downloadParallel | begin - "Missing credentials in config, if using AWS_CONFIG_FILE, s
RCA Summary#
AwsS3Manager.download() 메서드가 new AWS.S3({ region }) 으로 S3 클라이언트를 생성할 때 명시적 credentials를 전달하지 않으며, AWS SDK default credential provider chain(ECS task role)에 의존한다. Terraform에서 ECS task role에 s3:ListBucket/s3:GetObject 권한이 *-source-* 패턴으로 부여되어 있으나(pano_postprocessor/main.tf:84-95), AWS SDK v2가 ECS task role credentials를 resolve하지 못해 "Missing credentials in config" 에러가 발생했다. ap-southeast-2 리전의 capture 68852에 속한 pano들은 bucket_endpoint가 없다 — 이는 AWS S3에 직접 저장된 데이터를 의미하며(MinIO가 아닌 경우), ECS task role을 통한 직접 S3 다운로드가 설계된 동작이다. 그러나 credential provider chain이 AWS_CONTAINER_CREDENTIALS_RELATIVE_URI 환경변수를 통해 ECS task role을 해석하는 과정이 실패하여 다운로드가 모두 실패했다. 에러가 downloadParallel의 catch 블록에서 개별적으로 잡혀 다운로드 단계는 "완료"되었지만, 실제 이미지 파일이 없어 후속 mask inference 단계(MaskWork::maskPanos)에서 Python 스크립트가 실패하며 전체 job이 실패했다.
Scoring#
Confidence 100% · Actionability 36%
Confidence#
| Dimension | Score | Detail |
|---|---|---|
| Evidence completeness | 5/5 | 34 code refs, 5 log queries |
| Code path explicitness | 3/3 | 34 file:line refs |
| Log evidence | 3/3 | section, query, pattern |
| RCA structure | 3/3 | 3/3 sections |
| Revision history | 3/3 | 5 revision(s) |
| Agent execution | 3/3 | success |
Actionability#
| Dimension | Score | Detail |
|---|---|---|
| Fix complexity | 1/5 | critical |
| Affected files | 1/5 | 59 file(s) |
| Single repo | 1/3 | 7 service(s) |
| Immediate actions | 0/3 | absent |
| Testability | 2/3 | test mentioned |
| External dependency | 1/3 | external deps found |
| Data migration | 3/3 | no migration |