Spring AI · Observability · open

PR #6317 — GH-5971: Add failing regression test for streaming observation stop order

스트리밍 응답에서 Observation의 stop order가 잘못된 순서로 호출되는 이슈(#5971)에 대해 실패하는 회귀 테스트를 먼저 PR로 보냈습니다. 기존 ChatModel mock 패턴을 그대로 따라 main 기준 HEAD에서 실패하는지 로컬에서 확인.

이슈 GH-5971의 두 절반

이슈는 두 분기로 나눌 수 있습니다:

  • 스트리밍 응답에서 Observation의 start/stop 순서가 어긋나는 직관적인 케이스 — ChatModel mock으로 재현 가능.
  • tool-call 경로에서 Schedulers.boundedElastic() 경계를 넘으며 Reactor context로부터 parent observation을 못 받는 더 어려운 분기 — ToolCallingAdvisor#handleToolCallRecursion 안.

이 PR이 다루는 범위

첫 절반(역순 호출 시 stop 순서 어긋남)에 대한 실패하는 회귀 테스트만 먼저 보냈습니다. 기존 파일에 자리 잡은 ChatModel mock 패턴을 그대로 따랐고, 머지 후 fix가 들어오면 동일 테스트가 통과하는 형태가 되도록 작성. tool-call 경로의 두 번째 절반은 별도 PR/@Disabled 테스트로 분리 가능하다고 PR 본문에 명시.

관련 자료