shibd commented on issue #16666:
URL: https://github.com/apache/pulsar/issues/16666#issuecomment-1191587758

   PersistentDispatcherFailoverConsumerTest.testAddRemoveConsumer also happend 
this exception.
   
   ```
   org.mockito.exceptions.misusing.WrongTypeOfReturnValue: 
   BrokerService cannot be returned by getPulsarResources()
   getPulsarResources() should return PulsarResources
   ***
   If you're unsure why you're getting above error read on.
   Due to the nature of the syntax above problem might occur because:
   1. This exception *might* occur in wrongly written multi-threaded tests.
      Please refer to Mockito FAQ on limitations of concurrency testing.
   2. A spy is stubbed using when(spy.foo()).then() syntax. It is safer to stub 
spies - 
      - with doReturn|Throw() family of methods. More in javadocs for 
Mockito.spy() method.
   
        at 
org.apache.pulsar.broker.PulsarService.getPulsarResources(PulsarService.java:265)
 ~[classes/:?]
        at 
org.apache.pulsar.broker.service.BrokerService.handleMetadataChanges(BrokerService.java:2015)
 ~[classes/:?]
        at 
org.apache.pulsar.metadata.impl.AbstractMetadataStore.lambda$receivedNotification$0(AbstractMetadataStore.java:188)
 ~[classes/:?]
        at 
java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807)
 ~[?:?]
        at 
org.apache.pulsar.metadata.impl.AbstractMetadataStore.lambda$receivedNotification$1(AbstractMetadataStore.java:186)
 ~[classes/:?]
        at 
java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
 [?:?]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
 [?:?]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) 
[?:?]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) 
[?:?]
        at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
 [netty-common-4.1.77.Final.jar:4.1.77.Final]
        at java.lang.Thread.run(Thread.java:833) [?:?]
   2022-07-21T22:52:53,772 - ERROR - 
[metadata-store-453-1:AbstractMetadataStore@190] - Failed to process metadata 
store notification
   java.lang.ClassCastException: class 
org.apache.pulsar.broker.service.BrokerService cannot be cast to class 
org.apache.pulsar.broker.resources.PulsarResources 
(org.apache.pulsar.broker.service.BrokerService and 
org.apache.pulsar.broker.resources.PulsarResources are in unnamed module of 
loader 'app')
        at 
org.apache.pulsar.broker.PulsarService.getPulsarResources(PulsarService.java:265)
 ~[classes/:?]
        at 
org.apache.pulsar.broker.service.BrokerService.handleMetadataChanges(BrokerService.java:2015)
 ~[classes/:?]
        at 
org.apache.pulsar.metadata.impl.AbstractMetadataStore.lambda$receivedNotification$0(AbstractMetadataStore.java:188)
 ~[classes/:?]
        at 
java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807)
 ~[?:?]
        at 
org.apache.pulsar.metadata.impl.AbstractMetadataStore.lambda$receivedNotification$1(AbstractMetadataStore.java:186)
 ~[classes/:?]
        at 
java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
 [?:?]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
 [?:?]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) 
[?:?]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) 
[?:?]
        at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
 [netty-common-4.1.77.Final.jar:4.1.77.Final]
        at java.lang.Thread.run(Thread.java:833) [?:?]
   2022-07-21T22:52:53,773 - ERROR - 
[metadata-store-453-1:AbstractMetadataStore@190] - Failed to process metadata 
store notification
   java.lang.ClassCastException: class 
org.apache.pulsar.broker.service.BrokerService cannot be cast to class 
org.apache.pulsar.broker.resources.PulsarResources 
(org.apache.pulsar.broker.service.BrokerService and 
org.apache.pulsar.broker.resources.PulsarResources are in unnamed module of 
loader 'app')
        at 
org.apache.pulsar.broker.PulsarService.getPulsarResources(PulsarService.java:265)
 ~[classes/:?]
        at 
org.apache.pulsar.broker.service.BrokerService.handleMetadataChanges(BrokerService.java:2015)
 ~[classes/:?]
        at 
org.apache.pulsar.metadata.impl.AbstractMetadataStore.lambda$receivedNotification$0(AbstractMetadataStore.java:188)
 ~[classes/:?]
        at 
java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807)
 ~[?:?]
        at 
org.apache.pulsar.metadata.impl.AbstractMetadataStore.lambda$receivedNotification$1(AbstractMetadataStore.java:186)
 ~[classes/:?]
        at 
java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
 [?:?]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
 [?:?]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) 
[?:?]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) 
[?:?]
        at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
 [netty-common-4.1.77.Final.jar:4.1.77.Final]
        at java.lang.Thread.run(Thread.java:833) [?:?]
   
   org.mockito.exceptions.base.MockitoException: Unable to create mock instance 
of type 'ServerCnx'
   
        at 
org.apache.pulsar.broker.BrokerTestUtil.spyWithClassAndConstructorArgs(BrokerTestUtil.java:43)
        at 
org.apache.pulsar.broker.service.PersistentDispatcherFailoverConsumerTest.setup(PersistentDispatcherFailoverConsumerTest.java:169)
        at jdk.internal.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at 
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
        at 
org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:61)
        at 
org.testng.internal.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:366)
        at 
org.testng.internal.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:320)
        at 
org.testng.internal.TestInvoker.runConfigMethods(TestInvoker.java:701)
        at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:527)
        at 
org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
        at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
        at 
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
        at 
org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
        at 
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
        at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
        at org.testng.TestRunner.privateRun(TestRunner.java:764)
        at org.testng.TestRunner.run(TestRunner.java:585)
        at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
        at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
        at org.testng.SuiteRunner.run(SuiteRunner.java:286)
        at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
        at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
        at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
        at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
        at org.testng.TestNG.runSuites(TestNG.java:1069)
        at org.testng.TestNG.run(TestNG.java:1037)
        at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66)
        at 
com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:109)
   Caused by: org.mockito.creation.instance.InstantiationException: 
   Unable to create instance of 'ServerCnx'.
   Please ensure the target class has a constructor that matches these argument 
types: [org.apache.pulsar.broker.PulsarService] and executes cleanly.
        ... 32 more
   Caused by: java.lang.reflect.InvocationTargetException
        at 
org.mockito.internal.util.reflection.InstrumentationMemberAccessor.newInstance(InstrumentationMemberAccessor.java:198)
        at 
org.mockito.internal.util.reflection.InstrumentationMemberAccessor.newInstance(InstrumentationMemberAccessor.java:161)
        at 
org.mockito.internal.util.reflection.ModuleMemberAccessor.newInstance(ModuleMemberAccessor.java:42)
        at 
org.mockito.internal.creation.instance.ConstructorInstantiator.invokeConstructor(ConstructorInstantiator.java:70)
        at 
org.mockito.internal.creation.instance.ConstructorInstantiator.withParams(ConstructorInstantiator.java:53)
        at 
org.mockito.internal.creation.instance.ConstructorInstantiator.newInstance(ConstructorInstantiator.java:39)
        at 
org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.doCreateMock(InlineDelegateByteBuddyMockMaker.java:360)
        at 
org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.createMock(InlineDelegateByteBuddyMockMaker.java:330)
        at 
org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker.createMock(InlineByteBuddyMockMaker.java:58)
        at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:53)
        at org.mockito.internal.MockitoCore.mock(MockitoCore.java:84)
        at org.mockito.Mockito.mock(Mockito.java:1964)
        ... 32 more
   Caused by: java.lang.ClassCastException: class 
org.apache.pulsar.broker.service.BrokerService cannot be cast to class 
org.apache.pulsar.broker.resources.PulsarResources 
(org.apache.pulsar.broker.service.BrokerService and 
org.apache.pulsar.broker.resources.PulsarResources are in unnamed module of 
loader 'app')
        at 
org.apache.pulsar.broker.PulsarService.getPulsarResources(PulsarService.java:265)
        at 
org.apache.pulsar.broker.service.TopicListService.<init>(TopicListService.java:103)
        at org.apache.pulsar.broker.service.ServerCnx.<init>(ServerCnx.java:279)
        at org.apache.pulsar.broker.service.ServerCnx.<init>(ServerCnx.java:239)
        at 
java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:732)
        at 
org.mockito.internal.util.reflection.InstrumentationMemberAccessor$Dispatcher$ByteBuddy$6nivJ3ru.invokeWithArguments(Unknown
 Source)
        at 
org.mockito.internal.util.reflection.InstrumentationMemberAccessor.lambda$newInstance$0(InstrumentationMemberAccessor.java:191)
        at 
org.mockito.internal.util.reflection.InstrumentationMemberAccessor.newInstance(InstrumentationMemberAccessor.java:188)
        ... 43 more
   
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to