OMS调整参数运维任务失败

【 使用环境 】生产环境
【 OB or 其他组件 】OMS
【 使用版本 】4.2.13
【问题描述】OMS调整增量组件的参数,任务报错说正在进行中的无法更新:
[incrSyncUpdateTask] work order execution failed, orderId: 139756, stepId [140032], error info [CM response not success. |- ConnectorTaskV2 192.168.192.10-9000:connector_v2:np_7h6673v5a1q8-incr_trans-1-0:0000000323 cannot be updated while running, current status 1.]

但是我之前也同样的操作修改过其他任务的相同参数,而且这个失败任务重试了一次也不行,还是同样报错,是只能把任务暂停了然后修改参数吗?还是这只是运气不好多重试几次总能成功stop?

还有一个问题是OMS 运维监控->运维任务 里看历史任务都看不到参数从多少变到了多少,溯源不太方便,这个希望之后能改进下

6 个赞

调整参数 需要暂停任务以后 在调整

4 个赞


[Scene] JdbcWriteSlowScene
prev:sink.workerNum=8
post:sink.workerNum=64
affect:增加目的端线程数,提高并发效率,但是需要注意 4C 以下的机器不推荐该修改
comment:目的端线程数

oms任务老是延迟,./connector_utils.sh diagnose 分析出来是让我增加目标端线程数,这个现在的场景应该是没必要调整读取并发的,怕给源端mysql增加压力,如果我改成读取8并发写入32并发,JVM内存设置多少?还是要16~32GB和写入并发对齐吗,还是说可以折中的取一个8~16GB?担心内存设置的太高的话以后如果任务越来越多会不好分配

2 个赞

./connector_utils.sh metrics 这个执行一下 也发一下 可以把分析的./connector_utils.sh diagnose 发一下

2 个赞

diagnose如下,时间不压缩的很严格的情况下他自动分析没有结果,所以就缩减到了这1分钟的

[root@cdh81-78 192.168.81.78-19000:connector_v2:np_7p3n9ey197og-incr_trans-1-0:0000000373]# ./connector_utils.sh diagnose -s ‘2026-06-09T10:43:00’ -e ‘2026-06-09T10:44:10’
java -cp /home/ds/plugins/jdbc_connector/tools/connector-command.jar com.oceanbase.oms.connector.command.Command diagnose -t 192.168.81.78-19000:connector_v2:np_7p3n9ey197og-incr_trans-1-0:0000000373 -s 2026-06-09T10:43:00 -e 2026-06-09T10:44:10
10:51:38,399 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
10:51:38,399 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/u01/ds/plugins/jdbc_connector/tools/connector-command.jar!/logback.xml]
10:51:38,407 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@215be6bb - URL [jar:file:/u01/ds/plugins/jdbc_connector/tools/connector-command.jar!/logback.xml] is not of type file
10:51:38,463 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
10:51:38,467 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
10:51:38,469 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
10:51:38,472 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
10:51:38,499 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
10:51:38,502 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [INFO]
10:51:38,507 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1144648478 - Will use gz compression
10:51:38,508 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1144648478 - Will use the pattern ./logs/connector-command.%d{yyyy-MM-dd}.log for the active file
10:51:38,510 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - The date pattern is ‘yyyy-MM-dd’ from file name pattern ‘./logs/connector-command.%d{yyyy-MM-dd}.log.gz’.
10:51:38,510 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Roll-over at midnight.
10:51:38,513 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Setting initial period to Tue Jun 09 10:51:32 CST 2026
10:51:38,514 |-WARN in ch.qos.logback.core.rolling.RollingFileAppender[INFO] - This appender no longer admits a layout as a sub-component, set an encoder instead.
10:51:38,514 |-WARN in ch.qos.logback.core.rolling.RollingFileAppender[INFO] - To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.
10:51:38,514 |-WARN in ch.qos.logback.core.rolling.RollingFileAppender[INFO] - See also http://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details
10:51:38,515 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[INFO] - Active log file name: ./logs/connector-command.log
10:51:38,515 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[INFO] - File property is set to [./logs/connector-command.log]
10:51:38,515 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [stdout] to INFO
10:51:38,515 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [stdout] to false
10:51:38,516 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[stdout]
10:51:38,516 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
10:51:38,516 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [INFO] to Logger[ROOT]
10:51:38,516 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
10:51:38,516 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@5dfcfece - Registering current configuration as safe fallback point

ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console…
2026-06-09 10:51:39 INFO status:FINISHED
[Metrics]
[DataFlow]

