배경
#374/#375에서 대시보드 MESSAGE마다 수신자별 primary 역할 조회가 수행되어, 50개 구독에서 전송 지연이 크게 증가한 것을 확인했습니다. 기존의 권한 회수 후 신규 판정 차단은 유지해야 합니다.
작업 범위
- 한 번의 대시보드 push에서 후보 userId를 중복 제거하고 현재 OpenSQL primary에서 ADMIN 여부를 일괄 확인합니다.
- 서버 내부 판정 정보가 수신자별 outbound까지 전달되며 클라이언트 STOMP 프레임에는 노출되지 않는지 먼저 검증합니다. 확인할 수 없다면 기존 검사를 유지합니다.
- 권한 회수 HTTP 200 이후 시작한 새 판정은 이전 ADMIN을 승인하지 않습니다. primary 조회 실패·standby 도착·Redis 장애에서도 오래된 권한으로 우회하지 않습니다.
- 회수 전에 판정을 완료한 진행 중 메시지의 늦은 수신은 신규 승인과 분리해 결정적 회귀 시험으로 기록합니다.
- 대시보드 외 RAG 개인 알림과 재처리 API 결과는 기존 동작을 유지합니다.
완료 조건
- 위 계약을 검증하는 단위·통합 테스트 통과
- 실제 변경 파일과 실행 결과를 비식별 문서로 기록
- GCP 부하 성능 재측정은 별도 후속 작업으로 분리
배경
#374/#375에서 대시보드 MESSAGE마다 수신자별 primary 역할 조회가 수행되어, 50개 구독에서 전송 지연이 크게 증가한 것을 확인했습니다. 기존의 권한 회수 후 신규 판정 차단은 유지해야 합니다.
작업 범위
완료 조건