FEATURE REQUEST
I want to upgrade the version of rocketmq from V4_3_2 to V4_5_2
https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.5.2/rocketmq-all-4.5.2-bin-release.zip
b、Stop the old rocketmq service
c、Launch the rocketmq service with the new version of rocketmq and the old version of the configuration file,Startup failed
Would you like to provide more detail information and configuration? it seems that you changed the 'mappedFileSizeConsumeQueue' during your upgrade process.
这是我的配置文件,同一个配置文件,用新版本的程序无法启动,用老程序正常
brokerClusterName=rocketmq-cluster-dev
brokerName=broker-b
brokerId=0
namesrvAddr=192.168.46.23:9876;192.168.46.24:9876
defaultTopicQueueNums=4
autoCreateTopicEnable=False
autoCreateSubscriptionGroup=true
listenPort=10911
deleteWhen=04
fileReservedTime=120
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
diskMaxUsedSpaceRatio=88
storePathRootDir=/chj/data/rocketmq/store
storePathCommitLog=/chj/data/rocketmq/store/commitlog
storePathConsumeQueue=/chj/data/rocketmq/store/consumequeue
storePathIndex=/chj/data/rocketmq/store/index
storeCheckpoint=/chj/data/rocketmq/store/checkpoint
abortFile=/chj/data/rocketmq/store/abort
maxMessageSize=65536
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
sendMessageThreadPoolNums=128
pullMessageThreadPoolNums=128
maxMessageSize = 1048576
V4_3_2 升级到 V4_5_2 服务无法启动的问题,报错“MQ_CONSUMER/0/00000000000000000000 300000 length not matched message store config value, please check it manually” ,可以通过truncate -s 6000000 队列文件名,把文件大小改成V4_5_2默认的文件大小(默认6000000),就可以正常启动了,这个有点暴力,不知道会不会有其他问题
V4_3_2 升级到 V4_5_2 服务无法启动的问题,报错“MQ_CONSUMER/0/00000000000000000000 300000 length not matched message store config value, please check it manually” ,可以通过truncate -s 6000000 队列文件名,把文件大小改成V4_5_2默认的文件大小(默认6000000),就可以正常启动了,这个有点暴力,不知道会不会有其他问题
这样升级之后部分服务无法消费,又回滚了,还请官方指导正确的升级方式
@navyaijm2017 /chj/data/rocketmq/store/consumequeue/%DLQ%AISP_IAM_ACCOUNT_TOKEN_MQ_CONSUMER/0/00000000000000000000这个文件在没有升级前是多大,没有truncate以前?
@navyaijm2017 /chj/data/rocketmq/store/consumequeue/%DLQ%AISP_IAM_ACCOUNT_TOKEN_MQ_CONSUMER/0/00000000000000000000这个文件在没有升级前是多大,没有truncate以前?
没有truncate之前是 300000,因为我配置的就是300000,mapedFileSizeConsumeQueue=300000
升级不成功的问题应该不是我个例,我看群里有其他人也和我一样,只要有数据就无法启动
并且V4_5_2这个版本不会读取配置文件的这个参数了,我新启动已测试实例,配置文件写的是
mapedFileSizeConsumeQueue=300000,但是实际生成的文件是6000000,是不是代码写死了嘛
@navyaijm2017 我明白你的意思了,在4.5.2里面确实把mapedFileSizeConsumeQueue 改为了mappedFileSizeConsumeQueue,你改下这个配置名称试试,抱歉,这个确实给兼容性带来了问题。
ps:mapedFileSizeConsumeQueue=300000这个配置的单位是字节,实际上CQ的每个record是20字节,可以看下这么配置是否符合本意哈。
我在一个空的broker上把这个参数改成mappedFileSizeConsumeQueue是生效的,那这个问题有答案了是因为新版本参数名称改了,我原始的需求是V4_3_2 to V4_5_2的升级,我现在即使使用这个新参数,启动还是报错,服务无法启动,这个如何解决呢
2019-11-01 17:33:14 INFO AllocateMappedFileService - AllocateMappedFileService service started
2019-11-01 17:33:14 INFO main - last shutdown normally
2019-11-01 17:33:14 INFO main - load /chj/data/rocketmq/store/commitlog/00000000000000000000 OK
2019-11-01 17:33:14 INFO main - load commit log OK
2019-11-01 17:33:14 WARN main - /chj/data/rocketmq/store/consumequeue/test/13/00000000000000000000 6000000 length not matched message store config value, please check it manually
2019-11-01 17:33:14 INFO main - load consume queue test-13 Failed
@navyaijm2017 这个test/13/00000000000000000000感觉是你们在4.5.2 启动之后新创建的,默认给创建成了6000000字节,但是由于配置是300000,所以不匹配了。
@navyaijm2017 这个test/13/00000000000000000000感觉是你们在4.5.2 启动之后新创建的,默认给创建成了6000000字节,但是由于配置是300000,所以不匹配了。
那个是我测试的,我们业务用的集群用新版本无法启动,报错如下:
/chj/data/rocketmq/store/consumequeue/%DLQ%AISP_IAM_ACCOUNT_TOKEN_MQ_CONSUMER/0/00000000000000000000 300000 length not matched message store config value, please check it manually
@navyaijm2017 这个test/13/00000000000000000000感觉是你们在4.5.2 启动之后新创建的,默认给创建成了6000000字节,但是由于配置是300000,所以不匹配了。
那个是我测试的,我们业务用的集群用新版本无法启动,报错如下:
/chj/data/rocketmq/store/consumequeue/%DLQ%AISP_IAM_ACCOUNT_TOKEN_MQ_CONSUMER/0/00000000000000000000 300000 length not matched message store config value, please check it manually
这个集群上面的配置名称mappedFileSizeConsumeQueue似乎忘记改了呢,文件本身的长度是对的跟你以前的配置是一模一样的,那很大可能就是这个参数又没有生效。
已经加上mappedFileSizeConsumeQueue这个参数了,还是无法启动

broker的参数mapedFileSizeConsumeQueue 改为了mappedFileSizeConsumeQueue,使用新的参数,值保持不变就正常启动了
Most helpful comment
broker的参数mapedFileSizeConsumeQueue 改为了mappedFileSizeConsumeQueue,使用新的参数,值保持不变就正常启动了