Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ci pipeline fails with TestContainers #8350

Closed
Zelldon opened this issue Dec 10, 2021 · 7 comments · Fixed by #9462
Closed

Ci pipeline fails with TestContainers #8350

Zelldon opened this issue Dec 10, 2021 · 7 comments · Fixed by #9462
Labels
kind/toil Categorizes an issue or PR as general maintenance, i.e. cleanup, refactoring, etc. version:8.1.0-alpha2 version:8.1.0 Marks an issue as being completely or in parts released in 8.1.0

Comments

@Zelldon
Copy link
Member

Zelldon commented Dec 10, 2021

Description

During merging I encountered some issues with TestContainer:

https://ci.zeebe.camunda.cloud/blue/organizations/jenkins/camunda-cloud%2Fzeebe/detail/staging/1463/pipeline/260

[2021-12-10T07:27:10.367Z] [ERROR] io.camunda.zeebe.test.SnapshotTest.update(String, UpdateTestCase, ContainerState)[9]  Time elapsed: 78.422 s  <<< ERROR!

[2021-12-10T07:27:10.367Z] org.testcontainers.containers.ContainerLaunchException: Container startup failed

[2021-12-10T07:27:10.367Z] 	at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:336)

[2021-12-10T07:27:10.367Z] 	at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:317)

[2021-12-10T07:27:10.367Z] 	at zeebe.qa.update.tests@1.3.0-SNAPSHOT/io.camunda.zeebe.test.ContainerState.lambda$start$2(ContainerState.java:125)

[2021-12-10T07:27:10.367Z] 	at net.jodah.failsafe.Functions.lambda$toSupplier$10(Functions.java:262)

[2021-12-10T07:27:10.367Z] 	at net.jodah.failsafe.Functions.lambda$get$0(Functions.java:48)

[2021-12-10T07:27:10.367Z] 	at net.jodah.failsafe.RetryPolicyExecutor.lambda$supply$0(RetryPolicyExecutor.java:66)

[2021-12-10T07:27:10.367Z] 	at net.jodah.failsafe.Execution.executeSync(Execution.java:128)

[2021-12-10T07:27:10.367Z] 	at net.jodah.failsafe.FailsafeExecutor.call(FailsafeExecutor.java:379)

[2021-12-10T07:27:10.367Z] 	at net.jodah.failsafe.FailsafeExecutor.run(FailsafeExecutor.java:212)

[2021-12-10T07:27:10.367Z] 	at zeebe.qa.update.tests@1.3.0-SNAPSHOT/io.camunda.zeebe.test.ContainerState.start(ContainerState.java:125)

[2021-12-10T07:27:10.367Z] 	at zeebe.qa.update.tests@1.3.0-SNAPSHOT/io.camunda.zeebe.test.ContainerState.start(ContainerState.java:93)

[2021-12-10T07:27:10.367Z] 	at zeebe.qa.update.tests@1.3.0-SNAPSHOT/io.camunda.zeebe.test.SnapshotTest.update(SnapshotTest.java:54)

[2021-12-10T07:27:10.367Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

[2021-12-10T07:27:10.367Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

[2021-12-10T07:27:10.367Z] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

[2021-12-10T07:27:10.367Z] 	at java.base/java.lang.reflect.Method.invoke(Method.java:568)

[2021-12-10T07:27:10.367Z] 	at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725)

[2021-12-10T07:27:10.367Z] 	at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)

[2021-12-10T07:27:10.367Z] 	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)

[2021-12-10T07:27:10.367Z] 	at org.junit.jupiter.engine.extension.TimeoutInvocation.proceed(TimeoutInvocation.java:46)

[2021-12-10T07:27:10.367Z] 	at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)

[2021-12-10T07:27:10.367Z] 	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)

[2021-12-10T07:27:10.368Z] 	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestTemplateMethod(TimeoutExtension.java:92)

[2021-12-10T07:27:10.368Z] 	at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)

