[ISSUE #7446] Add config of maxFilterMessageSize (#7447)
* bugfix broker boot succes but get fail ip addr
bug:
broker ip addr(IPV4) get fail after broker start up;
fix:
add compare ,continue when ip is start with '0.' ;
like :
The broker[broker-a, 0.0.1.1:10911] boot success. serializeType=JSON and name server is 127.0.0.1:9876;
* add config maxFilterMessageSize , not hard code
* Pass the code check style
---------
Co-authored-by: mingzhi.zhang <mingzhi.zhang@jiduauto.com>
Co-authored-by: RongtongJin <jinrongtong16@mails.ucas.ac.cn>
diff --git a/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java b/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java
index aa72b16..48a3adc 100644
--- a/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java
+++ b/store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java
@@ -828,7 +828,7 @@
status = GetMessageStatus.OFFSET_OVERFLOW_BADLY;
nextBeginOffset = nextOffsetCorrection(offset, maxOffset);
} else {
- final int maxFilterMessageSize = Math.max(16000, maxMsgNums * consumeQueue.getUnitSize());
+ final int maxFilterMessageSize = Math.max(this.messageStoreConfig.getMaxFilterMessageSize(), maxMsgNums * consumeQueue.getUnitSize());
final boolean diskFallRecorded = this.messageStoreConfig.isDiskFallRecorded();
long maxPullSize = Math.max(maxTotalMsgSize, 100);
diff --git a/store/src/main/java/org/apache/rocketmq/store/config/MessageStoreConfig.java b/store/src/main/java/org/apache/rocketmq/store/config/MessageStoreConfig.java
index 192214a..0ba02e4 100644
--- a/store/src/main/java/org/apache/rocketmq/store/config/MessageStoreConfig.java
+++ b/store/src/main/java/org/apache/rocketmq/store/config/MessageStoreConfig.java
@@ -64,7 +64,6 @@
private boolean enableCompaction = true;
-
// TimerLog file size, default is 100M
private int mappedFileSizeTimerLog = 100 * 1024 * 1024;
@@ -164,6 +163,9 @@
private int putMsgIndexHightWater = 600000;
// The maximum size of message body,default is 4M,4M only for body length,not include others.
private int maxMessageSize = 1024 * 1024 * 4;
+
+ // The maximum size of message body can be set in config;count with maxMsgNums * CQ_STORE_UNIT_SIZE(20 || 46)
+ private int maxFilterMessageSize = 16000;
// Whether check the CRC32 of the records consumed.
// This ensures no on-the-wire or on-disk corruption to the messages occurred.
// This check adds some overhead,so it may be disabled in cases seeking extreme performance.
@@ -600,6 +602,14 @@
this.maxMessageSize = maxMessageSize;
}
+ public int getMaxFilterMessageSize() {
+ return maxFilterMessageSize;
+ }
+
+ public void setMaxFilterMessageSize(int maxFilterMessageSize) {
+ this.maxFilterMessageSize = maxFilterMessageSize;
+ }
+
@Deprecated
public int getMaxTopicLength() {
return maxTopicLength;