[Grafana Loki] 검증이 완료될 때까지 accepted stream 캐시를 비활성화
PR 링크: grafana/loki#20879 상태: Merged | 변경: +4 / -4
들어가며
바로 전 PR(#20860)에서 리팩터링된 accepted streams 캐시는 블룸 필터를 사용하는 확률적 자료구조입니다. 블룸 필터는 false positive가 발생할 수 있어, 실제로 제한을 초과한 스트림이 캐시에 의해 통과될 가능성이 있습니다. 이 PR은 캐시의 효과를 더 검증할 시간이 필요하다고 판단하여 기본값을 true에서 false로 변경합니다.
핵심 코드 분석
Before: 캐시 기본 활성
f.BoolVar(
&cfg.AcceptedStreamsCacheEnabled,
"ingest-limits-frontend.accepted-streams-cache-enabled",
true,
"Enable the accepted streams cache.",
)
After: 캐시 기본 비활성 + 실험적 태그
f.BoolVar(
&cfg.AcceptedStreamsCacheEnabled,
"ingest-limits-frontend.accepted-streams-cache-enabled",
false,
"[Experimental]: Enable the accepted streams cache.",
)
왜 이게 좋은가
- 안전 우선: 확률적 자료구조의 정확성이 완전히 검증되지 않은 상태에서 프로덕션에 기본 활성화하는 것은 리스크입니다.
- 점진적 도입:
[Experimental]태그를 추가하여 사용자가 명시적으로 활성화해야 하므로, 문제 발생 시 영향 범위가 제한됩니다. - 기능 보존: 코드를 제거하지 않고 플래그만 변경하여, 검증이 완료되면 다시 기본 활성화할 수 있습니다.
- 운영 관행의 모범: 새로운 최적화를 도입할 때 바로 기본 활성화하기보다 opt-in으로 시작하고 메트릭을 수집한 후 기본값을 바꾸는 것이 안전합니다.
참고 자료
관련 포스트
PR Analysis 의 다른글
- 이전글 [Grafana Loki] 범위 집계를 병렬 파티션으로 푸시다운하여 쿼리 처리 최적화
- 현재글 : [Grafana Loki] 검증이 완료될 때까지 accepted stream 캐시를 비활성화
- 다음글 [Open WebUI] 공유 채팅 목록에서 불필요한 JSON 역직렬화를 제거하여 응답 속도 개선
댓글