[2021-12-10T07:27:10.368Z] 	at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)

[2021-12-10T07:27:10.368Z] 	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)

[2021-12-10T07:27:10.368Z] 	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)

[2021-12-10T07:27:10.368Z] 	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)

[2021-12-10T07:27:10.368Z] 	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)

[2021-12-10T07:27:10.368Z] 	at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)

[2021-12-10T07:27:10.368Z] 	at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)

[2021-12-10T07:27:10.368Z] 	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214)

[2021-12-10T07:27:10.368Z] 	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

[2021-12-10T07:27:10.368Z] 	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210)

[2021-12-10T07:27:10.368Z] 	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135)

[2021-12-10T07:27:10.368Z] 	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66)

[2021-12-10T07:27:10.368Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)

[2021-12-10T07:27:10.368Z] 	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

[2021-12-10T07:27:10.368Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)

[2021-12-10T07:27:10.368Z] 	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)

[2021-12-10T07:27:10.368Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)

[2021-12-10T07:27:10.368Z] 	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

[2021-12-10T07:27:10.368Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)

[2021-12-10T07:27:10.368Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)

[2021-12-10T07:27:10.368Z] 	at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)

[2021-12-10T07:27:10.368Z] 	at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.submit(ForkJoinPoolHierarchicalTestExecutorService.java:118)

[2021-12-10T07:27:10.368Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:226)

[2021-12-10T07:27:10.368Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:204)

[2021-12-10T07:27:10.368Z] 	at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:139)

[2021-12-10T07:27:10.368Z] 	at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:107)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)

[2021-12-10T07:27:10.368Z] 	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)

[2021-12-10T07:27:10.369Z] 	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)

[2021-12-10T07:27:10.369Z] 	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)

[2021-12-10T07:27:10.369Z] 	at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)

[2021-12-10T07:27:10.369Z] 	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)

[2021-12-10T07:27:10.369Z] 	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)

[2021-12-10T07:27:10.369Z] 	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)

[2021-12-10T07:27:10.369Z] 	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)

[2021-12-10T07:27:10.369Z] 	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)

[2021-12-10T07:27:10.369Z] 	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)

[2021-12-10T07:27:10.369Z] 	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)

[2021-12-10T07:27:10.369Z] 	at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:107)

[2021-12-10T07:27:10.369Z] 	at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:42)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)

[2021-12-10T07:27:10.369Z] 	at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)

[2021-12-10T07:27:10.369Z] 	at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194)

[2021-12-10T07:27:10.369Z] 	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)

[2021-12-10T07:27:10.369Z] 	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)

[2021-12-10T07:27:10.369Z] 	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)

[2021-12-10T07:27:10.369Z] 	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)

[2021-12-10T07:27:10.370Z] 	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)

[2021-12-10T07:27:10.370Z] 	Suppressed: com.github.dockerjava.api.exception.NotModifiedException: Status 304: 

[2021-12-10T07:27:10.370Z] 		at org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.execute(DefaultInvocationBuilder.java:235)

[2021-12-10T07:27:10.370Z] 		at org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.post(DefaultInvocationBuilder.java:102)

[2021-12-10T07:27:10.370Z] 		at org.testcontainers.shaded.com.github.dockerjava.core.exec.StopContainerCmdExec.execute(StopContainerCmdExec.java:33)

[2021-12-10T07:27:10.370Z] 		at org.testcontainers.shaded.com.github.dockerjava.core.exec.StopContainerCmdExec.execute(StopContainerCmdExec.java:13)

[2021-12-10T07:27:10.370Z] 		at org.testcontainers.shaded.com.github.dockerjava.core.exec.AbstrSyncDockerCmdExec.exec(AbstrSyncDockerCmdExec.java:21)

[2021-12-10T07:27:10.370Z] 		at org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:35)

[2021-12-10T07:27:10.370Z] 		at org.testcontainers.shaded.com.github.dockerjava.core.command.StopContainerCmdImpl.exec(StopContainerCmdImpl.java:63)

