Skip to content
isdnetworks
Go back

우리는 중지했는데 저쪽은 판매 중

거래가 끝난 곳의 상품이 외부에서 계속 판매됐다는 제보를 받았다. 우리 시스템에서는 상태가 중지로 되어 있어서 겉으로는 정상이었다.

Table of contents

Open Table of contents

상태는 정상이고 작업은 실패였다

상태만 보지 말고 작업 기록을 시간순으로 봤다. 등록은 성공했고 그 뒤의 중지 작업이 실패로 남아 있었으며 재시도도 알림도 없었다.

한 달 뒤에 삭제 표식이 설정된 기록이 이어졌다. 우리 쪽 상태는 우리가 의도한 것이고 그것이 외부에 반영됐다는 근거는 작업 결과에만 있다.

이름 길이가 막은 중지

실패 로그를 보니 상품명 길이가 제한을 넘었다는 거부였다. 중지도 수정 요청으로 나가는데 그 요청에 상품명이 포함되고 그 값이 검증에 걸린 것이었다.

중지하려는데 이름이 길어서 못 하는 상황이다. 관계없어 보이는 검증이 관계없어 보이는 동작을 막는 구조였다.

삭제 표식이 가린 이력

거래처가 정리되면서 삭제 표식이 설정되자 관리 목록에서 그 건이 사라졌다. 실패한 중지 작업이 있다는 사실을 볼 수 있는 화면이 없어진 것이다.

외부에서는 계속 판매 중인데 우리 화면에는 아무것도 안 보이는 상태가 됐다. 주문이 들어와서야 그 사실이 드러났다.

상태가 아니라 작업으로 확인

그래서 중지가 실제로 반영됐는지는 상태 컬럼이 아니라 그 채널의 중지 작업이 성공했는지로 확인하기로 했다. 정리 절차에도 중지 요청과 삭제 표식 사이에 성공 확인과 실패 건 별도 처리를 끼워 넣었다.

확인 없이 삭제 표식을 설정하면 실패가 그대로 은폐된다. 순서 하나를 바꾸는 것으로 은폐 경로가 닫혔다.

미검증 표기와 전수 점검

왜 그 실패가 실패로 인식되지 않았는지는 확인하지 못했다. 실패 상태 컬럼이 비어 있어서 목록에 안 잡힌 것으로 보이지만 코드를 봐야 확정되므로 미검증 추정으로 적었다.

추정을 사실처럼 적으면 다음 사람이 그것을 근거로 다른 판단을 한다. 마지막으로 중지 실패 뒤에 삭제된 건이 얼마나 있는지를 세어 보니 여럿 나왔고 하나를 고치면서 같은 부류를 전수로 세는 것이 이런 조사의 실질이었다.

정리


Share this post on:

Previous Post
무상태 환경에서 파일에 쓰면
Next Post
동시에 실패했다고 원인이 같지 않다