[ISSUE #9217] Fix broker's inflight and available message counts incorrect when the pop consumer service is enabled (#9218)

This commit is contained in:
lizhimins
2025-07-19 18:17:56 +08:00
committed by RongtongJin
parent 179699ac02
commit 58d169f397
@@ -348,7 +348,7 @@ public class ConsumerLagCalculator {
brokerOffset = 0;
}
if (isPop) {
if (isPop && !brokerConfig.isPopConsumerKVServiceEnable()) {
long pullOffset = popBufferMergeService.getLatestOffset(topic, group, queueId);
if (pullOffset < 0) {
pullOffset = offsetManager.queryOffset(group, topic, queueId);
@@ -401,7 +401,7 @@ public class ConsumerLagCalculator {
public Pair<Long, Long> getInFlightMsgStats(String group, String topic, int queueId, boolean isPop)
throws ConsumeQueueException {
if (isPop) {
if (isPop && !brokerConfig.isPopConsumerKVServiceEnable()) {
long inflight = popInflightMessageCounter.getGroupPopInFlightMessageNum(topic, group, queueId);
long pullOffset = popBufferMergeService.getLatestOffset(topic, group, queueId);
if (pullOffset < 0) {
@@ -456,14 +456,11 @@ public class ConsumerLagCalculator {
}
long pullOffset;
if (isPop) {
if (isPop && !brokerConfig.isPopConsumerKVServiceEnable()) {
pullOffset = popBufferMergeService.getLatestOffset(topic, group, queueId);
if (pullOffset < 0) {
pullOffset = offsetManager.queryOffset(group, topic, queueId);
}
if (pullOffset < 0) {
pullOffset = brokerOffset;
}
} else {
pullOffset = offsetManager.queryPullOffset(group, topic, queueId);
}