Update one config but all config is updated
BUG REPORT
- Please describe the issue you observed:
- What did you do (The steps to reproduce)?
The original broker.conf is below:
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
namesrvAddr=192.168.137.73:9876
when I exec ./mqadmin updateBrokerConfig -n 192.168.137.73:9876 -c DefaultCluster -k traceTopicEnable -v false
the broker.config is below:
serverSelectorThreads=3
brokerRole=ASYNC_MASTER
serverSocketRcvBufSize=0
writeBufferHighWaterMark=0
osPageCacheBusyTimeOutMills=1000
shortPollingTimeMills=1000
clientSocketRcvBufSize=0
clusterTopicEnable=true
brokerTopicEnable=true
autoCreateTopicEnable=true
maxErrorRateOfBloomFilter=20
maxMsgsNumBatch=64
cleanResourceInterval=10000
commercialBaseCount=1
enableScheduleAsyncDeliver=false
maxTransferCountOnMessageInMemory=32
brokerFastFailureEnable=true
brokerClusterName=DefaultCluster
flushDiskType=ASYNC_FLUSH
commercialBigCount=1
mappedFileSizeConsumeQueue=6000000
consumerFallbehindThreshold=17179869184
autoCreateSubscriptionGroup=true
transientStorePoolEnable=false
flushConsumerOffsetInterval=5000
waitTimeMillsInHeartbeatQueue=31000
diskMaxUsedSpaceRatio=75
flushCommitLogLeastPages=4
cleanFileForciblyEnable=true
slaveReadEnable=false
msgTraceTopicName=RMQ_SYS_TRACE_TOPIC
expectConsumerNumUseFilter=32
enableDetailStat=true
traceTopicEnable=false
useEpollNativeSelector=false
enablePropertyFilter=false
messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
deleteCommitLogFilesInterval=100
brokerName=broker-a
maxTransferBytesOnMessageInDisk=65536
listenPort=10911
flushConsumeQueueLeastPages=2
pullMessageThreadPoolNums=32
useReentrantLockWhenPutMessage=true
flushIntervalConsumeQueue=1000
sendThreadPoolQueueCapacity=10000
debugLockEnable=false
messageIndexEnable=true
haHousekeepingInterval=20000
diskFallRecorded=true
enableScheduleMessageStats=true
clientAsyncSemaphoreValue=65535
clientCallbackExecutorThreads=8
putMsgIndexHightWater=600000
sendMessageThreadPoolNums=4
clientManagerThreadPoolQueueCapacity=1000000
serverSocketSndBufSize=0
maxDelayTime=40
clientSocketSndBufSize=0
namesrvAddr=192.168.137.73:9876
commercialEnable=true
maxHashSlotNum=5000000
serverSocketBacklog=1024
heartbeatThreadPoolNums=8
transactionTimeOut=6000
maxMessageSize=4194304
adminBrokerThreadPoolNums=16
defaultQueryMaxNum=32
maxTransferBytesOnMessageInMemory=262144
forceRegister=true
isolateLogEnable=false
enableConsumeQueueExt=false
longPollingEnable=true
serverWorkerThreads=8
messageIndexSafe=false
deleteConsumeQueueFilesInterval=100
haSlaveFallbehindMax=268435456
serverCallbackExecutorThreads=0
flushCommitLogThoroughInterval=10000
isEnableBatchPush=false
commercialTimerCount=1
enableDLegerCommitLog=false
slaveTimeout=3000
useTLS=false
redeleteHangedFileInterval=120000
flushIntervalCommitLog=500
rocketmqHome=/Users/wangqiang/Downloads/software/github/rocketmq-all-4.9.4-bin-release
queryMessageThreadPoolNums=16
messageStorePlugIn=
serverChannelMaxIdleTimeSeconds=120
maxIndexNum=20000000
filterDataCleanTimeSpan=86400000
filterServerNums=0
commitCommitLogLeastPages=4
waitTimeMillsInPullQueue=5000
haSendHeartbeatInterval=5000
processReplyMessageThreadPoolNums=32
clientChannelMaxIdleTimeSeconds=120
filterSupportRetry=false
flushDelayOffsetInterval=10000
duplicationEnable=false
replyThreadPoolQueueCapacity=10000
writeBufferLowWaterMark=0
offsetCheckInSlave=false
clientCloseSocketIfTimeout=true
transientStorePoolSize=5
putThreadPoolQueueCapacity=10000
waitTimeMillsInSendQueue=200
warmMapedFileEnable=false
endTransactionThreadPoolNums=24
flushCommitLogTimed=true
flushLeastPagesWhenWarmMapedFile=4096
clientWorkerThreads=4
endTransactionPoolQueueCapacity=100000
registerNameServerPeriod=30000
registerBrokerTimeoutMills=6000
scheduleAsyncDeliverMaxResendNum2Blocked=3
accessMessageInMemoryMaxRatio=40
enableLmq=false
highSpeedMode=false
transactionCheckMax=15
maxLmqConsumeQueueNum=20000
checkCRCOnRecover=true
destroyMapedFileIntervalForcibly=120000
brokerIP2=192.168.137.73
brokerIP1=192.168.137.73
commitIntervalCommitLog=200
clientOnewaySemaphoreValue=65535
storeReplyMessageEnable=true
traceOn=true
clientManageThreadPoolNums=32
putMessageFutureThreadPoolNums=4
channelNotActiveInterval=60000
mappedFileSizeConsumeQueueExt=50331648
consumerManagerThreadPoolQueueCapacity=1000000
serverOnewaySemaphoreValue=256
haListenPort=10912
enableCalcFilterBitMap=false
clientPooledByteBufAllocatorEnable=false
aclEnable=false
storePathRootDir=/Users/wangqiang/store
syncFlushTimeout=5000
rejectTransactionMessage=false
commitCommitLogThoroughInterval=200
connectTimeoutMillis=3000
queryThreadPoolQueueCapacity=20000
regionId=DefaultRegion
consumerManageThreadPoolNums=32
disableConsumeIfConsumerReadSlowly=false
flushConsumerOffsetHistoryInterval=60000
fetchNamesrvAddrByAddressServer=false
haTransferBatchSize=32768
compressedRegister=false
commercialTransCount=1
transactionCheckInterval=60000
mappedFileSizeCommitLog=1073741824
startAcceptSendRequestTimeStamp=0
serverPooledByteBufAllocatorEnable=true
serverAsyncSemaphoreValue=64
scheduleAsyncDeliverMaxPendingLimit=2000
autoDeleteUnusedStats=false
waitTimeMillsInTransactionQueue=3000
heartbeatThreadPoolQueueCapacity=50000
deleteWhen=04
bitMapLengthConsumeQueueExt=112
fastFailIfNoBufferInStorePool=false
enableMultiDispatch=false
defaultTopicQueueNums=8
flushConsumeQueueThoroughInterval=60000
notifyConsumerIdsChangedEnable=true
fileReservedTime=48
brokerPermission=6
transferMsgByHeap=true
pullThreadPoolQueueCapacity=100000
brokerId=0
maxTransferCountOnMessageInDisk=8
I guess it update all conf to the file
- What is expected to see?
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
namesrvAddr=192.168.137.73:9876
traceTopicEnable=false
update the specified conf
- What did you see instead?
update all conf
- Please tell us about your environment:
4.9.4
- Other information (e.g. detailed explanation, logs, related issues, suggestions on how to fix, etc):
I will submit a pr to fix it
IMO, It looks like a good strategy that persisting all runtime config to local when you update one of them. You can see all config.
Thanks for your reply @ni-ze Obviously we have different ideas. I'm not sure what was the reason for the initial design.
I think I don't need to care about most of the configurations,I just want to see a few important configurations that I care about,
If all the configurations were flushed to the file, I would have a hard time finding the few configurations I care about :)