fix: query_backtest_logs/query_component_logs level 双向 lower 归一#6430
Conversation
Code reviewNo issues found in the two methods this PR targets. Checked for bugs and CLAUDE.md compliance. One out-of-scope same-root bug noted below (non-blocking, follow-up recommended). Verified(补全 #6232 search_logs 双向 lower 范式遗漏的同源方法 query_backtest_logs / query_component_logs):
#6222 review 评论同时点名的第三处同源 bug 未覆盖—— GinkGO/src/ginkgo/services/logging/log_service.py Lines 471 to 476 in c9b807d 本 PR 标题/body 明确限定 query_backtest_logs/query_component_logs,get_error_stats 是第三个独立方法,不修不构成本 PR 缺陷。但为闭环 level 大小写问题,建议:要么本 PR 扩展范围一并改为 🤖 Generated with Claude Code - If this code review was useful, please react with 👍. Otherwise, react with 👎. |
ClickHouse level 列混大小写存储,== 大小写敏感。query_backtest_logs / query_component_logs 的单边 level.upper() 传 "ERROR" 匹配不到小写 "error" 存储,按级别过滤漏数据。 对齐 search_logs(已修)范式:func.lower(model.level) == level.lower()。 TDD: 3 测试 RED->GREEN(session mock 捕获 query 对象,编译 WHERE clause, 三断言交叉锁区分单边 .upper() 与双向 func.lower)。 三层冒烟:L1 py_compile / L2 启动路径 / L3 log_service 回归 39 passed 零回归。
042d624 to
0b99825
Compare
Summary
补全 #6232(search_logs level 双向 lower 修复)遗漏的同源方法:
query_backtest_logs/query_component_logs的 level 过滤仍是单边level.upper(),传"ERROR"匹配不到 ClickHouse 小写"error"存储,按级别过滤漏数据。根因
ClickHouse
ginkgo_logs_backtest/ginkgo_logs_component的level列混大小写存储(Master 大写 / Test 混 / 新写入小写),而 ClickHouse==大小写敏感。单边level.upper()只匹配大写存储,漏掉小写那部分。search_logs已由 #6232 用双向func.lower(model.level) == level.lower()修复,这两个同源方法遗漏。修改
src/ginkgo/services/logging/log_service.py两处(对齐 search_logs L403 范式):query_backtest_logs:MBacktestLog.level == level.upper()→func.lower(MBacktestLog.level) == level.lower()query_component_logs:MComponentLog.level == level.upper()→func.lower(MComponentLog.level) == level.lower()Test plan
TDD RED→GREEN(
tests/unit/services/logging/test_log_service_level_case.py):object.__new__装配 LogService 避开 DB 连接,mock session 捕获execute收到的 queryliteral_binds),三断言交叉锁区分单边.upper()与双向func.lower:lower(函数名存在(列侧归一)'error'(参数侧归一)'ERROR'(反向锁)level=None不注入级别过滤三层冒烟全绿:
关联
相关 issue #5511(#6222 review 要求一并修同源 query_logs;#6232 已修 search_logs)。本 PR 补全遗漏的 query_logs 部分,不重复 #6232 已做的 search_logs 修复。
🤖 Generated with Claude Code