[2021-12-10T07:27:10.370Z] 		at io.zeebe.containers.ZeebeNode.shutdownGracefully(ZeebeNode.java:143)

[2021-12-10T07:27:10.370Z] 		at zeebe.qa.update.tests@1.3.0-SNAPSHOT/io.camunda.zeebe.test.ContainerState.close(ContainerState.java:241)

[2021-12-10T07:27:10.370Z] 		at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

[2021-12-10T07:27:10.370Z] 		at org.junit.jupiter.engine.execution.ExtensionValuesStore.lambda$closeAllStoredCloseableValues$3(ExtensionValuesStore.java:68)

[2021-12-10T07:27:10.370Z] 		at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)

[2021-12-10T07:27:10.370Z] 		at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)

[2021-12-10T07:27:10.370Z] 		at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)

[2021-12-10T07:27:10.370Z] 		at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395)

[2021-12-10T07:27:10.370Z] 		at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258)

[2021-12-10T07:27:10.370Z] 		at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)

[2021-12-10T07:27:10.370Z] 		at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)

[2021-12-10T07:27:10.370Z] 		at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)

[2021-12-10T07:27:10.370Z] 		at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)

[2021-12-10T07:27:10.370Z] 		at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)

[2021-12-10T07:27:10.370Z] 		at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)

[2021-12-10T07:27:10.370Z] 		at org.junit.jupiter.engine.execution.ExtensionValuesStore.closeAllStoredCloseableValues(ExtensionValuesStore.java:68)

[2021-12-10T07:27:10.370Z] 		at org.junit.jupiter.engine.descriptor.AbstractExtensionContext.close(AbstractExtensionContext.java:77)

[2021-12-10T07:27:10.370Z] 		at org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.close(JupiterEngineExecutionContext.java:53)

[2021-12-10T07:27:10.370Z] 		at org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.cleanUp(JupiterTestDescriptor.java:222)

[2021-12-10T07:27:10.370Z] 		at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$cleanUp$1(TestMethodTestDescriptor.java:152)

[2021-12-10T07:27:10.370Z] 		at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

[2021-12-10T07:27:10.370Z] 		at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.cleanUp(TestMethodTestDescriptor.java:152)

[2021-12-10T07:27:10.370Z] 		at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.cleanUp(TestMethodTestDescriptor.java:66)

[2021-12-10T07:27:10.370Z] 		at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$cleanUp$10(NodeTestTask.java:167)

[2021-12-10T07:27:10.370Z] 		at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)

[2021-12-10T07:27:10.370Z] 		at org.junit.platform.engine.support.hierarchical.NodeTestTask.cleanUp(NodeTestTask.java:167)

[2021-12-10T07:27:10.370Z] 		at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:98)

[2021-12-10T07:27:10.370Z] 		... 72 more

[2021-12-10T07:27:10.370Z] Caused by: org.rnorth.ducttape.RetryCountExceededException: Retry limit hit with exception

[2021-12-10T07:27:10.370Z] 	at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:88)

[2021-12-10T07:27:10.370Z] 	at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:329)

[2021-12-10T07:27:10.370Z] 	... 115 more

[2021-12-10T07:27:10.370Z] Caused by: org.testcontainers.containers.ContainerLaunchException: Could not create/start container

[2021-12-10T07:27:10.370Z] 	at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:525)

[2021-12-10T07:27:10.370Z] 	at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:331)

[2021-12-10T07:27:10.370Z] 	at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81)

[2021-12-10T07:27:10.370Z] 	... 116 more

[2021-12-10T07:27:10.370Z] Caused by: java.lang.IllegalStateException: Container exited with code 1

[2021-12-10T07:27:10.370Z] 	at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:497)

[2021-12-10T07:27:10.370Z] 	... 118 more

[2021-12-10T07:27:10.370Z] 

I think interesting is the last part:

