File tree Expand file tree Collapse file tree
broker/src/main/java/org/apache/rocketmq/broker/pop/orderly
common/src/main/java/org/apache/rocketmq/common Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3535
3636public class QueueLevelConsumerOrderInfoLockManager {
3737 private static final Logger POP_LOGGER = LoggerFactory .getLogger (LoggerName .ROCKETMQ_POP_LOGGER_NAME );
38- private ConsumerOrderInfoManager consumerOrderInfoManager ;
3938
4039 private final BrokerController brokerController ;
4140 private final Map <Key , Timeout > timeoutMap = new ConcurrentHashMap <>();
4241 private final Timer timer ;
43- private static final int TIMER_TICK_MS = 100 ;
4442
4543 public QueueLevelConsumerOrderInfoLockManager (BrokerController brokerController ) {
4644 this .brokerController = brokerController ;
45+ long tickMs = brokerController .getBrokerConfig ().getPopOrderLockTimerTickMs ();
46+ int ticksPerWheel = brokerController .getBrokerConfig ().getPopOrderLockTimerTicksPerWheel ();
4747 this .timer = new HashedWheelTimer (
4848 new ThreadFactoryImpl ("ConsumerOrderInfoLockManager_" ),
49- TIMER_TICK_MS , TimeUnit .MILLISECONDS );
49+ tickMs , TimeUnit .MILLISECONDS , ticksPerWheel );
5050 }
5151
5252 /**
Original file line number Diff line number Diff line change @@ -572,6 +572,10 @@ public class BrokerConfig extends BrokerIdentity {
572572
573573 private int liteLagLatencyTopK = 50 ;
574574
575+ // HashedWheelTimer config for pop order lock manager
576+ private long popOrderLockTimerTickMs = 100 ;
577+ private int popOrderLockTimerTicksPerWheel = 512 ;
578+
575579 public String getConfigBlackList () {
576580 return configBlackList ;
577581 }
@@ -2489,6 +2493,22 @@ public void setLiteLagLatencyTopK(int liteLagLatencyTopK) {
24892493 this .liteLagLatencyTopK = liteLagLatencyTopK ;
24902494 }
24912495
2496+ public long getPopOrderLockTimerTickMs () {
2497+ return popOrderLockTimerTickMs ;
2498+ }
2499+
2500+ public void setPopOrderLockTimerTickMs (long popOrderLockTimerTickMs ) {
2501+ this .popOrderLockTimerTickMs = popOrderLockTimerTickMs ;
2502+ }
2503+
2504+ public int getPopOrderLockTimerTicksPerWheel () {
2505+ return popOrderLockTimerTicksPerWheel ;
2506+ }
2507+
2508+ public void setPopOrderLockTimerTicksPerWheel (int popOrderLockTimerTicksPerWheel ) {
2509+ this .popOrderLockTimerTicksPerWheel = popOrderLockTimerTicksPerWheel ;
2510+ }
2511+
24922512 public boolean isUseMessageFilterForNotification () {
24932513 return useMessageFilterForNotification ;
24942514 }
You can’t perform that action at this time.
0 commit comments