OMA性能差异测试分析文件阶段返回0行

【 使用环境 】 测试环境
【 OB or 其他组件 】OMA
【 使用版本 】oma-4.2.5
【问题描述】分析文件 阶段 识别的 总行数1000(total line count [1000]
),但返回0(get total records [0])
【复现路径】

  1. general log (部分)

2025-11-19T09:12:21.191020Z 208 Execute DELETE FROM sbtest91 WHERE id=5043
2025-11-19T09:12:21.191055Z 138 Execute UPDATE sbtest37 SET k=k+1 WHERE id=4994
2025-11-19T09:12:21.191104Z 183 Execute SELECT c FROM sbtest32 WHERE id BETWEEN 4996 AND 5095

  1. 使用的OMA命令 :来自:https://www.oceanbase.com/docs/enterprise-oma-doc-cn-1000000003404966

(试了2种)
sh bin/start.sh --name test_mysql_replay --mode REPLAY --replay-phase COLLECT --source-file “/tidata/ge1.log” --parallel-count 1 --source-type MYSQL --parse-thread-count 1 --source-db-user “sbtest” --log-time-regex “\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\.\\d{6}\+08:00”

sh bin/start.sh --name test_mysql_replay --mode REPLAY --replay-phase COLLECT --source-file “/tidata/ge1.log” --parallel-count 1 --source-type MYSQL --parse-thread-count 1 --source-db-user “sbtest” --log-time-regex “\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\.\\d{6}\\Z”

  1. OMA返回的日志

20:15:18,898 |-INFO in ch.qos.logback.classic.LoggerContext[default] - This is logback-classic version 1.3.5
20:15:18,915 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [file:/tidata/oma-4.2.5/config/logback.xml] at [file:/tidata/oma-4.2.5/config/logback.xml]
20:15:19,141 |-WARN in ch.qos.logback.core.model.processor.ImplicitModelHandler - Ignoring unknown property [jmxConfigurator] in [ch.qos.logback.classic.LoggerContext]
20:15:19,149 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [FILE_APPENDER]
20:15:19,149 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
20:15:19,166 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@942518407 - Archive files will be limited to [64 MB] each.
20:15:19,202 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@942518407 - No compression will be used
20:15:19,204 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@942518407 - Will use the pattern /tidata/oma-4.2.5/logs/oma.%d{yyyy-MM-dd}.%i.log for the active file
20:15:19,219 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@73d4cc9e - The date pattern is ‘yyyy-MM-dd’ from file name pattern ‘/tidata/oma-4.2.5/logs/oma.%d{yyyy-MM-dd}.%i.log’.
20:15:19,219 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@73d4cc9e - Roll-over at midnight.
20:15:19,222 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@73d4cc9e - Setting initial period to Wed Nov 19 20:15:19 CST 2025
20:15:19,228 |-INFO in ch.qos.logback.core.model.processor.ImplicitModelHandler - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
20:15:19,243 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE_APPENDER] - Active log file name: /tidata/oma-4.2.5/logs/oma.2025-11-19.0.log
20:15:19,243 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[FILE_APPENDER] - File property is set to [null]
20:15:19,245 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [TRACE_LOG]
20:15:19,245 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
20:15:19,245 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@134310351 - Archive files will be limited to [64 MB] each.
20:15:19,245 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@134310351 - No compression will be used
20:15:19,245 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@134310351 - Will use the pattern /tidata/oma-4.2.5/logs/oma.%d{yyyy-MM-dd}.%i.trace.log for the active file
20:15:19,246 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@5427c60c - The date pattern is ‘yyyy-MM-dd’ from file name pattern ‘/tidata/oma-4.2.5/logs/oma.%d{yyyy-MM-dd}.%i.trace.log’.
20:15:19,246 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@5427c60c - Roll-over at midnight.
20:15:19,247 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@5427c60c - Setting initial period to Wed Nov 19 20:15:19 CST 2025
20:15:19,247 |-INFO in ch.qos.logback.core.model.processor.ImplicitModelHandler - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
20:15:19,248 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[TRACE_LOG] - Active log file name: /tidata/oma-4.2.5/logs/oma.2025-11-19.0.trace.log
20:15:19,249 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[TRACE_LOG] - File property is set to [null]
20:15:19,249 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [CONSOLE]
20:15:19,249 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
20:15:19,251 |-INFO in ch.qos.logback.core.model.processor.ImplicitModelHandler - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
20:15:19,252 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [traceLog] to TRACE
20:15:19,252 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting additivity of logger [traceLog] to false
20:15:19,252 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [TRACE_LOG] to Logger[traceLog]
20:15:19,252 |-INFO in ch.qos.logback.classic.model.processor.RootLoggerModelHandler - Setting level of ROOT logger to INFO
20:15:19,252 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [FILE_APPENDER] to Logger[ROOT]
20:15:19,253 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [CONSOLE] to Logger[ROOT]
20:15:19,253 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - Processing appender named [DruidFILE]
20:15:19,253 |-INFO in ch.qos.logback.core.model.processor.AppenderModelHandler - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
20:15:19,253 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@22805895 - No compression will be used
20:15:19,254 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@22805895 - Will use the pattern /tidata/oma-4.2.5/logs/slow-query.log-druid-%d{yyyy-MM-dd} for the active file
20:15:19,255 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - The date pattern is ‘yyyy-MM-dd’ from file name pattern ‘/tidata/oma-4.2.5/logs/slow-query.log-druid-%d{yyyy-MM-dd}’.
20:15:19,255 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Roll-over at midnight.
20:15:19,256 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Setting initial period to Wed Nov 19 16:38:40 CST 2025
20:15:19,259 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[DruidFILE] - Active log file name: /tidata/oma-4.2.5/logs/slow-query.log
20:15:19,259 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[DruidFILE] - File property is set to [/tidata/oma-4.2.5/logs/slow-query.log]
20:15:19,260 |-INFO in ch.qos.logback.classic.model.processor.LoggerModelHandler - Setting level of logger [com.alibaba.druid.filter.stat.StatFilter] to ERROR
20:15:19,260 |-INFO in ch.qos.logback.core.model.processor.AppenderRefModelHandler - Attaching appender named [DruidFILE] to Logger[com.alibaba.druid.filter.stat.StatFilter]
20:15:19,260 |-INFO in ch.qos.logback.core.model.processor.DefaultProcessor@543e710e - End of configuration.
20:15:19,260 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@57f23557 - Registering current configuration as safe fallback point