[2021-12-10T07:25:59.911Z] Caused by: org.rnorth.ducttape.RetryCountExceededException: Retry limit hit with exception

[2021-12-10T07:25:59.911Z] 	at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:88)

[2021-12-10T07:25:59.911Z] 	at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:329)

[2021-12-10T07:25:59.911Z] 	... 60 more

[2021-12-10T07:25:59.911Z] Caused by: org.testcontainers.containers.ContainerLaunchException: Could not create/start container

[2021-12-10T07:25:59.911Z] 	at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:525)

[2021-12-10T07:25:59.911Z] 	at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:331)

[2021-12-10T07:25:59.911Z] 	at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81)

[2021-12-10T07:25:59.911Z] 	... 61 more

[2021-12-10T07:25:59.911Z] Caused by: java.lang.IllegalStateException: Container exited with code 1

[2021-12-10T07:25:59.911Z] 	at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:497)

[2021-12-10T07:25:59.911Z] 	... 63 more

[2021-12-10T07:25:59.911Z] 

Is this rate limiting related to the github rate limiting you mentioned earlier this week @npepinpe ?

Another thing I was wonderign is that no test is marked as failed (in the tests tab) in the ocean view.

@Zelldon Zelldon added the kind/toil Categorizes an issue or PR as general maintenance, i.e. cleanup, refactoring, etc. label Dec 10, 2021
@npepinpe npepinpe self-assigned this Dec 10, 2021
@npepinpe
Copy link
Member

I had a look at the error. This 304 is because we ask the container to shutdown, but the docker API says that the container remains unchanged after the command completes, which means it's still running. It's a little weird why this happens however, but the logs might give us a hint.

@npepinpe
Copy link
Member

npepinpe commented Dec 10, 2021

Looking at the logs, you can see that the container crashed due to out of memory during the test run, so when it tried to shut it down, it turns out it was already shut down, which explains the 304.

In fact, the broker never even started, it failed immediately:

+ hostname -i 
+ HOST=172.20.0.2
+ '[' false = true ']'
+ export ZEEBE_BROKER_NETWORK_HOST=0.0.0.0
+ ZEEBE_BROKER_NETWORK_HOST=0.0.0.0
+ export ZEEBE_BROKER_GATEWAY_CLUSTER_HOST=0.0.0.0
+ ZEEBE_BROKER_GATEWAY_CLUSTER_HOST=0.0.0.0
+ exec /usr/local/zeebe/bin/broker
OpenJDK 64-Bit Server VM 
warning: Ignoring option --illegal-access=deny; support was removed in 17.0 
  ______  ______   ______   ____    ______     ____    _____     ____    _  __  ______   _____
 |___  / |  ____| |  ____| |  _ \  |  ____|   |  _ \  |  __ \   / __ \  | |/ / |  ____| |  __ \
    / /  | |__    | |__    | |_) | | |__      | |_) | | |__) | | |  | | | ' /  | |__    | |__) |
   / /   |  __|   |  __|   |  _ <  |  __|     |  _ <  |  _  /  | |  | | |  <   |  __|   |  _  /
  / /__  | |____  | |____  | |_) | | |____    | |_) | | | \ \  | |__| | | . \  | |____  | | \ \
 /_____| |______| |______| |____/  |______|   |____/  |_|  \_\  \____/  |_|\_\ |______| |_|  \_\
                  
2021-12-10 13:08:01.703 [] [main] INFO io.camunda.zeebe.broker.StandaloneBroker - Starting StandaloneBroker v1.3.0-SNAPSHOT using Java 17.0.1 on 8b4c1d66d4ce with PID 7 (/usr/local/zeebe/lib/camunda-cloud-zeebe-1.3.0-SNAPSHOT.jar started by root in /usr/local/zeebe)
2021-12-10 13:08:01.713 [] [main] DEBUG io.camunda.zeebe.broker.StandaloneBroker - Running with Spring Boot v2.6.1, Spring v5.3.13 
2021-12-10 13:08:01.714 [] [main] INFO io.camunda.zeebe.broker.StandaloneBroker - The following profiles are active: broker 
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007faf1b780000, 65536, 0) failed; error='Not enough space' (errno=12) 
# 
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 65536 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /usr/local/zeebe/hs_err_pid7.log

@npepinpe
Copy link
Member

Possibly we're running out of memory on the Docker daemon? Could be related to the increase in parallelism.

@npepinpe
Copy link
Member

I ran a couple builds and I was monitoring our memory usage. We never get close to the limit (60Gi) - our max for the integration agent (all containers included) is about 32Gi, so there's plenty of room for the Docker containers. I really don't get how this could have happened 🤔

@npepinpe npepinpe removed their assignment Jan 4, 2022
@npepinpe
Copy link
Member

npepinpe commented Jan 4, 2022

I'm not closing this yet since I did see it happen, but it happens very sporadically, so I'd leave it as low priority for now.

@pihme
Copy link
Contributor

pihme commented May 31, 2022

@npepinpe Did you see this occur again? If not, I would propose to close this issue

@npepinpe
Copy link
Member

Yes, it still happens sporadically (and for some reason usually consecutively in batches), but I haven't seen that with the GHA pipeline, so I would also be in favor of closing.

ghost pushed a commit that referenced this issue Jun 1, 2022
9462: Integrate Jenkins pipeline with TC Cloud r=npepinpe a=npepinpe

## Description

This PR updates both the Jenkins pipeline and the GHA pipeline to run against Testcontainers Cloud (TCC).

Since TCC cannot access your local images, it relies on us starting a local registry and proxying it to the remote VM. This means the image under test changes from `camunda/zeebe:current-test` (which is really `docker.io/camunda/zeebe:current-test`) to specify the local registry's URL, `localhost:5000/camunda/zeebe:current-test`.

To make our build work (while keeping our local workflow), some preliminary changes were necessary, mainly about finding the right image name. The most notable change is that the name of the image under test can now be overwritten via an environment variable, `ZEEBE_TEST_DOCKER_IMAGE` (but will fallback to `camunda/zeebe:current-test` when not defined).

### How it works

TCC generally works by providing you a remote VM where your containers are started. While you can broadly think of it as Docker-as-a-Service, Docker is implementation detail as far as TCC is concerned, so we shouldn't rely on that. To do so, you start the TCC agent locally, which the `testcontainers-java` library will use to communicate with the VM. No changes are required in your tests. That said, under the hood, we still use only one VM, so we're still limited in terms of resources.

One way to overcome this is to specify the concurrency, which will allocate more VMs for your tests. Right now, this is limited to 4, but hopefully we can increase this. How it works is, each JVM is pinned to a single VM in a round robin fashion. So if you have VMs 0-4 (`VM_0`, `VM_1`, etc.) and JVMs 0-4 (`JVM_0`, `JVM_1`, etc.), then you can imagine that `JVM_0` is starts containers on `VM_0`, `JVM_1` on `VM_1`, etc. This is just an example, of course. This means that if you have more JVMs than VMs, then of course the VMs are shared. So you can still run out of resources depending on test ordering and execution, but it's a little more spread out than the previous situation of one large VM.

Right now, I only configured the integration tests to run with TCC. The Go tests and the Elasticsearch exporter tests also make use of containers, but as they are not resource heavy, we can run them in the same job for now. If we see to increase parallelism, then we might want to look into setting them up with TCC as well.

## Related issues

closes #8350



Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
@Zelldon Zelldon added the version:8.1.0 Marks an issue as being completely or in parts released in 8.1.0 label Oct 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/toil Categorizes an issue or PR as general maintenance, i.e. cleanup, refactoring, etc. version:8.1.0-alpha2 version:8.1.0 Marks an issue as being completely or in parts released in 8.1.0
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants