Skip to content
isdnetworks
Go back

상위만 옛것을 가리키던 상태

배송정책 화면에는 3,000원인데 마켓 연동 상세에서는 0원으로 나온다는 문의를 받았다. 같은 정책인데 두 화면의 값이 달랐다.

Table of contents

Open Table of contents

공존하던 정책들

먼저 그 업체의 정책을 전부 뽑으니 셋이었고 채널이 갈려 있었다. 하나는 구 채널이고 둘은 신 채널이었다.

이 시스템은 정책을 채널로 구분하는데 구 버전과 신 버전의 기본 채널이 다르다. 이 업체는 구 버전에서 이관됐으므로 구 채널 정책이 남아 있고 나중에 신 버전 화면에서 새 정책을 만든 것이었다.

상품이 가리키던 것

상품이 어느 정책을 가리키는지 조회하니 구 채널 정책이었다. 업체가 새 정책을 만들었지만 상품에 연결하지 않은 상태였다.

이것으로 두 화면의 차이가 설명됐다. 배송정책 화면은 업체가 만든 정책 목록을 보여 줄 뿐이고 마켓 연동 상세는 상품이 실제로 가리키는 정책을 읽는다. 연동 상세 쪽이 맞았고 목록 화면은 어느 것이 상품에 연결됐는지를 보여 주지 않는다.

구 정책이 3,500원인데 0원으로 나온 것도 설명이 됐다. 그 정책이 무료배송 유형이라 금액 필드에 값은 있어도 실제 부과가 0원이었다. 정책 데이터가 이상한 것이 아니라 잘못된 정책을 가리키고 있었다.

확인 순서

이 유형의 문의를 받으면 정책 데이터가 아니라 상품의 참조가 가리키는 정책의 채널부터 확인하기로 했다. 상품의 정책 식별자를 보고 그 정책의 채널을 보며 구 채널이면 이관 잔존으로 판정한다.

정책 데이터를 아무리 들여다봐도 답이 안 나오는데 문제가 참조에 있기 때문이다. 무엇을 볼지가 틀리면 조사 시간이 얼마든 늘어난다.

어긋난 범위

하위 마켓상품들도 함께 확인했더니 각 채널 정책에 올바르게 연결돼 있었다. 상위 하나만 어긋난 것이었다.

하위는 각 채널로 나갈 때 그 채널의 정책을 따로 잡는 흐름을 타는데 상위는 그 흐름 밖에 있었기 때문으로 보인다. 어디까지 어긋났는지를 확인하니 수정 범위가 상위 하나로 좁혀졌다.

신규 생성과 참조 갱신

고칠 때 방침이 있었다. 기존 정책을 수정하는 대신 신규로 만들고 연결하는 것이 이 프로젝트의 방침이고 기존 정책 변경은 그 정책을 쓰는 다른 상품에 영향을 주기 때문이다.

이번에는 이미 신규 정책이 있으므로 참조만 갱신하면 됐다. 이 건이 보여 주는 패턴은 이관이 데이터는 옮기는데 참조를 안 옮긴다는 것이다. 새 정책이 목록에 있으니 화면상으로는 문제가 안 보이고 참조를 따라가야 어긋난 것이 드러난다.

정리


Share this post on:

Previous Post
떼어 놓고 얻은 통과의 한계
Next Post
네 번 따로 적힌 같은 결함