/ __ \ | _ \ | / () | | () /\ | |
| | | | ___ ___ __ _ _ __ | |) | __ _ ___ ___ | \ / | __ _ _ __ __ | | _ ___ _ __ / \ ___ ___ ___ ___ ___ _ __ ___ ___ _ __ | |_
| | | |/ / _ / | '_ \| _ < / _ / __|/ _ \ | |/| | |/ | '__/ _ | _| |/ _ | ’ \ / /\ \ / __/ __|/ _ / __/ | ’ ` _ \ / _ \ ’ | |
| |
| | (
| __/ (
| | | | | |) | (| __ \ / | | | | | (| | | | (| | || | () | | | | / ____ \ __ \ /_ _ \ | | | | | / | | | |
_
/ __|_,|| ||/ _,|/_| || |||_, || _,|_||__/|| || // __//_||//| || ||___|| ||_|
/ |
|
/

error when getting OMA version: null
OceanBase Migration Assessment version : DEV_VERSION
Powered by Ant Group
error when getting OMA version: null
[INFO ] 20:15:19.394 [main] c.a.oceanbase.oma.command.Commander - Start OceanBase Migration Assessment version [DEV_VERSION] …
[INFO ] 20:15:19.420 [main] c.a.o.oma.replay.ReplayServiceImpl - local jdbc jdbc:sqlite:/tidata/oma-4.2.5/db/oma.sqlite
[INFO ] 20:15:19.451 [main] c.a.o.oma.common.ds.conf.JdbcHelper - [SQLITE_3.2.0] URL:[jdbc:sqlite:/tidata/oma-4.2.5/db/oma.sqlite] connect count init:[5] : max[20] properties [{}]
[INFO ] 20:15:20.038 [main] c.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited
[INFO ] 20:15:20.583 [main] c.a.o.oma.replay.ReplayServiceImpl - start replay analyze job …
[INFO ] 20:15:20.808 [main] c.a.o.o.r.reader.MySqlCaptureReader - start init MySQL General Log reader…may take a few moment
[INFO ] 20:15:20.814 [main] c.a.o.o.s.file.GeneralLogScanner - Regex is : ^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}\Z).?(Query|Execute)\s(.?)$
[INFO ] 20:15:20.818 [main] c.a.o.o.r.reader.ReadServiceImpl - init read service …
[INFO ] 20:15:20.820 [main] c.a.o.o.r.store.StoreServiceImpl - init store service …
[INFO ] 20:15:20.826 [main] c.a.o.o.r.store.StoreServiceImpl - init 1 store tasks
[INFO ] 20:15:20.829 [main] c.a.o.o.r.store.StoreServiceImpl - submit 1 store task …
[INFO ] 20:15:20.829 [main] c.a.o.o.r.store.StoreServiceImpl - submit dispatcher task …
[INFO ] 20:15:20.829 [main] c.a.o.o.r.reader.MySqlCaptureReader - start to capture MySQL General Log
[INFO ] 20:15:20.845 [main] c.a.o.o.s.file.GeneralLogScanner - File [/tidata/ge1.log] total line count [1000]
[ test_mysql_replay_20251119_201520 ] Progress: ####################################### |99.9% [INFO ] 20:15:20.884 [main] c.a.o.o.replay.reader.AbstractReader - scan read finished … get total records [0]
[INFO ] 20:15:20.887 [pool-3-thread-2] c.a.o.o.replay.store.DispatcherTask - send finish …
[INFO ] 20:15:20.887 [pool-3-thread-2] c.a.o.o.replay.store.DispatcherTask - send finish to 3f531f32-3ae7-422d-9d7b-71fef0ee4536_dispatcher_0
[INFO ] 20:15:20.887 [pool-3-thread-2] c.a.o.o.r.store.StoreServiceImpl - task [3f531f32-3ae7-422d-9d7b-71fef0ee4536] - id [a5c9a] finished …
[INFO ] 20:15:20.887 [pool-3-thread-1] c.a.o.oma.replay.store.StoreTask - [ 3f531f32-3ae7-422d-9d7b-71fef0ee4536_dispatcher_0 ] send finish …
[INFO ] 20:15:20.891 [pool-3-thread-1] c.a.o.oma.replay.store.StoreTask - 3f531f32-3ae7-422d-9d7b-71fef0ee4536_dispatcher_0 finis writeFile is {}
[INFO ] 20:15:20.891 [pool-3-thread-1] c.a.o.o.r.store.StoreServiceImpl - task [3f531f32-3ae7-422d-9d7b-71fef0ee4536_dispatcher_0] - id [b7ba4] finished …
[INFO ] 20:15:20.891 [pool-3-thread-1] c.a.o.o.r.store.StoreServiceImpl - all tasks running finished …
[INFO ] 20:15:20.928 [main] c.a.oceanbase.oma.command.Processor - wait for task finish …
[INFO ] 20:15:21.158 [pool-3-thread-1] c.a.o.oma.replay.ReplayServiceImpl - remove context type [COLLECT] name [3f531f32-3ae7-422d-9d7b-71fef0ee4536]
[INFO ] 20:15:21.373 [pool-3-thread-1] c.a.o.oma.replay.ReplayServiceImpl - shut down execute service…
[INFO ] 20:15:25.931 [main] c.a.oceanbase.oma.command.Processor - RUNNING task [test_mysql_replay_20251119_201520] finish status [true]
PROCESS RECORD [ 0 ], FAILURE [ 0 ] CURRENT FILE [ 0 ] MERGE TO [ 0 ]
[INFO ] 20:15:25.932 [main] c.a.oceanbase.oma.command.Processor - =====================================
[INFO ] 20:15:25.932 [main] c.a.oceanbase.oma.command.Processor - STATS : task [test_mysql_replay_20251119_201520] finish status [true]
事务数: [0]任务名称 : [ test_mysql_replay_20251119_201520 ]