fix: pod WebClient 응답 타임아웃 기본값 상향 - #420
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe ChangesPod WebClient timeout
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: 🔵 Low · up to The default pod operation timeout increases from 300 to 600 seconds, which can reduce premature failures for slow image pulls but may keep stalled requests and shared connection capacity occupied longer. The PR is mergeable with explicit owner awareness of this bounded availability risk and follow-up if downstream slowness can exhaust request capacity. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Description checkExplanation The description explains the timeout change, the reason for the change, and the linked issue. It uses different headings from the repository template and omits a separate reference section, but it contains the required core information.
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
* fix: 계정 삭제 시 대상 farm 노드(node_name)를 config-server에 전달 config-server의 delete_user API에 node_name 파라미터가 추가됐는데(admin_infra PR #138), admin_be가 이걸 실제로 안 넘기면 아무 효과가 없다. 4개 호출부를 각각 수정: - RequestExpiryService(만료 정리), AdminUserService(관리자 수동 삭제, 유저 탈퇴 시 일괄 정리): 이미 Request 엔티티에 있는 nodeName을 그대로 사용. - AdminRequestCommandService의 승인 실패 보상 트랜잭션: 두 갈래로 나뉜다. ① Pod 생성 자체가 실패한 경우 — 성공한 CreatePodResponseDTO가 없어서 node를 알 방법이 없었다. PodService.createPod의 에러 응답 파싱을 확장해 config-server가 응답 바디에 넣어주는 node 필드(admin_infra PR #138에서 추가)를 꺼내 PodCreationFailedException으로 들고 오도록 함. ② Pod는 성공했는데 이후 DB 반영이 실패한 경우 — 이미 성공 응답(node 포함)이 있으므로 그대로 사용. node를 못 구하면(파싱 실패 등) null로 넘어가고, config-server는 하위 호환으로 기존처럼 전체 farm을 훑는다 — 동작이 깨지지는 않고, 다만 좁혀지지 않을 뿐이다. * fix: 관리자 events 조회 RBAC 누락 및 신청 취소 시 PROCESSING 상태 미차단 수정 admin-prod RBAC에 events 권한을 추가해 Pod 이벤트 조회 403을 수정하고, cancelRequest가 PROCESSING 상태를 못 막던 버그를 수정한다. Fixes #466 * fix: 보상 트랜잭션 실패 알림을 관리자 farm/lab 채널로 라우팅 (#469) 계정/Pod 생성 실패 후 보상 트랜잭션(정리) 자체가 또 실패하면 고아 계정/Pod가 남을 수 있어 즉시 수동 정리가 필요한데, 지금까지는 관리자가 평소 안 보는 범용 에러 로그 채널로만 알림이 갔다. 요청의 서버 구분(FARM/LAB)을 이용해 "새로운 서버 사용 신청" 알림과 같은 관리자 채널로 보내도록 변경한다. 재조정 스케줄러가 트랜잭션 밖에서 resourceGroup(지연 로딩)에 접근하게 되어 LazyInitializationException이 나는 것도 함께 막는다 (JOIN FETCH 추가). Fixes #468 * fix: pod WebClient 응답 타임아웃 기본값 300초 → 600초로 상향 (#420) --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
* feat: 관리자용 Pod 생성 진행 상태 조회 API 추가 * fix: 관리자 events 조회 RBAC 누락 및 신청 취소 시 PROCESSING 상태 미차단 수정 admin-prod RBAC에 events 권한을 추가해 Pod 이벤트 조회 403을 수정하고, cancelRequest가 PROCESSING 상태를 못 막던 버그를 수정한다. Fixes #466 * fix: 보상 트랜잭션 실패 알림을 관리자 farm/lab 채널로 라우팅 (#469) 계정/Pod 생성 실패 후 보상 트랜잭션(정리) 자체가 또 실패하면 고아 계정/Pod가 남을 수 있어 즉시 수동 정리가 필요한데, 지금까지는 관리자가 평소 안 보는 범용 에러 로그 채널로만 알림이 갔다. 요청의 서버 구분(FARM/LAB)을 이용해 "새로운 서버 사용 신청" 알림과 같은 관리자 채널로 보내도록 변경한다. 재조정 스케줄러가 트랜잭션 밖에서 resourceGroup(지연 로딩)에 접근하게 되어 LazyInitializationException이 나는 것도 함께 막는다 (JOIN FETCH 추가). Fixes #468 * fix: pod WebClient 응답 타임아웃 기본값 300초 → 600초로 상향 (#420) * fix: 계정 삭제 시 대상 farm 노드(node_name)를 config-server에 전달 (#465) * fix: 계정 삭제 시 대상 farm 노드(node_name)를 config-server에 전달 config-server의 delete_user API에 node_name 파라미터가 추가됐는데(admin_infra PR #138), admin_be가 이걸 실제로 안 넘기면 아무 효과가 없다. 4개 호출부를 각각 수정: - RequestExpiryService(만료 정리), AdminUserService(관리자 수동 삭제, 유저 탈퇴 시 일괄 정리): 이미 Request 엔티티에 있는 nodeName을 그대로 사용. - AdminRequestCommandService의 승인 실패 보상 트랜잭션: 두 갈래로 나뉜다. ① Pod 생성 자체가 실패한 경우 — 성공한 CreatePodResponseDTO가 없어서 node를 알 방법이 없었다. PodService.createPod의 에러 응답 파싱을 확장해 config-server가 응답 바디에 넣어주는 node 필드(admin_infra PR #138에서 추가)를 꺼내 PodCreationFailedException으로 들고 오도록 함. ② Pod는 성공했는데 이후 DB 반영이 실패한 경우 — 이미 성공 응답(node 포함)이 있으므로 그대로 사용. node를 못 구하면(파싱 실패 등) null로 넘어가고, config-server는 하위 호환으로 기존처럼 전체 farm을 훑는다 — 동작이 깨지지는 않고, 다만 좁혀지지 않을 뿐이다. * fix: 관리자 events 조회 RBAC 누락 및 신청 취소 시 PROCESSING 상태 미차단 수정 admin-prod RBAC에 events 권한을 추가해 Pod 이벤트 조회 403을 수정하고, cancelRequest가 PROCESSING 상태를 못 막던 버그를 수정한다. Fixes #466 * fix: 보상 트랜잭션 실패 알림을 관리자 farm/lab 채널로 라우팅 (#469) 계정/Pod 생성 실패 후 보상 트랜잭션(정리) 자체가 또 실패하면 고아 계정/Pod가 남을 수 있어 즉시 수동 정리가 필요한데, 지금까지는 관리자가 평소 안 보는 범용 에러 로그 채널로만 알림이 갔다. 요청의 서버 구분(FARM/LAB)을 이용해 "새로운 서버 사용 신청" 알림과 같은 관리자 채널로 보내도록 변경한다. 재조정 스케줄러가 트랜잭션 밖에서 resourceGroup(지연 로딩)에 접근하게 되어 LazyInitializationException이 나는 것도 함께 막는다 (JOIN FETCH 추가). Fixes #468 * fix: pod WebClient 응답 타임아웃 기본값 300초 → 600초로 상향 (#420) --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Summary
Related
Closes #419
Summary by CodeRabbit