되돌릴 수 없는 변경 · 고객 변경을 끝까지 인계하기 · 퀴즈
퀴즈: 고객 변경 종합 인계
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
미리보기로 revision과 수량을 얻었다. 실행 제안 파일의 approved는 어떻게 만드는가?
- 조회가 성공했으므로 True로 만들어 다음 단계에서 즉시 실행한다.
- 원래 요청에 승인 단어가 있으면 정수 1을 넣어 승인으로 간주한다.
- False로 두고 내용을 확인한 별도 명시적 승인 전에는 실행을 거절한다.
- revision이 0보다 크면 이미 승인된 주문으로 간주해 필드를 생략한다.
apply의 커밋 뒤 응답이 유실되어 예외를 받았다. 적절한 처리는?
- 결과 불명으로 남기고 같은 승인과 원 ID의 확정 기록을 관측한다.
- 실패가 확정됐으므로 새로운 변경 ID를 만들어 즉시 다시 적용한다.
- 오류가 사라질 때까지 현재 값을 다시 조회해 승인 목록을 바꾼다.
- 어떤 예외든 성공으로 바꾸면 중복 실행을 방지할 수 있다.
실행은 확정됐고 보고 파일 저장만 실패했다. report 동작은 무엇을 해야 하는가?
- 원 주문을 먼저 pending으로 되돌린 다음 보고서를 다시 만든다.
- 새 change_id로 같은 취소를 재실행하고 새 결과를 보고한다.
- 기존 감사를 지워 실패 흔적을 없애고 마지막 단계를 반복한다.
- 업무 변경이나 보상 없이 보고서 생성·저장만 다시 호출한다.
동일 change_id의 기록은 있지만 tenant 또는 승인 qty가 요청과 다르다. 어떻게 처리하는가?
- ID가 같으므로 같은 요청으로 보고 기존 결과를 그대로 전달한다.
- 다른 승인으로 분류하고 현재 요청의 보고서를 발행하지 않는다.
- 저장된 승인 값을 현재 요청에 덮어써 일치시킨 뒤 계속 진행한다.
- 대상 건수만 맞으면 고객 차이를 표현상의 차이로 무시한다.
별도 승인된 보상 전에 한 주문의 revision이 더 증가했다. 무엇이 맞는가?
- 보상은 복구이므로 최신 값을 무시하고 원 revision으로 낮춘다.
- 바뀌지 않은 주문만 먼저 복원해 부분 완료를 자동 허용한다.
- 현재 전제가 다르므로 보상을 거절하고 앞 행의 변경도 롤백한다.
- 원 감사를 삭제하면 후속 변경 충돌 없이 다시 시작할 수 있다.
CLI가 종료 코드 0과 observed=hold, report=saved를 출력했다. 어떤 의미인가?
- 요청 처리는 끝났고 보고서는 저장됐지만 업무 관측은 보류 상태다.
- 종료 코드가 0이므로 업무 변경과 현재 시스템이 모두 정상 완료다.
- 보고서가 저장됐으므로 hold는 오래된 표시라 무시해도 된다.
- 저장 성공은 DB 관측과 파일이 같은 순간이라는 사실까지 증명한다.