This is an automated email from the ASF dual-hosted git repository.

lizhimins pushed a commit to branch rocketmq-studio
in repository https://gitbox.apache.org/repos/asf/rocketmq-dashboard.git


The following commit(s) were added to refs/heads/rocketmq-studio by this push:
     new 060080c2 fix: fail explicitly when consumer diagnostics provider is 
missing (#703)
060080c2 is described below

commit 060080c25c953e81e71f70c6e042aeee676b95bd
Author: aias00 <[email protected]>
AuthorDate: Sun Aug 2 20:10:23 2026 -0700

    fix: fail explicitly when consumer diagnostics provider is missing (#703)
---
 .../group/ConsumerDiagnosticsProviderStub.java     | 15 +++--------
 .../ConsumerDiagnosticsProviderStubTest.java}      | 31 +++++++++-------------
 2 files changed, 17 insertions(+), 29 deletions(-)

diff --git 
a/server/src/main/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStub.java
 
b/server/src/main/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStub.java
index e7089e13..5f89438e 100644
--- 
a/server/src/main/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStub.java
+++ 
b/server/src/main/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStub.java
@@ -17,25 +17,18 @@
 
 package org.apache.rocketmq.studio.instance.group;
 
+import org.apache.rocketmq.studio.common.exception.BusinessException;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 
-import java.time.LocalDateTime;
-import java.util.List;
-
 @Slf4j
 @Component
 public class ConsumerDiagnosticsProviderStub implements 
ConsumerDiagnosticsProvider {
 
     @Override
     public ConsumerStackTraceVO getConsumerStack(String groupName, String 
clientId) {
-        log.warn("ConsumerDiagnosticsProviderStub.getConsumerStack called - 
returning empty stack");
-        return ConsumerStackTraceVO.builder()
-                .groupName(groupName)
-                .clientId(clientId)
-                .capturedAt(LocalDateTime.now())
-                .threadCount(0)
-                .threads(List.of())
-                .build();
+        log.warn("ConsumerDiagnosticsProviderStub.getConsumerStack called 
without a real diagnostics provider. "
+                + "groupName={}, clientId={}", groupName, clientId);
+        throw new BusinessException(501, "Consumer diagnostics provider is not 
configured");
     }
 }
diff --git 
a/server/src/main/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStub.java
 
b/server/src/test/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStubTest.java
similarity index 53%
copy from 
server/src/main/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStub.java
copy to 
server/src/test/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStubTest.java
index e7089e13..4f486440 100644
--- 
a/server/src/main/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStub.java
+++ 
b/server/src/test/java/org/apache/rocketmq/studio/instance/group/ConsumerDiagnosticsProviderStubTest.java
@@ -14,28 +14,23 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.rocketmq.studio.instance.group;
 
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Component;
+import org.apache.rocketmq.studio.common.exception.BusinessException;
+import org.junit.jupiter.api.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
-import java.time.LocalDateTime;
-import java.util.List;
+class ConsumerDiagnosticsProviderStubTest {
 
-@Slf4j
-@Component
-public class ConsumerDiagnosticsProviderStub implements 
ConsumerDiagnosticsProvider {
+    private final ConsumerDiagnosticsProviderStub provider = new 
ConsumerDiagnosticsProviderStub();
 
-    @Override
-    public ConsumerStackTraceVO getConsumerStack(String groupName, String 
clientId) {
-        log.warn("ConsumerDiagnosticsProviderStub.getConsumerStack called - 
returning empty stack");
-        return ConsumerStackTraceVO.builder()
-                .groupName(groupName)
-                .clientId(clientId)
-                .capturedAt(LocalDateTime.now())
-                .threadCount(0)
-                .threads(List.of())
-                .build();
+    @Test
+    void getConsumerStackShouldFailWhenRealProviderIsMissing() {
+        assertThatThrownBy(() -> provider.getConsumerStack("cg-orders", 
"client-1"))
+                .isInstanceOf(BusinessException.class)
+                .hasMessage("Consumer diagnostics provider is not configured")
+                .satisfies(ex -> assertThat(((BusinessException) 
ex).getCode()).isEqualTo(501));
     }
 }

Reply via email to