rocketmq icon indicating copy to clipboard operation
rocketmq copied to clipboard

Update one config but all config is updated

Open Oliverwqcwrw opened this issue 3 years ago • 2 comments

BUG REPORT

  1. 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

  1. Please tell us about your environment:

4.9.4

  1. Other information (e.g. detailed explanation, logs, related issues, suggestions on how to fix, etc):

I will submit a pr to fix it

Oliverwqcwrw avatar Jul 22 '22 07:07 Oliverwqcwrw

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.

ni-ze avatar Jul 26 '22 01:07 ni-ze

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 :)

Oliverwqcwrw avatar Jul 26 '22 01:07 Oliverwqcwrw