关于过期文件删除问题 #6265
关于过期文件删除问题
#6265
-
对于长时间下线然后重新上线的Broker,因为CommitLog过期删除策略,始终会保存最后一个文件,如果当前Broker的phyOffset小于主节点的minOffset,这个时候会始终无法进行同步。通常解决办法是人工手动清理掉store文件再重启,我的疑问是能不能在Broker启动load的时候,先手动的检查一下CommitLog的最后一个文件,如果已经过期,那么就主动清空commitlog和consumeQueue。或者说是在主从同步时,发现主传过来的offset比从Broker当前的phyOffset要大,则主动设置同步位点为0(高危操作)。 |
Beta Was this translation helpful? Give feedback.
Answered by
RongtongJin
Mar 8, 2023
Replies: 2 comments 1 reply
-
部署哪个HA模式的版本 |
Beta Was this translation helpful? Give feedback.
1 reply
-
@echooymxq 设计的时候是考虑过类似解法的,但考虑系统自动清空commitlog和consumeQueue是高危操作,如果用户不想删除,但上线后MQ自动清空数据结果会很严重,所以最后决定这种场景就是需要人工介入的。 |
Beta Was this translation helpful? Give feedback.
0 replies
Answer selected by
echooymxq
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@echooymxq 设计的时候是考虑过类似解法的,但考虑系统自动清空commitlog和consumeQueue是高危操作,如果用户不想删除,但上线后MQ自动清空数据结果会很严重,所以最后决定这种场景就是需要人工介入的。