obcdc_tailf运行报错:DRCMessageFactory::createBinlogRecord fails

【 使用环境 】
测试环境,使用 obcdc_tailf 验证能否正常获取和解析事务日志
【 其他组件 】
obcdc_tailf
【 使用版本 】
OceanBase_CE-v4.2.1.8
【问题描述】

  1. 下载obcdc后,修改 etc/libobcdc.conf 中三个字段的值
    tenant_endpoint=192.168.2.3:2881
    tenant_user=root@yq_tenant
    tenant_password=123456
  2. 执行命令
    bin/obcdc_tailf -f etc/libobcdc.conf -o
  3. 命令结束,log/libobcdc.log 中有错误信息
[2024-08-26 17:08:11.476150] INFO  [TLOG] replay (ob_log_schema_incremental_replay.cpp:102) [418784][][T0][Y0-0000000000000000-0-0] [lt=6] [LOG_META_DATA] [REPLAYER] [SCHMEA] replay end(ret=0, ret="OB_SUCCESS", IS_STARTING_UP=true, tenant_id=1002, tenant_name="yq_tenant", trans_id={txid:1692})
[2024-08-26 17:08:11.476200] ERROR issue_dba_error (ob_log.cpp:1875) [418784][][T0][Y0-0000000000000000-0-0] [lt=5][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=-4016, file="ob_log_binlog_record.cpp", line_no=58, info="DRCMessageFactory::createBinlogRecord fails")
[2024-08-26 17:08:11.476209] EDIAG [TLOG] construct_data_ (ob_log_binlog_record.cpp:58) [418784][][T0][Y0-0000000000000000-0-0] [lt=8][errcode=-4016] DRCMessageFactory::createBinlogRecord fails BACKTRACE:0x17d6b490 0x95f6325 0x97d9e0a 0xbccd1bf 0x971a5f6 0x97cc672 0xbc8acb4 0xbc8c641 0xbc8d76a 0xbf0bcaa 0xbf08d15 0xbf074ba 0xbf06a31 0xbd549be 0xbd3ad45 0xbd37893 0xc096c51 0xc0a1737 0xbdc48de 0xbdc081f 0xbdb2783 0xbda96ad 0xbda864a 0x5565cb4d3457 0x5565cb4d2f0c 0x7fdb04cc5083 0x5565cb4d295c
[2024-08-26 17:08:11.476281] INFO  [TLOG.FETCHER] update_fetch_task_state_ (ob_log_ls_fetch_stream.cpp:1526) [418961][LogStreaWorkThr][T0][Y63E0C0A80203-0000000000800002-0-0] [lt=13] [STAT] [FETCH_STREAM] [RECYCLE_FETCH_TASK](fetch_task=0x7fd8c120abe0, fetch_stream=0x7fd8aee0faa0, task={type:"FETCH_TASK", stype:"SYS_LS", state:1, state_str:"FETCHING_LOG", discarded:true, tls_id:{tenant_id:1002, ls_id:{id:1}}, serve_info:{start_serve_from_create:false, start_serve_timestamp:"[2024-08-26 15:08:28.637943]"}, progress_id:0, ls_fetch_mgr:0x5565cc748960, part_trans_resolver:0x7fd8c24635d0, source:null, remote_iter:{inited:false, tenant_id:0, id:{id:-1}, start_lsn:{lsn:18446744073709551615}, cur_lsn:{lsn:18446744073709551615}, end_lsn:{lsn:18446744073709551615}, single_read_size:0, gen:null}, last_sync_progress:1724663290991941474, progress:{next_lsn:{lsn:24381816}, log_progress:"[2024-08-26 17:08:10.991941]", log_touch_tstamp:"[2024-08-26 17:08:11.476279]"}, fetch_info:{cur_mod:["192.168.2.3:2882"](0x7fd8aee0faa0), out_mod:IDLE_POOL, out_reason:"SvrListReady"}, svr_list_need_update:false, start_log_id_locate_req:"IDLE", next:null, prev:null})
[2024-08-26 17:08:11.476314] ERROR issue_dba_error (ob_log.cpp:1875) [418784][][T0][Y0-0000000000000000-0-0] [lt=104][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=0, file="ob_log_binlog_record.cpp", line_no=109, info="IBinlogRecord has not been created")
[2024-08-26 17:08:11.476323] EDIAG [TLOG] set_table_meta (ob_log_binlog_record.cpp:109) [418784][][T0][Y0-0000000000000000-0-0] [lt=9][errcode=0] IBinlogRecord has not been created BACKTRACE:0x17d6b490 0x95f6325 0x97d9e0a 0xbccd1bf 0x971a5f6 0x97cc672 0xbc8ae44 0xbf0c0d0 0xbf08d15 0xbf074ba 0xbf06a31 0xbd549be 0xbd3ad45 0xbd37893 0xc096c51 0xc0a1737 0xbdc48de 0xbdc081f 0xbdb2783 0xbda96ad 0xbda864a 0x5565cb4d3457 0x5565cb4d2f0c 0x7fdb04cc5083 0x5565cb4d295c
[2024-08-26 17:08:11.476323] INFO  [TLOG.FETCHER] discard_request (ob_log_fetch_log_rpc.cpp:441) [418961][LogStreaWorkThr][T0][Y63E0C0A80203-0000000000800002-0-0] [lt=40] [STAT] [FETCH_LOG_ARPC] discard rpc request(discard_reason="KickOutLS", fetch_stream=0x7fd8aee0faa0, cur_req=0x7fd8adc04030, cur_req={rpc_is_flying:false, rpc_start_time:"[2024-08-26 17:08:11.475599]", force_stop_flag:false, rpc_timeout:15000000, req:{rpc_ver:1, ls_id:{id:1}, start_lsn:{lsn:24381694}, upper_limit_ts:1724666890991941474, client_pid:418784, client_id:{client_addr:"192.168.2.3:418784", client_pid:418784}, progress:1724663290991941474, flag:0, compressor_type:0, tenant_id:0}, trace_id:Y63E0C0A80203-0000000000800002-0-0, next:null}, ready_result=0, flying_rpc=0)
[2024-08-26 17:08:11.476346] ERROR issue_dba_error (ob_log.cpp:1875) [418784][][T0][Y0-0000000000000000-0-0] [lt=21][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=-4006, file="ob_log_part_trans_parser.cpp", line_no=764, info="set table meta fail")

看下libobcdc.conf里面drc_message_factory_binlog_record_type配置项值是什么?如果不是LogRecordImpl的话,换成LogRecordImpl再试试。
另外不要直接指定配置文件为etc/libobcdc.conf,自己写个xxx.conf来启动OBCDC,里面只放自己需要指定的配置项,其余配置项用默认值

1 个赞

可以了,谢谢