diff --git a/broker/src/test/java/org/apache/rocketmq/broker/pop/PopConsumerServiceTest.java b/broker/src/test/java/org/apache/rocketmq/broker/pop/PopConsumerServiceTest.java
index 2b930d5852c..9299f65c696 100644
--- a/broker/src/test/java/org/apache/rocketmq/broker/pop/PopConsumerServiceTest.java
+++ b/broker/src/test/java/org/apache/rocketmq/broker/pop/PopConsumerServiceTest.java
@@ -62,6 +62,8 @@
 import org.junit.Test;
 import org.mockito.Mockito;
 
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyLong;
@@ -150,6 +152,15 @@ public void pendingFilterCountTest() throws ConsumeQueueException {
         Assert.assertEquals(consumerService.getPendingFilterCount(groupId, topicId, queueId), 80L);
     }
 
+    @Test
+    public void pendingFilterCountTest_consumeQueueException() throws ConsumeQueueException {
+        MessageStore messageStore = Mockito.mock(MessageStore.class);
+        Mockito.when(messageStore.getMaxOffsetInQueue(topicId, queueId)).thenThrow(new ConsumeQueueException("queue fail!"));
+        Mockito.when(brokerController.getMessageStore()).thenReturn(messageStore);
+        Assert.assertThrows(RuntimeException.class, () -> consumerService.getPendingFilterCount(groupId, topicId, queueId));
+        verify(brokerController, never()).getConsumerOffsetManager();
+    }
+
     private MessageExt getMessageExt() {
         MessageExt messageExt = new MessageExt();
         messageExt.setTopic(topicId);