-
Notifications
You must be signed in to change notification settings - Fork 51
Open
Labels
enhancementNew feature or requestNew feature or requestquestionFurther information is requestedFurther information is requested
Description
vNet/subnet 자원을 Refine하는 기능을 개발하는 과정에서 파악한 사항으로,
자원 유무를 조회 한 다음, 어떤 로직이 처리되는 대부분의 케이스에 잠재된 이슈가 있어 보입니다.
vNet/subnet refine 과정은
- Tumblebug에 저장된 Object를 신뢰할 수 있는 정보로 보고,
- Spider API를 통해 해당 자원을 조회 한 후,
- 없다면 Object를 삭제하는 절차로 진행됩니다.
Spider에서는 자원이 없는 경우 404 에러가 리턴되고 있습니다.
그래서 자원 조회 요청 후, 에러이면 Refine 하는 로직이 적용되어 있습니다.
이슈가 되는 케이스는, 자원이 실제로 있어서 Refine할 필요가 없는데, 조회를 처리하는 과정에서 다른 에러가 발생 한 경우 입니다. (예, 404 이외의 에러 코드가 발생한 경우) 이 경우, 자원이 있음에도 Refine 처리될 것 입니다...
ExecuteHttpRequest의 관련 코드:
cb-tumblebug/src/core/common/client.go
Lines 211 to 218 in a0bc69f
if err != nil { | |
if method == "GET" { | |
requestDone(requestKey) | |
} | |
return fmt.Errorf("[Error from: %s] Message: %s", url, err.Error()) | |
} | |
if resp.IsError() { |
코드 분류 하는 방법을 시도해 보았으나 적절하지 않다고 판단하였고, 일단 이슈를 오픈해 놓으려고 합니다.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestquestionFurther information is requestedFurther information is requested