Skip to content

drain 경합으로 인한 409 conflict 해결#240

Merged
Hwanvely merged 16 commits intomainfrom
dev
Apr 6, 2026
Merged

drain 경합으로 인한 409 conflict 해결#240
Hwanvely merged 16 commits intomainfrom
dev

Conversation

@Hwanvely
Copy link
Copy Markdown
Collaborator

@Hwanvely Hwanvely commented Apr 6, 2026

No description provided.

* 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 경로 수정
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines +39 to +50
--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
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

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.

@Hwanvely Hwanvely merged commit 59f17fb into main Apr 6, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant