Closed
Description
There have been some improvements with #1095 but gRPC tests still seem to be flaky.
See also #1105 (comment)
co.elastic.apm.agent.grpc.v1_6_1.GrpcServerInstrumentationTest.asyncClientCallShouldWorkLikeRegularCall
Click to expand
Error Message
Assertion condition defined as a lambda expression in co.elastic.apm.agent.MockReporter
Expecting actual not to be empty within 100 milliseconds.
Stacktrace
org.awaitility.core.ConditionTimeoutException:
Assertion condition defined as a lambda expression in co.elastic.apm.agent.MockReporter
Expecting actual not to be empty within 100 milliseconds.
at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:148)
at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)
at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:31)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:873)
at org.awaitility.core.ConditionFactory.untilAsserted(ConditionFactory.java:657)
at co.elastic.apm.agent.MockReporter.getFirstTransaction(MockReporter.java:195)
at co.elastic.apm.agent.grpc.AbstractGrpcServerInstrumentationTest.getFirstTransaction(AbstractGrpcServerInstrumentationTest.java:166)
at co.elastic.apm.agent.grpc.AbstractGrpcServerInstrumentationTest.asyncClientCallShouldWorkLikeRegularCall(AbstractGrpcServerInstrumentationTest.java:113)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$4(NodeTestTask.java:108)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:98)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:74)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1378)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$4(NodeTestTask.java:112)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:98)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:74)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1378)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$4(NodeTestTask.java:112)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:98)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:74)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:170)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:154)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:90)
at org.junit.platform.surefire.provider.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:132)
at org.junit.platform.surefire.provider.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:111)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121)
Caused by: java.lang.AssertionError:
Expecting actual not to be empty
at co.elastic.apm.agent.MockReporter.lambda$getFirstTransaction$0(MockReporter.java:195)
at org.awaitility.core.AssertionCondition.lambda$new$0(AssertionCondition.java:53)
at org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:203)
at org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:190)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:844)
Standard Error
[main] WARN co.elastic.apm.agent.impl.ElasticApmTracer - Attempting to resume the agent when it is in a RUNNING state
[main] INFO co.elastic.apm.agent.grpc.testapp.HelloServer - starting grpc server on port 50051
[main] INFO co.elastic.apm.agent.grpc.testapp.HelloServer - grpc server start complete
[grpc-default-executor-1] DEBUG co.elastic.apm.agent.impl.transaction.AbstractSpan - increment references to '' 00-09c3332eaa5ff1776fecddfb789123a7-5e3a27630a958468-01 (82239d3) (1)
[grpc-default-executor-1] DEBUG co.elastic.apm.agent.impl.transaction.AbstractSpan - increment references to 'helloworld.Hello/SayHello' 00-09c3332eaa5ff1776fecddfb789123a7-5e3a27630a958468-01 (82239d3) (2)
[grpc-default-executor-0] INFO co.elastic.apm.agent.grpc.testapp.HelloServer - start processing
[grpc-default-executor-0] INFO co.elastic.apm.agent.grpc.testapp.HelloServer - end of processing, response not sent yet
[grpc-default-executor-0] INFO co.elastic.apm.agent.grpc.testapp.HelloServer - start sending response
[grpc-default-executor-0] INFO co.elastic.apm.agent.grpc.testapp.HelloServer - end of sending response
[main] INFO co.elastic.apm.agent.grpc.testapp.HelloClient - client channel has been properly shut down
[main] INFO co.elastic.apm.agent.grpc.testapp.HelloServer - stopping grpc server
[main] INFO co.elastic.apm.agent.grpc.testapp.HelloServer - grpc server shutdown complete
co.elastic.apm.agent.grpc.v1_6_1.GrpcServerInstrumentationTest.bidiStreamingCallShouldBeIgnored
Click to expand
Error Message
Assertion condition defined as a lambda expression in co.elastic.apm.agent.MockReporter
Expecting empty but was:<['helloworld.Hello/SayHello' 00-09c3332eaa5ff1776fecddfb789123a7-5e3a27630a958468-01 (82239d3)]> within 100 milliseconds.
Stacktrace
org.awaitility.core.ConditionTimeoutException:
Assertion condition defined as a lambda expression in co.elastic.apm.agent.MockReporter
Expecting empty but was:<['helloworld.Hello/SayHello' 00-09c3332eaa5ff1776fecddfb789123a7-5e3a27630a958468-01 (82239d3)]> within 100 milliseconds.
at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:148)
at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)
at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:31)
at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:873)
at org.awaitility.core.ConditionFactory.untilAsserted(ConditionFactory.java:657)
at co.elastic.apm.agent.MockReporter.assertNoTransaction(MockReporter.java:207)
at co.elastic.apm.agent.grpc.AbstractGrpcServerInstrumentationTest.checkNoTransaction(AbstractGrpcServerInstrumentationTest.java:162)
at co.elastic.apm.agent.grpc.AbstractGrpcServerInstrumentationTest.bidiStreamingCallShouldBeIgnored(AbstractGrpcServerInstrumentationTest.java:152)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:628)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:117)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:184)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:180)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:127)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$4(NodeTestTask.java:108)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:98)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:74)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1378)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$4(NodeTestTask.java:112)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:98)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:74)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1378)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$4(NodeTestTask.java:112)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:72)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:98)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:74)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:170)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:154)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:90)
at org.junit.platform.surefire.provider.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:132)
at org.junit.platform.surefire.provider.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:111)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121)
Caused by: java.lang.AssertionError:
Expecting empty but was:<['helloworld.Hello/SayHello' 00-09c3332eaa5ff1776fecddfb789123a7-5e3a27630a958468-01 (82239d3)]>
at co.elastic.apm.agent.MockReporter.lambda$assertNoTransaction$1(MockReporter.java:207)
at org.awaitility.core.AssertionCondition.lambda$new$0(AssertionCondition.java:53)
at org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:203)
at org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:190)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:844)
Standard Error
[main] WARN co.elastic.apm.agent.impl.ElasticApmTracer - Attempting to resume the agent when it is in a RUNNING state
[main] INFO co.elastic.apm.agent.grpc.testapp.HelloServer - starting grpc server on port 50051
[main] INFO co.elastic.apm.agent.grpc.testapp.HelloServer - grpc server start complete
[grpc-default-executor-1] DEBUG co.elastic.apm.agent.impl.transaction.AbstractSpan - decrement references to 'helloworld.Hello/SayHello' 00-09c3332eaa5ff1776fecddfb789123a7-5e3a27630a958468-01 (82239d3) (1)
[main] DEBUG co.elastic.apm.agent.impl.transaction.AbstractSpan - decrement references to 'helloworld.Hello/SayHello' 00-09c3332eaa5ff1776fecddfb789123a7-5e3a27630a958468-01 (82239d3) (0)
[main] INFO co.elastic.apm.agent.grpc.testapp.HelloClient - client channel has been properly shut down
[main] INFO co.elastic.apm.agent.grpc.testapp.HelloServer - stopping grpc server
[main] INFO co.elastic.apm.agent.grpc.testapp.HelloServer - grpc server shutdown complete