[P1][bug] /sdk/connect queue full 시 200 OK를 쓰기 전에 503 반환 #28
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
문제
/sdk/connect처리에서 HTTP 200 OK를 먼저 쓴 뒤stream.offer(io)를 호출하는 구조입니다. ready queue가 full이면 이미 200을 보낸 상태라 정상 error response를 반환할 수 없습니다.관련 후보:
crates/portal-relay/src/api/mod.rscrates/portal-relay/src/api/sdk.rscrates/portal-relay/src/relay/stream.rs영향
제안
offer()가 response write까지 책임지도록 boundary 재설계완료 기준
/sdk/connect는 200을 쓰지 않고 실패 응답 반환검토 기준: 업로드된 Rust
portal-relay코드 정적 리뷰. 리뷰 환경에서는cargo check/test/clippy를 실행하지 못했습니다.수용했습니다. PR #62에서 /sdk/connect가 200 OK를 쓰기 전에 reverse session queue reservation을 먼저 잡도록 변경했습니다. queue full이면 503 응답을 보냅니다. 검증: cargo test --locked, cargo clippy --locked --all-targets -- -D warnings.