发布

  • [OPIK-6734] [BE] fix: resolve ClassCastException in thread-level online evaluation rules with filters (#6904)

    frostbyte_neo 发布于 2026-05-28 15:41:44 +00:00

    Thread-level LLM-as-judge rules with configured filters threw
    ClassCastException (TraceThreadFilter cannot be cast to TraceFilter)
    because shouldSampleTraceThread() incorrectly cast the evaluator's
    filters to List and then attempted to convert them back.

    The evaluator already holds correctly-typed TraceThreadFilter objects
    since the filters architecture refactor (#4311), so the cast and
    conversion logic were both wrong and unnecessary. Removed the dead
    conversion pipeline and cast directly to List.

    Wrote regression test that reproduces the exact production error first,
    then applied the fix. The original intent of the conversion code was
    valid when filters were stored as TraceFilter, but it was never updated
    after the type was corrected upstream.

    下载附件