[errcode=-4009] sock has error(ret=-4009)

【 使用环境 】生产环境
【 OB 】OB Server
【 使用版本 】4.2.1.10
【问题描述】[2026-02-20 14:59:16.150409] WDIAG [SERVER] disconnect (obmp_packet_sender.cpp:788) [47214][T1_L0_G10000][T1][YB420A6A7F0C-00062E704E7B7ECF-0-0] [lt=12][errcode=0] server close connection(sessid=3222780432, proxy_sessid=0, stack=“0x125fd785 0xa194792 0xa15e8cd 0xa47a482 0x4d2cf17 0x4d1135c 0x9e494f4 0x128cdbbf 0x7f01c9adbea5 0x7f01c9804b0d”)
[2026-02-20 14:59:16.150421] INFO [SERVER] process (obmp_quit.h:56) [47214][T1_L0_G10000][T1][YB420A6A7F0C-00062E704E7B7ECF-0-0] [lt=10] quit
[2026-02-20 14:59:16.150419] INFO [RPC.OBMYSQL] on_disconnect (obsm_conn_callback.cpp:268) [44866][sql_nio5][T0][Y0-0000000000000000-0-0] [lt=20] kill and revert session(conn.sessid_=3222780432, proxy_sessid=0, server_id=5, ret=0)
[2026-02-20 14:59:16.150427] WDIAG [RPC.OBMYSQL] async_write_data (ob_sql_sock_session.cpp:153) [47214][T1_L0_G10000][T1][YB420A6A7F0C-00062E704E7B7ECF-0-0] [lt=5][errcode=-4009] sock has error(ret=-4009)
[2026-02-20 14:59:16.150434] WDIAG [SERVER] flush_buffer (obmp_packet_sender.cpp:972) [47214][T1_L0_G10000][T1][YB420A6A7F0C-00062E704E7B7ECF-0-0] [lt=6][errcode=-4009] write response fail(ret=-4009)
[2026-02-20 14:59:16.150438] WDIAG [SERVER] response (obmp_base.cpp:89) [47214][T1_L0_G10000][T1][YB420A6A7F0C-00062E704E7B7ECF-0-0] [lt=3][errcode=-4009] failed to flush_buffer(ret=-4009)
[2026-02-20 14:59:16.150444] WDIAG [RPC.FRAME] run (ob_sql_processor.cpp:48) [47214][T1_L0_G10000][T1][YB420A6A7F0C-00062E704E7B7ECF-0-0] [lt=5][errcode=-4009] response rpc result fail(ret=-4009)
[2026-02-20 14:59:16.150449] TRACE [TRACE] after_process (obmp_base.cpp:154) [47214][T1_L0_G10000][T1][YB420A6A7F0C-00062E704E7B7ECF-0-0] [lt=4] [err query](TRACE=begin_ts=1771570756150398 2026-02-20 06:59:16.150398|[process_begin] u=0 in_queue_time:13, receive_ts:1771570756150384, enqueue_ts:1771570756150385|[start_sql] u=0 addr:{ip:“127.0.0.1”, port:21804}|[query_begin] u=0 trace_id:YB420A6A7F0C-00062E704E7B7ECF-0-0|[before_processor_run] u=3 |[session] u=1 sid:3222780432, tenant_id:1|[session] u=18 sid:3222780432, tenant_id:1|[process_end] u=28 run_ts:1771570756150401|[process_ret] u=0 process_ret:-4009|total_timeu=50)
[2026-02-20 14:59:16.155323] WDIAG [STORAGE.TRANS] add_new_log (ob_tx_log.h:1183) [46023][T1002_L0_G0][T1002][YB420A6A7F0C-00062E7105DBA5BB-0-0] [lt=12][errcode=-4024] [TxLogBlock] add new log(ret=-4024, tx_log_body={LOG_TYPE:256, commit_version_:{val:18446744073709551615, v:3}, checksum_:366161299, incremental_participants_:[], multi_source_data_:[], trans_type_:0, tx_data_backup_:{start_log_ts_:{val:18446744073709551615, v:3}}, prev_lsn_:{lsn:18446744073709551615}, ls_log_info_arr_:[]}, *this={fill_buf_:{buf:null, use_default_buf:true}, replay_buf_:null, len_:2048, pos_:2012, cur_log_type_:0, cb_arg_array_:[{log_type:0x1, arg:null}, {log_type:0x40, arg:null}], big_segment_buf_:NULL}, tmp_pos=2012)
[2026-02-20 14:59:16.155365] WDIAG [STORAGE.TRANS] submit_commit_log_ (ob_trans_part_ctx.cpp:3386) [46023][T1002_L0_G0][T1002][YB420A6A7F0C-00062E7105DBA5BB-0-0] [lt=41][errcode=-4024] buf not enough(ret=-4024, commit_log={LOG_TYPE:256, commit_version_:{val:18446744073709551615, v:3}, checksum_:366161299, incremental_participants_:[], multi_source_data_:[], trans_type_:0, tx_data_backup_:{start_log_ts_:{val:18446744073709551615, v:3}}, prev_lsn_:{lsn:18446744073709551615}, ls_log_info_arr_:[]})

【复现路径】磁盘有做raid,热插拔一块换盘,日志就一直报这个错

3 个赞

observer.log.wf.20260220124526438.log (292 字节)
observer.log.wf.20260220125206171.log (4.3 KB)

错误日志

大神

热插拔换盘导致磁盘IO报错了。你换的是ob的log盘?

对的,log盘

你们raid是raid卡做的么 具体怎么做的raid呀 热插拔以后 重新插入磁盘以后 是否识别到了磁盘

是raid卡做的raid,换好磁盘,已经同步数据完成,目前磁盘没有问题,但OBServer报错一直有,无法消除,重启这个节点会消除这个错误吗?

image
能把对应这个时间的oberver.log日志 发一下么?

observer.zip (7.9 MB)


日志的时间对不上 你看看ocp的告警 10.106.127.12这个ip地址的observer日志 时间一定要按照截图中时间 要不然信息对应不上

已经没有了,被刷掉了,observer.log.wf.20260220125206171 这个日志不行么,

报错信息一样的,其他没什么报错

这个信息 只是显示部分的错误信息 有些信息的根因看不到

我当时看过日志,没其他特殊的报错


从错误的日志信息来看 应该是磁盘的问题导致的 从你的反馈来看 你热插拔过磁盘 你们做的磁盘也是挂在clog文件下的 应该是受影响了

学习

目前感觉业务是正常的,但这个错误是一直在报,重启这个节点有用么,还是说有一些日志数据一直没能刷盘,有隐患?

你可以尝试重启一次 主要没有完整的日志信息 但是报警了 磁盘应该受影响了 应该出问题了 建议在检查一下磁盘
https://www.oceanbase.com/knowledge-base/ocp-ee-1000000005393213?back=kb