通过 Routine Load 导入增量数据时,Tablet的 副本处于不一致状态

【详述】问题详细描述
【背景】Routine Load模式 读取kafka的数据,并写入到starrocks里面。
【StarRocks版本】2.4.0
【集群规模】例如:3fe(1 follower+2observer)+3be(fe与be混部)
【机器信息】12c/128G/千兆
【表模型】主键模型
【导入或者导出方式】Routine Load

查询报错:
SQL Error [1064] [42000]: get_applied_rowsets(version 432) failed tablet:123445 #version:1 [433 433@0 433] #pending:0
SQL Error [1064] [42000]: get_applied_rowsets failed, tablet updates is in error state: tablet:123449 actual row size changed after compaction 9807087 -> 9637808tablet:123449 #version:3 [432.1 433.1@2 433.1] #pending:0

fe日志报错:
task_type:PUBLISH_VERSION, signature:51114, task_status:TStatus(status_code:INTERNAL_ERROR, error_msgs:[rowset_commit failed, tablet updates is in error state: tablet:124495 _apply_rowset_commit error: get_latest_del_vec failed: Not found: no delete vector found tablet:124495 segment:277 version:9223372036854775807

be日志报错:
W1114 09:18:58.264114 17303 publish_version.cpp:104] Publish txn failed tablet:124507 version:274 partition:124490 txn_id: 51116 rowset:0200000001298521a44680c42baa7133ba9859ae56711991
W1114 09:18:58.264254 17320 publish_version.cpp:170] publish_version has error. txn_id: 51116 #partition:3 #tablet:4 error_tablets(4):124495,124499,124507,124381 time:0ms

查看Tablet的副本状态:
SHOW PROC ‘/dbs/10148/103599/partitions/124490/103600/124495’;

Version列:不一致(272,272,274)
LstSuccessVersion列:不一致(272,272,274)
DataSize列:不一致(550381506,550888181,564139415)
RowCount列:不一致(6175574,6175574,6304919)
VersionCount列:不一致(11,13,12)
Isbad列:false
State:NORMAL
其他信息.txt (1.9 KB)

该表有没有做过schema change?

没有,流程是这样的,我先通过dataX将全量数据导入到 该表中,然后在通过Routine Load 消费kafka的增量数据,当消费到某个阶段时候,我通过select查询,就会报错了。我没有做其他任何操作。

但是如果 消费kafka的数据 到 一个新的表上 ,就不会有问题。

新表也是主键模型吗?一模一样的表?有看到事务失败的日志,你到be的warning日志里面搜下txn_id: 51116看看有什么信息截个图看看,从你发的日志来看有个别副本publish version的时候失败了所以出现版本不一致的情况,SHOW PROC ‘/dbs/10148/103599/partitions/124490/103600/124495’;这个你在fe leader节点执行一下然后结果发个截图

大佬,表都是一模一样的。


124495.xlsx (4.1 KB)

be.WARNING.log.20221110-142621.tar.gz (2.3 MB)

所谓的 “新表” 是没有数据的表啊。

beid:10004这个是fe 的follower?

是的,大佬。
mysql> SHOW PROC ‘/frontends’\G
*************************** 1. row ***************************
Name: 192.168.3.33_9010_1668050835334
IP: 192.168.3.33
EditLogPort: 9010
HttpPort: 8030
QueryPort: 9030
RpcPort: 9020
Role: FOLLOWER
ClusterId: 1357635669
Join: true
Alive: true
ReplayedJournalId: 237412
LastHeartbeat: 2022-11-14 11:00:40
IsHelper: true
ErrMsg:
StartTime: 2022-11-10 11:27:38
Version: 2.4.0-c0fa2bb
*************************** 2. row ***************************
Name: 192.168.3.31_9010_1668049918987
IP: 192.168.3.31
EditLogPort: 9010
HttpPort: 8030
QueryPort: 9030
RpcPort: 9020
Role: LEADER
ClusterId: 1357635669
Join: true
Alive: true
ReplayedJournalId: 237413
LastHeartbeat: 2022-11-14 11:00:40
IsHelper: true
ErrMsg:
StartTime: 2022-11-10 11:12:08
Version: 2.4.0-c0fa2bb
*************************** 3. row ***************************
Name: 192.168.3.32_9010_1668050800777
IP: 192.168.3.32
EditLogPort: 9010
HttpPort: 8030
QueryPort: 9030
RpcPort: 9020
Role: FOLLOWER
ClusterId: 1357635669
Join: true
Alive: true
ReplayedJournalId: 237412
LastHeartbeat: 2022-11-14 11:00:40
IsHelper: true
ErrMsg:
StartTime: 2022-11-10 11:26:57
Version: 2.4.0-c0fa2bb

mysql> show backends\G;
*************************** 1. row ***************************
BackendId: 10003
IP: 192.168.3.31
HeartbeatPort: 9050
BePort: 9060
HttpPort: 8040
BrpcPort: 8060
LastStartTime: 2022-11-10 11:43:19
LastHeartbeat: 2022-11-14 10:59:10
Alive: true
SystemDecommissioned: false
ClusterDecommissioned: false
TabletNum: 2640
DataUsedCapacity: 107.464 GB
AvailCapacity: 7.960 TB
TotalCapacity: 8.594 TB
UsedPct: 7.38 %
MaxDiskUsedPct: 13.13 %
ErrMsg:
Version: 2.4.0-c0fa2bb
Status: {“lastSuccessReportTabletsTime”:“2022-11-14 10:58:58”}
DataTotalCapacity: 8.065 TB
DataUsedPct: 1.30 %
CpuCores: 12
*************************** 2. row ***************************
BackendId: 10004
IP: 192.168.3.32
HeartbeatPort: 9050
BePort: 9060
HttpPort: 8040
BrpcPort: 8060
LastStartTime: 2022-11-10 11:43:19
LastHeartbeat: 2022-11-14 10:59:10
Alive: true
SystemDecommissioned: false
ClusterDecommissioned: false
TabletNum: 2640
DataUsedCapacity: 107.491 GB
AvailCapacity: 8.134 TB
TotalCapacity: 8.738 TB
UsedPct: 6.90 %
MaxDiskUsedPct: 7.67 %
ErrMsg:
Version: 2.4.0-c0fa2bb
Status: {“lastSuccessReportTabletsTime”:“2022-11-14 10:58:20”}
DataTotalCapacity: 8.239 TB
DataUsedPct: 1.27 %
CpuCores: 12
*************************** 3. row ***************************
BackendId: 10005
IP: 192.168.3.33
HeartbeatPort: 9050
BePort: 9060
HttpPort: 8040
BrpcPort: 8060
LastStartTime: 2022-11-10 11:43:25
LastHeartbeat: 2022-11-14 10:59:10
Alive: true
SystemDecommissioned: false
ClusterDecommissioned: false
TabletNum: 2640
DataUsedCapacity: 107.496 GB
AvailCapacity: 8.457 TB
TotalCapacity: 9.168 TB
UsedPct: 7.75 %
MaxDiskUsedPct: 12.28 %
ErrMsg:
Version: 2.4.0-c0fa2bb
Status: {“lastSuccessReportTabletsTime”:“2022-11-14 10:58:15”}
DataTotalCapacity: 8.562 TB
DataUsedPct: 1.23 %
CpuCores: 12

大佬,您好,刚才社区群里面 有个人回复我了,好像是bug,意思让我等着 升级到2.4.1 版本。

你这里面的fe日志和be日志是哪台机器的?

都是 3.31上的。 LEADER 节点。

好的,那您等下2.4.1的版本

社区群怎么加啊?