Conversation
* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결 * refactor: 바뀐 dto에 맞게 BIZ 및 test 수정
* fix: 피버타임 검증 시 점수가 두배가 되지 않는 문제 해결 * refactor: 바뀐 dto에 맞게 BIZ 및 test 수정 * fix: 피버타임중 일시정지 시 피버타임도 멈추게 한다 * refactor: 인터페이스로 묶는다
* fix: 점수 증가 로직 오류 해결 * fix: 스트릭 발생 시각을 받는다 * refactor: 네이밍 수정 * fix(test): 스트릭 발생 시각 추가
* fix: 치팅 및 네트워크 지연 해결 * comment: 디버깅을 위한 로그 추가 * fix: session과 fevertime 일시정지 동기화
* fix: 치팅 및 네트워크 지연 해결 * comment: 디버깅을 위한 로그 추가 * fix: session과 fevertime 일시정지 동기화 * fix: 세션 예외 오류 해결 * feat: multipart 예외 핸들링 * refactor: CD 파이프라인 OCI로 마이그레이션 * fix: end response 분리
* fix: 치팅 및 네트워크 지연 해결 * comment: 디버깅을 위한 로그 추가 * fix: session과 fevertime 일시정지 동기화 * fix: 세션 예외 오류 해결 * feat: multipart 예외 핸들링 * refactor: CD 파이프라인 OCI로 마이그레이션 * fix: end response 분리 * fix: oci 경로 수정
There was a problem hiding this comment.
Code Review
This pull request updates the rolling deployment script to use the OCI CLI's native wait functionality instead of a manual sleep when updating backend drain states. A review comment points out that removing the explicit sleep timer could potentially introduce race conditions if the OCI CLI's success state does not guarantee full propagation across all load balancer nodes.
| --is-drain "$is_drain" \ | ||
| --wait-for-state SUCCEEDED \ | ||
| --max-wait-seconds 120 | ||
|
|
||
| oci nlb backend update \ | ||
| --auth instance_principal \ | ||
| --network-load-balancer-id "$NLB_ID" \ | ||
| --backend-set-name snackgame-https \ | ||
| --backend-name "$HTTPS_BACKEND" \ | ||
| --is-drain "$is_drain" | ||
|
|
||
|
|
||
| if [ "$is_drain" = "true" ]; then | ||
| echo "[NLB] 드레인 적용 대기 중 (10초)..." | ||
| sleep 10 | ||
| fi | ||
| --is-drain "$is_drain" \ | ||
| --wait-for-state SUCCEEDED \ | ||
| --max-wait-seconds 120 |
There was a problem hiding this comment.
The removal of the explicit sleep timer after setting the drain state might lead to race conditions if the OCI CLI command returns success before the load balancer has fully propagated the drain state to all nodes. While --wait-for-state SUCCEEDED is used, it is safer to retain a small buffer or ensure the OCI API consistency is sufficient for your specific environment.
No description provided.