Skip to content

시작 단계 데이터팩 fatal 오류를 infrastructure exit(4)로 분류한다 #12

Description

@leehyowon14

요약

서버가 ready 이전에 Failed to load datapacks를 출력하고 비정상 종료하면 DPT는 fatal datapack issue를 발견하고도 ExitInfrastructure(4)를 반환합니다.

  • 검토 기준: main@4e87765f95c106edb3c956cfad2abc1db64c0c39
  • 판정: CONFIRMED
  • 우선순위: P2

영향

데이터팩 내용 때문에 발생한 결정적인 실패가 인프라 장애로 보고됩니다. CI가 exit 1과 4를 다르게 재시도하거나 분류하면 잘못된 후속 처리를 할 수 있습니다. 명령이 성공하는 문제는 아닙니다.

발생 조건 및 확인 범위

fake server가 다음 로그를 출력하고 ready 없이 exit 7로 종료할 때 runLoadSmoke가 exit 4를 반환했습니다.

[Server thread/ERROR]: Failed to load datapacks

포트 바인딩, Java 실행, 파일 접근 같은 실제 인프라 오류는 계속 exit 4여야 합니다.

재현 및 검증 방법

  1. fake server가 위 fatal 로그를 출력합니다.
  2. ready 로그 없이 exit 7로 종료합니다.
  3. runLoadSmoke 결과에 ExitCode를 적용합니다.
  4. 현재 결과가 ExitInfrastructure(4)인지 확인합니다.

기대 동작

fatal datapack 진단이 명확하면 ready 이전 종료라도 ExitTestFailure(1)로 분류해야 합니다. 데이터팩 진단이 없는 환경 오류는 exit 4를 유지해야 합니다.

완료 조건

  • 시작 중 fatal datapack 로그와 비정상 종료를 exit 1로 분류한다.
  • 포트 바인딩, Java 실행, 파일 접근 오류는 exit 4를 유지한다.
  • datapack fatal과 infrastructure fatal이 함께 있을 때의 우선순위를 정의한다.
  • ready 이전/이후 datapack fatal 회귀 테스트를 추가한다.
  • JSON/JUnit 출력에도 동일한 분류가 반영된다.

관련 코드

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions