首批通过分布式安全可靠测评,为关键业务系统打造
备集群宏块与主库不一致导致 sstable checksum not equal 的原因和解决方法
更新时间:2025-06-23 06:16
问题现象
备集群合并报错 -4103,rootservice 日志伴随报错,如下关键日志信息。
[2024-05-23 12:06:07.376043] ERROR [SHARE] add_item (ob_sstable_checksum_iterator.cpp:103) [111807][0][xxxxx-xxxxx-xxxxx-xxxxx] [lt=12] [dc=0] sstable checksum not equal!(ret=-4103, item={tenant_id:1001, data_table_id:1100611139459148, sstable_id:1100611139459148, partition_id:0, sstable_type:1, server:"xxx.xxx.xxx.xxx:2882", row_checksum:0, data_checksum:530372546, row_count:282760052, snapshot_version:1716415210614652, replica_type:0}, tmp={tenant_id:1001, data_table_id:1100611139459148, sstable_id:1100611139459148, partition_id:0, sstable_type:1, server:"xxx.xxx.xxx.xxx:2882", row_checksum:0, data_checksum:3043442264, row_count:282760052, snapshot_version:1716415210614652, replica_type:0}) BACKTRACE:0xf51231f 0x50e752f 0x5237933 0x523756f 0x52372d3 0x65ddcb7 0x6515924 0x6515674 0x81c9c75 0x81b00d3 0x81b1b74 0x81b3cfc 0x81b230e 0x81b0cba 0x81af870 0x7b36602 0xf67488e 0xf6741d2 0x65b657e 0xf3f17f3 0xf3f164f 0xf6901df
问题原因
OceanBase 数据库会对集群的所有分区在一个统一的快照点,全局数据进行推进版本。在某些情况下会因为某些 BUG 导致备集群合并后数据出现与主集群较检不一致的情况,导致出现 -4103 错误。
问题的风险及影响
备集群合并较检 data_checksum 不一致,出现 -4103 报错。
影响租户
影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。
适用版本
OceanBase 数据库 V2.x、V3.x 版本。
解决方法及规避方式
解决方法:
升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库 V3.2.4 BP6(oceanbase-3.2.4.6-106000062023110109)及之后版本。
规避方式:
重建备集群。