操作OceanBase失败,错误信息: (conn=3221698692) Size overflow

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】OBCE
【 使用版本 】OBCE-4.2.18
【问题描述】操作OceanBase失败,错误信息: (conn=3221698692) Size overflow
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
ocp 显示obsserver 掉线,在ocp重启observer,任务卡在 Sync cluster info ,登录后台查看 集群 登录正常,怀疑是ocp 误报,然后回滚此任务,发现把此台observer 给停掉了,造成大量的故障告警。
ocp 回滚任务能不能做下判断, 有些 误报的操作 就不要回滚了,只回滚任务状态就行。

2025-03-03 10:00:27.616 ERROR 29880 --- [manual-subtask-executor3,58498be17ccd7c0b,52a96569f8d68efa] c.o.o.c.t.e.c.w.subtask.SubtaskExecutor  : Size overflow

java.sql.SQLTransientConnectionException: Size overflow
	at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:128)
	at com.oceanbase.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:230)
	at com.oceanbase.jdbc.JDBC4ResultSet.getNextRow(JDBC4ResultSet.java:619)
	at com.oceanbase.jdbc.JDBC4ResultSet.addStreamingValue(JDBC4ResultSet.java:577)
	at com.oceanbase.jdbc.JDBC4ResultSet.fetchAllResults(JDBC4ResultSet.java:514)
	at com.oceanbase.jdbc.JDBC4ResultSet.<init>(JDBC4ResultSet.java:238)
	at com.oceanbase.jdbc.internal.com.read.resultset.SelectResultSet.<init>(SelectResultSet.java:67)
	at com.oceanbase.jdbc.internal.protocol.AbstractQueryProtocol.readResultSet(AbstractQueryProtocol.java:2513)
	at com.oceanbase.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:2225)
	at com.oceanbase.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:2098)
	at com.oceanbase.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:399)
	at com.oceanbase.jdbc.JDBC4PreparedStatement.executeInternal(JDBC4PreparedStatement.java:247)
	at com.oceanbase.jdbc.JDBC4PreparedStatement.execute(JDBC4PreparedStatement.java:170)
	at com.oceanbase.jdbc.JDBC4PreparedStatement.executeQuery(JDBC4PreparedStatement.java:184)
	at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:227)
	at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:724)
	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:650)
	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:715)
	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:746)
	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:759)
	at org.sp
ringframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:812)
	at com.oceanbase.ocp.obsdk.connector.ConnectTemplate.query(ConnectTemplate.java:91)
	at com.oceanbase.ocp.obsdk.operator.parameter.MysqlParameterOperator.listClusterParametersLike(MysqlParameterOperator.java:84)
	at com.oceanbase.ocp.obsdk.operator.parameter.MysqlParameterOperator.getClusterParameter(MysqlParameterOperator.java:94)
	at com.oceanbase.ocp.obops.internal.cluster.ClusterSyncServiceImpl.checkObClusterName(ClusterSyncServiceImpl.java:557)
	at com.oceanbase.ocp.obops.internal.cluster.ClusterSyncServiceImpl.internalSyncCluster(ClusterSyncServiceImpl.java:346)
	at com.oceanbase.ocp.obops.internal.cluster.ClusterSyncServiceImpl.syncClusterInfo(ClusterSyncServiceImpl.java:261)
	at com.oceanbase.ocp.service.task.business.cluster.SyncClusterInfoTask.lambda$run$0(SyncClusterInfoTask.java:45)
	at com.oceanbase.ocp.common.lang.pattern.Retry.lambda$executeUntilSuccessWithLimit$2(Retry.java:182)
	at com.oceanbase.ocp.common.lang.pattern.Retry.executeUntilSuccessWithLimit(Retry.java:159)
	at com.oceanbase.ocp.common.lang.pattern.Retry.executeUntilSuccessWithLimit(Retry.java:181)
	at com.oceanbase.ocp.service.task.business.cluster.SyncClusterInfoTask.run(SyncClusterInfoTask.java:44)
	at com.oceanbase.ocp.core.task.runtime.Subtask.retry(Subtask.java:49)
	at com.oceanbase.ocp.core.task.engine.runner.JavaSubtaskRunner.retry(JavaSubtaskRunner.java:76)
	at com.oceanbase.ocp.core.task.engine.runner.JavaSubtaskRunner.doRun(JavaSubtaskRunner.java:35)
	at com.oceanbase.ocp.core.task.engine.runner.JavaSubtaskRunner.run(JavaSubtaskRunner.java:26)
	at com.oceanbase.ocp.core.task.engine.runner.RunnerFactory.doRun(RunnerFactory.java:76)
	at com.oceanbase.ocp.core.task.engine.coordinator.worker.subtask.SubtaskExecutor.doRun(SubtaskExecutor.java:206)
	at com.oceanbase.ocp.core.task.engine.coordinator.worker.subtask.SubtaskExecutor.redirectConsoleOutput(SubtaskExecutor.java:200)
	at com.oceanbase.ocp.core.task.engine.coordinator.worker.subtask.SubtaskExecutor.lambda$
submit$2(SubtaskExecutor.java:137)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

日志采集场景: 集群无法连接
日志采集命令: obdiag gather scene run --scene=observer.cluster_down
日志采集场景: observer无故重启
日志采集命令: obdiag gather scene run --scene=observer.restart

推荐使用 obdiag 工具进行日志采集,并且将采集到的日志提供给我们以便确认问题所在。上述命令可以帮助我们收集有关集群无法连接以及 observer 无故重启的信息,这对于诊断当前遇到的问题非常重要。

另外,为了确定具体的问题,在此需要您提供一些信息:

  1. 在观察到 “Size overflow” 错误之前是否有任何特定的操作或事件发生?
  2. 您能否提供更详细的错误日志片段,特别是包含 “Size overflow” 的部分?
  3. OCP 显示 observer 掉线前,系统是否出现过性能下降或其他异常情况?
  4. 您的 OceanBase 集群配置详情,例如硬件资源(CPU、内存、磁盘空间等)和软件环境。
  5. 是否有其他组件(如网络设备)在同一时间段内也出现了故障或者进行了变更?

请您根据以上命令执行日志采集,并将生成的日志压缩包提供给我们,这将有助于我们进一步分析问题的原因并给出解决方案。

附上敏捷诊断工具 obdiag 使用帮助链接

看您反馈的这个问题现象是非预期的,麻烦发下
1.ocp版本
2.observer详细版本

show variables like ‘version_comment’;

3.任务日志麻烦下载发下
4.问题期间的ocp-server.log
5.问题observer的期间observer.log