[Delay]
delay:0ms,sourceDelay:72880ms
sinkDelay:108880ms
delayTrend:53s->62s->71s->80s->89s->98s->108s

[ERROR_LOG]
STOPPED

[GcMetrics]
youngMem:4096M,fullMem:4096M,heap:703M/8192M,noHeapUsed:82M
[youngGc-ParNew]costMsAvg:1.25,countPreSec:0.03
[fullGc-ConcurrentMarkSweep]costMsAvg:0.0,countPreSec:0.0

[Kafka]

[COORDINATOR_QUEUE]
waitRecords:16332.0,readyBatch:853.0,totalRecordsInQueue:22277.0,sourceRecordAccumulate:367.0
sourceBlock:false,sinkBlock:true

[RPS]
Rps[last:597.0,avg:518.0]
Iops[last:2.32M,avg:2.01M]
RPS_TREND[423->410->435->570->602->592->597]

[SinkMetrics]
execute/Record:15.0ms,commit/Batch:3.0ms,sinkBatchSizeAvg:43.17
execute(p99)/Record:20.0ms,commit(p99)/Batch:4.0ms
lastSinkThread:8/8
shardTime:0.0ms

[store]
MYSQL_np_7p3n9ey197og_7p3n9z4i8528-1-0:rps:147.719,iops:0.362M,delay:0.435s,connNum:1

[Scene] JdbcWriteSlowScene
prev:sink.workerNum=8
post:sink.workerNum=64
affect:增加目的端线程数,提高并发效率,但是需要注意 4C 以下的机器不推荐该修改
comment:目的端线程数

1 个赞

metrics如下,这个好像不支持按时间抓,只抓了个当前时间没有延迟的,不知道有没有帮助
2026-06-09 11:41:44.880
SOURCE: [RPS:158.03, IOPS:0.324M, delay:880ms]
SINK: [RPS:168.63, TPS:84.22, IOPS:0.304M, delay:880ms]
SINK_TIME: [execute_time:0.89ms/record, commit_time:1.37ms/batch]
SINK_SLOW_ROUTES:
SINK_THREAD: 2/8
DISPATCHER: wait record:2, ready batch:0, shardTime:nullms/record
forward_slot0 batchAccumulate: 0, recordAccumulate: -4
queue_slot1 batchAccumulate: 0, recordAccumulate: 0
heap:2479M/7782M, noHeap:82M/488M, threadCount:33, cpu:0.023, sysCpu:1.982
ParNew(count:248, cost:3377) ConcurrentMarkSweep(count:0, cost:0)

1 个赞

那你可以把metrics.log这个日志文件拿出来看看

1 个赞

一个并发一个G差不多这样 workerNum可以调大一点 目前看也没有GC的问题

1 个赞
  1. 没找到metrics.log在哪里
  2. 我看到官网推荐是1个并发1个G了,现在想要设置的是读并发8,写并发16,那按8来算还是16来算呢 :face_with_peeking_eye: 我先设置了一个按8算的,4~8G
1 个赞

image

看到这个 应该按照写的来算 就好了

1 个赞

写的应该没有考虑到或者说明白读并发和写并发设置不同的情况,但我现在打算搞成这种情况

1 个赞

OMS 增量同步任务处于运行状态,平台不支持在线修改运行中任务参数,因此重试无效,报错cannot be updated while running

1 个赞

6666

1 个赞