[JBoss JIRA] (ISPN-12284) InfinispanRuleBasicTest thread leak
by Dan Berindei (Jira)
[ https://issues.redhat.com/browse/ISPN-12284?page=com.atlassian.jira.plugi... ]
Dan Berindei updated ISPN-12284:
--------------------------------
Description:
The ISPN-12256 fix changed the default {{infinispan.cluster.stack}} to {{test-tcp}} in the testdriver parent POM, but only added a custom Infinispan configuration with a {{test-tcp}} stack in the {{junit5}} module. So {{InfinispanRuleBasicTest}} is now failing:
{noformat}
[2020-09-02T14:08:22.290Z] [0] STDOUT: 14:08:21,360 FATAL (main) [org.infinispan.SERVER] ISPN080028: Infinispan Server failed to start org.infinispan.commons.CacheConfigurationException: ISPN000540: No such JGroups stack 'test-tcp'
[2020-09-02T14:09:08.806Z] 10:09:05.567 [ERROR] org.infinispan.server.test.junit4.InfinispanRuleBasicTest.null on org.infinispan.server.test.junit4.InfinispanRuleBasicTest Time elapsed: 59.717 s <<< FAILURE!
[2020-09-02T14:09:08.806Z] java.lang.RuntimeException: java.util.concurrent.TimeoutException: After the await period 45 SECONDS the count down should be 0 and is 1
[2020-09-02T14:09:08.806Z] at org.infinispan.commons.test.Exceptions.unchecked(Exceptions.java:262)
[2020-09-02T14:09:08.806Z] at org.infinispan.server.test.core.ContainerInfinispanServerDriver.start(ContainerInfinispanServerDriver.java:241)
{noformat}
In addition, the server driver does not stop its containers after a startup failure, assuming that the containers failed to start. This means the workaround for the docker-java thread leak doesn't run, and a thread leak is reported:
{noformat}
[2020-09-02T14:09:08.806Z] [TestSuiteProgress] Test failed: org.infinispan.server.test.junit4.InfinispanRuleBasicTest.ThreadLeakChecker
org.infinispan.commons.test.ThreadLeakChecker$LeakException: Leaked thread: tc-okhttp-stream-621325557 << testng-InfinispanRuleBasicTest << org.infinispan.server.test.junit4.InfinispanRuleBasicTest
at app//com.github.dockerjava.okhttp.UnixDomainSocket.recv(Native Method)
at app//com.github.dockerjava.okhttp.UnixDomainSocket$UnixSocketInputStream.read(UnixDomainSocket.java:250)
at java.base@11.0.7/java.io.FilterInputStream.read(FilterInputStream.java:133)
at app//com.github.dockerjava.okhttp.UnixSocketFactory$1$1.read(UnixSocketFactory.java:43)
at app//org.testcontainers.shaded.okio.Okio$2.read(Okio.java:140)
at app//org.testcontainers.shaded.okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
at app//org.testcontainers.shaded.okio.RealBufferedSource.request(RealBufferedSource.java:72)
at app//org.testcontainers.shaded.okio.RealBufferedSource.require(RealBufferedSource.java:65)
at app//org.testcontainers.shaded.okio.RealBufferedSource.readHexadecimalUnsignedLong(RealBufferedSource.java:307)
at app//org.testcontainers.shaded.okhttp3.internal.http1.Http1ExchangeCodec$ChunkedSource.readChunkSize(Http1ExchangeCodec.java:492)
at app//org.testcontainers.shaded.okhttp3.internal.http1.Http1ExchangeCodec$ChunkedSource.read(Http1ExchangeCodec.java:471)
at app//org.testcontainers.shaded.okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.java:286)
at app//org.testcontainers.shaded.okio.RealBufferedSource.exhausted(RealBufferedSource.java:61)
at app//com.github.dockerjava.okhttp.FramedSink.accept(FramedSink.java:28)
at app//com.github.dockerjava.okhttp.FramedSink.accept(FramedSink.java:13)
at app//com.github.dockerjava.okhttp.OkHttpInvocationBuilder.lambda$executeAndStream$4(OkHttpInvocationBuilder.java:330)
at app//com.github.dockerjava.okhttp.OkHttpInvocationBuilder$$Lambda$162/0x00000008402f0840.run(Unknown Source)
at java.base@11.0.7/java.lang.Thread.run(Thread.java:834)
Caused by: org.infinispan.commons.test.ThreadLeakChecker$LeakException: testng-InfinispanRuleBasicTest << org.infinispan.server.test.junit4.InfinispanRuleBasicTest
at org.infinispan.commons.test.ThreadLeakChecker$ThreadInfoLocal.childValue(ThreadLeakChecker.java:109)
at org.infinispan.commons.test.ThreadLeakChecker$ThreadInfoLocal.childValue(ThreadLeakChecker.java:106)
at java.base/java.lang.ThreadLocal$ThreadLocalMap.<init>(ThreadLocal.java:411)
at java.base/java.lang.ThreadLocal.createInheritedMap(ThreadLocal.java:276)
at java.base/java.lang.Thread.<init>(Thread.java:450)
at java.base/java.lang.Thread.<init>(Thread.java:709)
at java.base/java.lang.Thread.<init>(Thread.java:582)
at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.executeAndStream(OkHttpInvocationBuilder.java:335)
at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.executeAndStream(OkHttpInvocationBuilder.java:306)
at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.get(OkHttpInvocationBuilder.java:80)
at com.github.dockerjava.core.exec.LogContainerCmdExec.execute0(LogContainerCmdExec.java:42)
at com.github.dockerjava.core.exec.LogContainerCmdExec.execute0(LogContainerCmdExec.java:12)
at com.github.dockerjava.core.exec.AbstrAsyncDockerCmdExec.execute(AbstrAsyncDockerCmdExec.java:56)
at com.github.dockerjava.core.exec.AbstrAsyncDockerCmdExec.exec(AbstrAsyncDockerCmdExec.java:21)
at com.github.dockerjava.core.exec.AbstrAsyncDockerCmdExec.exec(AbstrAsyncDockerCmdExec.java:12)
at com.github.dockerjava.core.command.AbstrAsyncDockerCmd.exec(AbstrAsyncDockerCmd.java:21)
at org.testcontainers.utility.ResourceReaper.start(ResourceReaper.java:106)
at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:168)
at org.infinispan.server.test.core.ContainerInfinispanServerDriver.getDockerBridgeAddress(ContainerInfinispanServerDriver.java:86)
at org.infinispan.server.test.core.ContainerInfinispanServerDriver.<init>(ContainerInfinispanServerDriver.java:79)
at org.infinispan.server.test.core.ServerRunMode$2.newDriver(ServerRunMode.java:17)
at org.infinispan.server.test.core.TestServer.initServerDriver(TestServer.java:139)
at org.infinispan.server.test.junit4.InfinispanServerRule$1.evaluate(InfinispanServerRule.java:67)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at org.testng.junit.JUnit4TestRunner.start(JUnit4TestRunner.java:82)
at org.testng.junit.JUnit4TestRunner.run(JUnit4TestRunner.java:70)
at org.testng.TestRunner$1.run(TestRunner.java:570)
at org.testng.TestRunner.runJUnitWorkers(TestRunner.java:717)
at org.testng.TestRunner.privateRunJUnit(TestRunner.java:601)
at org.testng.TestRunner.run(TestRunner.java:502)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
at org.testng.SuiteRunner.access$000(SuiteRunner.java:40)
at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:489)
at org.testng.internal.thread.ThreadUtil$1.call(ThreadUtil.java:52)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
... 1 more
Caused by: org.infinispan.commons.test.ThreadLeakChecker$LeakException: org.infinispan.server.test.junit4.InfinispanRuleBasicTest
{noformat}
https://ci.infinispan.org/job/Infinispan/job/master/2299/consoleText
was:
The ISPN-12256 fix changed the default {{infinispan.cluster.stack}} to {{test-tcp}} in the testdriver parent POM, but only added a custom Infinispan configuration with a {{test-tcp}} stack in the {{junit5}} module. So {{InfinispanRuleBasicTest}} is now failing:
{noformat}
[2020-09-02T14:08:22.290Z] [0] STDOUT: 14:08:21,360 FATAL (main) [org.infinispan.SERVER] ISPN080028: Infinispan Server failed to start org.infinispan.commons.CacheConfigurationException: ISPN000540: No such JGroups stack 'test-tcp'
[2020-09-02T14:09:08.806Z] 10:09:05.567 [ERROR] org.infinispan.server.test.junit4.InfinispanRuleBasicTest.null on org.infinispan.server.test.junit4.InfinispanRuleBasicTest Time elapsed: 59.717 s <<< FAILURE!
[2020-09-02T14:09:08.806Z] java.lang.RuntimeException: java.util.concurrent.TimeoutException: After the await period 45 SECONDS the count down should be 0 and is 1
[2020-09-02T14:09:08.806Z] at org.infinispan.commons.test.Exceptions.unchecked(Exceptions.java:262)
[2020-09-02T14:09:08.806Z] at org.infinispan.server.test.core.ContainerInfinispanServerDriver.start(ContainerInfinispanServerDriver.java:241)
{noformat}
In addition, the server driver does not stop its containers after a startup failure, assuming that the containers failed to start. This means the workaround for the docker-java thread leak doesn't run, and a thread leak is reported:
{noformat}
[2020-09-02T14:09:08.806Z] [TestSuiteProgress] Test failed: org.infinispan.server.test.junit4.InfinispanRuleBasicTest.ThreadLeakChecker
org.infinispan.commons.test.ThreadLeakChecker$LeakException: Leaked thread: tc-okhttp-stream-621325557 << testng-InfinispanRuleBasicTest << org.infinispan.server.test.junit4.InfinispanRuleBasicTest
at app//com.github.dockerjava.okhttp.UnixDomainSocket.recv(Native Method)
at app//com.github.dockerjava.okhttp.UnixDomainSocket$UnixSocketInputStream.read(UnixDomainSocket.java:250)
at java.base@11.0.7/java.io.FilterInputStream.read(FilterInputStream.java:133)
at app//com.github.dockerjava.okhttp.UnixSocketFactory$1$1.read(UnixSocketFactory.java:43)
at app//org.testcontainers.shaded.okio.Okio$2.read(Okio.java:140)
at app//org.testcontainers.shaded.okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
at app//org.testcontainers.shaded.okio.RealBufferedSource.request(RealBufferedSource.java:72)
at app//org.testcontainers.shaded.okio.RealBufferedSource.require(RealBufferedSource.java:65)
at app//org.testcontainers.shaded.okio.RealBufferedSource.readHexadecimalUnsignedLong(RealBufferedSource.java:307)
at app//org.testcontainers.shaded.okhttp3.internal.http1.Http1ExchangeCodec$ChunkedSource.readChunkSize(Http1ExchangeCodec.java:492)
at app//org.testcontainers.shaded.okhttp3.internal.http1.Http1ExchangeCodec$ChunkedSource.read(Http1ExchangeCodec.java:471)
at app//org.testcontainers.shaded.okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.java:286)
at app//org.testcontainers.shaded.okio.RealBufferedSource.exhausted(RealBufferedSource.java:61)
at app//com.github.dockerjava.okhttp.FramedSink.accept(FramedSink.java:28)
at app//com.github.dockerjava.okhttp.FramedSink.accept(FramedSink.java:13)
at app//com.github.dockerjava.okhttp.OkHttpInvocationBuilder.lambda$executeAndStream$4(OkHttpInvocationBuilder.java:330)
at app//com.github.dockerjava.okhttp.OkHttpInvocationBuilder$$Lambda$162/0x00000008402f0840.run(Unknown Source)
at java.base@11.0.7/java.lang.Thread.run(Thread.java:834)
Caused by: org.infinispan.commons.test.ThreadLeakChecker$LeakException: testng-InfinispanRuleBasicTest << org.infinispan.server.test.junit4.InfinispanRuleBasicTest
at org.infinispan.commons.test.ThreadLeakChecker$ThreadInfoLocal.childValue(ThreadLeakChecker.java:109)
at org.infinispan.commons.test.ThreadLeakChecker$ThreadInfoLocal.childValue(ThreadLeakChecker.java:106)
at java.base/java.lang.ThreadLocal$ThreadLocalMap.<init>(ThreadLocal.java:411)
at java.base/java.lang.ThreadLocal.createInheritedMap(ThreadLocal.java:276)
at java.base/java.lang.Thread.<init>(Thread.java:450)
at java.base/java.lang.Thread.<init>(Thread.java:709)
at java.base/java.lang.Thread.<init>(Thread.java:582)
at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.executeAndStream(OkHttpInvocationBuilder.java:335)
at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.executeAndStream(OkHttpInvocationBuilder.java:306)
at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.get(OkHttpInvocationBuilder.java:80)
at com.github.dockerjava.core.exec.LogContainerCmdExec.execute0(LogContainerCmdExec.java:42)
at com.github.dockerjava.core.exec.LogContainerCmdExec.execute0(LogContainerCmdExec.java:12)
at com.github.dockerjava.core.exec.AbstrAsyncDockerCmdExec.execute(AbstrAsyncDockerCmdExec.java:56)
at com.github.dockerjava.core.exec.AbstrAsyncDockerCmdExec.exec(AbstrAsyncDockerCmdExec.java:21)
at com.github.dockerjava.core.exec.AbstrAsyncDockerCmdExec.exec(AbstrAsyncDockerCmdExec.java:12)
at com.github.dockerjava.core.command.AbstrAsyncDockerCmd.exec(AbstrAsyncDockerCmd.java:21)
at org.testcontainers.utility.ResourceReaper.start(ResourceReaper.java:106)
at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:168)
at org.infinispan.server.test.core.ContainerInfinispanServerDriver.getDockerBridgeAddress(ContainerInfinispanServerDriver.java:86)
at org.infinispan.server.test.core.ContainerInfinispanServerDriver.<init>(ContainerInfinispanServerDriver.java:79)
at org.infinispan.server.test.core.ServerRunMode$2.newDriver(ServerRunMode.java:17)
at org.infinispan.server.test.core.TestServer.initServerDriver(TestServer.java:139)
at org.infinispan.server.test.junit4.InfinispanServerRule$1.evaluate(InfinispanServerRule.java:67)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at org.testng.junit.JUnit4TestRunner.start(JUnit4TestRunner.java:82)
at org.testng.junit.JUnit4TestRunner.run(JUnit4TestRunner.java:70)
at org.testng.TestRunner$1.run(TestRunner.java:570)
at org.testng.TestRunner.runJUnitWorkers(TestRunner.java:717)
at org.testng.TestRunner.privateRunJUnit(TestRunner.java:601)
at org.testng.TestRunner.run(TestRunner.java:502)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
at org.testng.SuiteRunner.access$000(SuiteRunner.java:40)
at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:489)
at org.testng.internal.thread.ThreadUtil$1.call(ThreadUtil.java:52)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
... 1 more
Caused by: org.infinispan.commons.test.ThreadLeakChecker$LeakException: org.infinispan.server.test.junit4.InfinispanRuleBasicTest
{noformat}
> InfinispanRuleBasicTest thread leak
> -----------------------------------
>
> Key: ISPN-12284
> URL: https://issues.redhat.com/browse/ISPN-12284
> Project: Infinispan
> Issue Type: Bug
> Components: Core, Test Suite
> Affects Versions: 12.0.0.Dev02
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 12.0.0.Dev03
>
>
> The ISPN-12256 fix changed the default {{infinispan.cluster.stack}} to {{test-tcp}} in the testdriver parent POM, but only added a custom Infinispan configuration with a {{test-tcp}} stack in the {{junit5}} module. So {{InfinispanRuleBasicTest}} is now failing:
> {noformat}
> [2020-09-02T14:08:22.290Z] [0] STDOUT: 14:08:21,360 FATAL (main) [org.infinispan.SERVER] ISPN080028: Infinispan Server failed to start org.infinispan.commons.CacheConfigurationException: ISPN000540: No such JGroups stack 'test-tcp'
> [2020-09-02T14:09:08.806Z] 10:09:05.567 [ERROR] org.infinispan.server.test.junit4.InfinispanRuleBasicTest.null on org.infinispan.server.test.junit4.InfinispanRuleBasicTest Time elapsed: 59.717 s <<< FAILURE!
> [2020-09-02T14:09:08.806Z] java.lang.RuntimeException: java.util.concurrent.TimeoutException: After the await period 45 SECONDS the count down should be 0 and is 1
> [2020-09-02T14:09:08.806Z] at org.infinispan.commons.test.Exceptions.unchecked(Exceptions.java:262)
> [2020-09-02T14:09:08.806Z] at org.infinispan.server.test.core.ContainerInfinispanServerDriver.start(ContainerInfinispanServerDriver.java:241)
> {noformat}
> In addition, the server driver does not stop its containers after a startup failure, assuming that the containers failed to start. This means the workaround for the docker-java thread leak doesn't run, and a thread leak is reported:
> {noformat}
> [2020-09-02T14:09:08.806Z] [TestSuiteProgress] Test failed: org.infinispan.server.test.junit4.InfinispanRuleBasicTest.ThreadLeakChecker
> org.infinispan.commons.test.ThreadLeakChecker$LeakException: Leaked thread: tc-okhttp-stream-621325557 << testng-InfinispanRuleBasicTest << org.infinispan.server.test.junit4.InfinispanRuleBasicTest
> at app//com.github.dockerjava.okhttp.UnixDomainSocket.recv(Native Method)
> at app//com.github.dockerjava.okhttp.UnixDomainSocket$UnixSocketInputStream.read(UnixDomainSocket.java:250)
> at java.base@11.0.7/java.io.FilterInputStream.read(FilterInputStream.java:133)
> at app//com.github.dockerjava.okhttp.UnixSocketFactory$1$1.read(UnixSocketFactory.java:43)
> at app//org.testcontainers.shaded.okio.Okio$2.read(Okio.java:140)
> at app//org.testcontainers.shaded.okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
> at app//org.testcontainers.shaded.okio.RealBufferedSource.request(RealBufferedSource.java:72)
> at app//org.testcontainers.shaded.okio.RealBufferedSource.require(RealBufferedSource.java:65)
> at app//org.testcontainers.shaded.okio.RealBufferedSource.readHexadecimalUnsignedLong(RealBufferedSource.java:307)
> at app//org.testcontainers.shaded.okhttp3.internal.http1.Http1ExchangeCodec$ChunkedSource.readChunkSize(Http1ExchangeCodec.java:492)
> at app//org.testcontainers.shaded.okhttp3.internal.http1.Http1ExchangeCodec$ChunkedSource.read(Http1ExchangeCodec.java:471)
> at app//org.testcontainers.shaded.okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.java:286)
> at app//org.testcontainers.shaded.okio.RealBufferedSource.exhausted(RealBufferedSource.java:61)
> at app//com.github.dockerjava.okhttp.FramedSink.accept(FramedSink.java:28)
> at app//com.github.dockerjava.okhttp.FramedSink.accept(FramedSink.java:13)
> at app//com.github.dockerjava.okhttp.OkHttpInvocationBuilder.lambda$executeAndStream$4(OkHttpInvocationBuilder.java:330)
> at app//com.github.dockerjava.okhttp.OkHttpInvocationBuilder$$Lambda$162/0x00000008402f0840.run(Unknown Source)
> at java.base@11.0.7/java.lang.Thread.run(Thread.java:834)
> Caused by: org.infinispan.commons.test.ThreadLeakChecker$LeakException: testng-InfinispanRuleBasicTest << org.infinispan.server.test.junit4.InfinispanRuleBasicTest
> at org.infinispan.commons.test.ThreadLeakChecker$ThreadInfoLocal.childValue(ThreadLeakChecker.java:109)
> at org.infinispan.commons.test.ThreadLeakChecker$ThreadInfoLocal.childValue(ThreadLeakChecker.java:106)
> at java.base/java.lang.ThreadLocal$ThreadLocalMap.<init>(ThreadLocal.java:411)
> at java.base/java.lang.ThreadLocal.createInheritedMap(ThreadLocal.java:276)
> at java.base/java.lang.Thread.<init>(Thread.java:450)
> at java.base/java.lang.Thread.<init>(Thread.java:709)
> at java.base/java.lang.Thread.<init>(Thread.java:582)
> at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.executeAndStream(OkHttpInvocationBuilder.java:335)
> at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.executeAndStream(OkHttpInvocationBuilder.java:306)
> at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.get(OkHttpInvocationBuilder.java:80)
> at com.github.dockerjava.core.exec.LogContainerCmdExec.execute0(LogContainerCmdExec.java:42)
> at com.github.dockerjava.core.exec.LogContainerCmdExec.execute0(LogContainerCmdExec.java:12)
> at com.github.dockerjava.core.exec.AbstrAsyncDockerCmdExec.execute(AbstrAsyncDockerCmdExec.java:56)
> at com.github.dockerjava.core.exec.AbstrAsyncDockerCmdExec.exec(AbstrAsyncDockerCmdExec.java:21)
> at com.github.dockerjava.core.exec.AbstrAsyncDockerCmdExec.exec(AbstrAsyncDockerCmdExec.java:12)
> at com.github.dockerjava.core.command.AbstrAsyncDockerCmd.exec(AbstrAsyncDockerCmd.java:21)
> at org.testcontainers.utility.ResourceReaper.start(ResourceReaper.java:106)
> at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:168)
> at org.infinispan.server.test.core.ContainerInfinispanServerDriver.getDockerBridgeAddress(ContainerInfinispanServerDriver.java:86)
> at org.infinispan.server.test.core.ContainerInfinispanServerDriver.<init>(ContainerInfinispanServerDriver.java:79)
> at org.infinispan.server.test.core.ServerRunMode$2.newDriver(ServerRunMode.java:17)
> at org.infinispan.server.test.core.TestServer.initServerDriver(TestServer.java:139)
> at org.infinispan.server.test.junit4.InfinispanServerRule$1.evaluate(InfinispanServerRule.java:67)
> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
> at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
> at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
> at org.testng.junit.JUnit4TestRunner.start(JUnit4TestRunner.java:82)
> at org.testng.junit.JUnit4TestRunner.run(JUnit4TestRunner.java:70)
> at org.testng.TestRunner$1.run(TestRunner.java:570)
> at org.testng.TestRunner.runJUnitWorkers(TestRunner.java:717)
> at org.testng.TestRunner.privateRunJUnit(TestRunner.java:601)
> at org.testng.TestRunner.run(TestRunner.java:502)
> at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
> at org.testng.SuiteRunner.access$000(SuiteRunner.java:40)
> at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:489)
> at org.testng.internal.thread.ThreadUtil$1.call(ThreadUtil.java:52)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> ... 1 more
> Caused by: org.infinispan.commons.test.ThreadLeakChecker$LeakException: org.infinispan.server.test.junit4.InfinispanRuleBasicTest
> {noformat}
> https://ci.infinispan.org/job/Infinispan/job/master/2299/consoleText
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 8 months
[JBoss JIRA] (ISPN-9080) Distributed cache stream should wait for new topology when segments aren't complete
by Daniel Klosinski (Jira)
[ https://issues.redhat.com/browse/ISPN-9080?page=com.atlassian.jira.plugin... ]
Daniel Klosinski commented on ISPN-9080:
----------------------------------------
Hello, Is there a chance to backport this fix into infinispan 8.x ?
> Distributed cache stream should wait for new topology when segments aren't complete
> -----------------------------------------------------------------------------------
>
> Key: ISPN-9080
> URL: https://issues.redhat.com/browse/ISPN-9080
> Project: Infinispan
> Issue Type: Bug
> Components: Streams
> Affects Versions: 9.2.1.Final, 9.1.7.Final
> Reporter: Will Burns
> Assignee: Will Burns
> Priority: Major
> Fix For: 9.2.2.Final, 9.3.0.Alpha1
>
>
> Distributed streams can get stuck in infinite loop, wasting CPU if a new toplogy is never installed. This affects all cache modes (scattered, dist and repl).
> We should add a wait for the next topology when we complete a loop and not all segments are completed.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 8 months
[JBoss JIRA] (ISPN-12284) InfinispanRuleBasicTest thread leak
by Dan Berindei (Jira)
[ https://issues.redhat.com/browse/ISPN-12284?page=com.atlassian.jira.plugi... ]
Dan Berindei updated ISPN-12284:
--------------------------------
Status: Open (was: New)
> InfinispanRuleBasicTest thread leak
> -----------------------------------
>
> Key: ISPN-12284
> URL: https://issues.redhat.com/browse/ISPN-12284
> Project: Infinispan
> Issue Type: Bug
> Components: Core, Test Suite
> Affects Versions: 12.0.0.Dev02
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 12.0.0.Dev03
>
>
> The ISPN-12256 fix changed the default {{infinispan.cluster.stack}} to {{test-tcp}} in the testdriver parent POM, but only added a custom Infinispan configuration with a {{test-tcp}} stack in the {{junit5}} module. So {{InfinispanRuleBasicTest}} is now failing:
> {noformat}
> [2020-09-02T14:08:22.290Z] [0] STDOUT: 14:08:21,360 FATAL (main) [org.infinispan.SERVER] ISPN080028: Infinispan Server failed to start org.infinispan.commons.CacheConfigurationException: ISPN000540: No such JGroups stack 'test-tcp'
> [2020-09-02T14:09:08.806Z] 10:09:05.567 [ERROR] org.infinispan.server.test.junit4.InfinispanRuleBasicTest.null on org.infinispan.server.test.junit4.InfinispanRuleBasicTest Time elapsed: 59.717 s <<< FAILURE!
> [2020-09-02T14:09:08.806Z] java.lang.RuntimeException: java.util.concurrent.TimeoutException: After the await period 45 SECONDS the count down should be 0 and is 1
> [2020-09-02T14:09:08.806Z] at org.infinispan.commons.test.Exceptions.unchecked(Exceptions.java:262)
> [2020-09-02T14:09:08.806Z] at org.infinispan.server.test.core.ContainerInfinispanServerDriver.start(ContainerInfinispanServerDriver.java:241)
> {noformat}
> In addition, the server driver does not stop its containers after a startup failure, assuming that the containers failed to start. This means the workaround for the docker-java thread leak doesn't run, and a thread leak is reported:
> {noformat}
> [2020-09-02T14:09:08.806Z] [TestSuiteProgress] Test failed: org.infinispan.server.test.junit4.InfinispanRuleBasicTest.ThreadLeakChecker
> org.infinispan.commons.test.ThreadLeakChecker$LeakException: Leaked thread: tc-okhttp-stream-621325557 << testng-InfinispanRuleBasicTest << org.infinispan.server.test.junit4.InfinispanRuleBasicTest
> at app//com.github.dockerjava.okhttp.UnixDomainSocket.recv(Native Method)
> at app//com.github.dockerjava.okhttp.UnixDomainSocket$UnixSocketInputStream.read(UnixDomainSocket.java:250)
> at java.base@11.0.7/java.io.FilterInputStream.read(FilterInputStream.java:133)
> at app//com.github.dockerjava.okhttp.UnixSocketFactory$1$1.read(UnixSocketFactory.java:43)
> at app//org.testcontainers.shaded.okio.Okio$2.read(Okio.java:140)
> at app//org.testcontainers.shaded.okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
> at app//org.testcontainers.shaded.okio.RealBufferedSource.request(RealBufferedSource.java:72)
> at app//org.testcontainers.shaded.okio.RealBufferedSource.require(RealBufferedSource.java:65)
> at app//org.testcontainers.shaded.okio.RealBufferedSource.readHexadecimalUnsignedLong(RealBufferedSource.java:307)
> at app//org.testcontainers.shaded.okhttp3.internal.http1.Http1ExchangeCodec$ChunkedSource.readChunkSize(Http1ExchangeCodec.java:492)
> at app//org.testcontainers.shaded.okhttp3.internal.http1.Http1ExchangeCodec$ChunkedSource.read(Http1ExchangeCodec.java:471)
> at app//org.testcontainers.shaded.okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.java:286)
> at app//org.testcontainers.shaded.okio.RealBufferedSource.exhausted(RealBufferedSource.java:61)
> at app//com.github.dockerjava.okhttp.FramedSink.accept(FramedSink.java:28)
> at app//com.github.dockerjava.okhttp.FramedSink.accept(FramedSink.java:13)
> at app//com.github.dockerjava.okhttp.OkHttpInvocationBuilder.lambda$executeAndStream$4(OkHttpInvocationBuilder.java:330)
> at app//com.github.dockerjava.okhttp.OkHttpInvocationBuilder$$Lambda$162/0x00000008402f0840.run(Unknown Source)
> at java.base@11.0.7/java.lang.Thread.run(Thread.java:834)
> Caused by: org.infinispan.commons.test.ThreadLeakChecker$LeakException: testng-InfinispanRuleBasicTest << org.infinispan.server.test.junit4.InfinispanRuleBasicTest
> at org.infinispan.commons.test.ThreadLeakChecker$ThreadInfoLocal.childValue(ThreadLeakChecker.java:109)
> at org.infinispan.commons.test.ThreadLeakChecker$ThreadInfoLocal.childValue(ThreadLeakChecker.java:106)
> at java.base/java.lang.ThreadLocal$ThreadLocalMap.<init>(ThreadLocal.java:411)
> at java.base/java.lang.ThreadLocal.createInheritedMap(ThreadLocal.java:276)
> at java.base/java.lang.Thread.<init>(Thread.java:450)
> at java.base/java.lang.Thread.<init>(Thread.java:709)
> at java.base/java.lang.Thread.<init>(Thread.java:582)
> at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.executeAndStream(OkHttpInvocationBuilder.java:335)
> at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.executeAndStream(OkHttpInvocationBuilder.java:306)
> at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.get(OkHttpInvocationBuilder.java:80)
> at com.github.dockerjava.core.exec.LogContainerCmdExec.execute0(LogContainerCmdExec.java:42)
> at com.github.dockerjava.core.exec.LogContainerCmdExec.execute0(LogContainerCmdExec.java:12)
> at com.github.dockerjava.core.exec.AbstrAsyncDockerCmdExec.execute(AbstrAsyncDockerCmdExec.java:56)
> at com.github.dockerjava.core.exec.AbstrAsyncDockerCmdExec.exec(AbstrAsyncDockerCmdExec.java:21)
> at com.github.dockerjava.core.exec.AbstrAsyncDockerCmdExec.exec(AbstrAsyncDockerCmdExec.java:12)
> at com.github.dockerjava.core.command.AbstrAsyncDockerCmd.exec(AbstrAsyncDockerCmd.java:21)
> at org.testcontainers.utility.ResourceReaper.start(ResourceReaper.java:106)
> at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:168)
> at org.infinispan.server.test.core.ContainerInfinispanServerDriver.getDockerBridgeAddress(ContainerInfinispanServerDriver.java:86)
> at org.infinispan.server.test.core.ContainerInfinispanServerDriver.<init>(ContainerInfinispanServerDriver.java:79)
> at org.infinispan.server.test.core.ServerRunMode$2.newDriver(ServerRunMode.java:17)
> at org.infinispan.server.test.core.TestServer.initServerDriver(TestServer.java:139)
> at org.infinispan.server.test.junit4.InfinispanServerRule$1.evaluate(InfinispanServerRule.java:67)
> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
> at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
> at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
> at org.testng.junit.JUnit4TestRunner.start(JUnit4TestRunner.java:82)
> at org.testng.junit.JUnit4TestRunner.run(JUnit4TestRunner.java:70)
> at org.testng.TestRunner$1.run(TestRunner.java:570)
> at org.testng.TestRunner.runJUnitWorkers(TestRunner.java:717)
> at org.testng.TestRunner.privateRunJUnit(TestRunner.java:601)
> at org.testng.TestRunner.run(TestRunner.java:502)
> at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
> at org.testng.SuiteRunner.access$000(SuiteRunner.java:40)
> at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:489)
> at org.testng.internal.thread.ThreadUtil$1.call(ThreadUtil.java:52)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> ... 1 more
> Caused by: org.infinispan.commons.test.ThreadLeakChecker$LeakException: org.infinispan.server.test.junit4.InfinispanRuleBasicTest
> {noformat}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 8 months
[JBoss JIRA] (ISPN-12284) InfinispanRuleBasicTest thread leak
by Dan Berindei (Jira)
Dan Berindei created ISPN-12284:
-----------------------------------
Summary: InfinispanRuleBasicTest thread leak
Key: ISPN-12284
URL: https://issues.redhat.com/browse/ISPN-12284
Project: Infinispan
Issue Type: Bug
Components: Core, Test Suite
Affects Versions: 12.0.0.Dev02
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 12.0.0.Dev03
The ISPN-12256 fix changed the default {{infinispan.cluster.stack}} to {{test-tcp}} in the testdriver parent POM, but only added a custom Infinispan configuration with a {{test-tcp}} stack in the {{junit5}} module. So {{InfinispanRuleBasicTest}} is now failing:
{noformat}
[2020-09-02T14:08:22.290Z] [0] STDOUT: 14:08:21,360 FATAL (main) [org.infinispan.SERVER] ISPN080028: Infinispan Server failed to start org.infinispan.commons.CacheConfigurationException: ISPN000540: No such JGroups stack 'test-tcp'
[2020-09-02T14:09:08.806Z] 10:09:05.567 [ERROR] org.infinispan.server.test.junit4.InfinispanRuleBasicTest.null on org.infinispan.server.test.junit4.InfinispanRuleBasicTest Time elapsed: 59.717 s <<< FAILURE!
[2020-09-02T14:09:08.806Z] java.lang.RuntimeException: java.util.concurrent.TimeoutException: After the await period 45 SECONDS the count down should be 0 and is 1
[2020-09-02T14:09:08.806Z] at org.infinispan.commons.test.Exceptions.unchecked(Exceptions.java:262)
[2020-09-02T14:09:08.806Z] at org.infinispan.server.test.core.ContainerInfinispanServerDriver.start(ContainerInfinispanServerDriver.java:241)
{noformat}
In addition, the server driver does not stop its containers after a startup failure, assuming that the containers failed to start. This means the workaround for the docker-java thread leak doesn't run, and a thread leak is reported:
{noformat}
[2020-09-02T14:09:08.806Z] [TestSuiteProgress] Test failed: org.infinispan.server.test.junit4.InfinispanRuleBasicTest.ThreadLeakChecker
org.infinispan.commons.test.ThreadLeakChecker$LeakException: Leaked thread: tc-okhttp-stream-621325557 << testng-InfinispanRuleBasicTest << org.infinispan.server.test.junit4.InfinispanRuleBasicTest
at app//com.github.dockerjava.okhttp.UnixDomainSocket.recv(Native Method)
at app//com.github.dockerjava.okhttp.UnixDomainSocket$UnixSocketInputStream.read(UnixDomainSocket.java:250)
at java.base@11.0.7/java.io.FilterInputStream.read(FilterInputStream.java:133)
at app//com.github.dockerjava.okhttp.UnixSocketFactory$1$1.read(UnixSocketFactory.java:43)
at app//org.testcontainers.shaded.okio.Okio$2.read(Okio.java:140)
at app//org.testcontainers.shaded.okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
at app//org.testcontainers.shaded.okio.RealBufferedSource.request(RealBufferedSource.java:72)
at app//org.testcontainers.shaded.okio.RealBufferedSource.require(RealBufferedSource.java:65)
at app//org.testcontainers.shaded.okio.RealBufferedSource.readHexadecimalUnsignedLong(RealBufferedSource.java:307)
at app//org.testcontainers.shaded.okhttp3.internal.http1.Http1ExchangeCodec$ChunkedSource.readChunkSize(Http1ExchangeCodec.java:492)
at app//org.testcontainers.shaded.okhttp3.internal.http1.Http1ExchangeCodec$ChunkedSource.read(Http1ExchangeCodec.java:471)
at app//org.testcontainers.shaded.okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.java:286)
at app//org.testcontainers.shaded.okio.RealBufferedSource.exhausted(RealBufferedSource.java:61)
at app//com.github.dockerjava.okhttp.FramedSink.accept(FramedSink.java:28)
at app//com.github.dockerjava.okhttp.FramedSink.accept(FramedSink.java:13)
at app//com.github.dockerjava.okhttp.OkHttpInvocationBuilder.lambda$executeAndStream$4(OkHttpInvocationBuilder.java:330)
at app//com.github.dockerjava.okhttp.OkHttpInvocationBuilder$$Lambda$162/0x00000008402f0840.run(Unknown Source)
at java.base@11.0.7/java.lang.Thread.run(Thread.java:834)
Caused by: org.infinispan.commons.test.ThreadLeakChecker$LeakException: testng-InfinispanRuleBasicTest << org.infinispan.server.test.junit4.InfinispanRuleBasicTest
at org.infinispan.commons.test.ThreadLeakChecker$ThreadInfoLocal.childValue(ThreadLeakChecker.java:109)
at org.infinispan.commons.test.ThreadLeakChecker$ThreadInfoLocal.childValue(ThreadLeakChecker.java:106)
at java.base/java.lang.ThreadLocal$ThreadLocalMap.<init>(ThreadLocal.java:411)
at java.base/java.lang.ThreadLocal.createInheritedMap(ThreadLocal.java:276)
at java.base/java.lang.Thread.<init>(Thread.java:450)
at java.base/java.lang.Thread.<init>(Thread.java:709)
at java.base/java.lang.Thread.<init>(Thread.java:582)
at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.executeAndStream(OkHttpInvocationBuilder.java:335)
at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.executeAndStream(OkHttpInvocationBuilder.java:306)
at com.github.dockerjava.okhttp.OkHttpInvocationBuilder.get(OkHttpInvocationBuilder.java:80)
at com.github.dockerjava.core.exec.LogContainerCmdExec.execute0(LogContainerCmdExec.java:42)
at com.github.dockerjava.core.exec.LogContainerCmdExec.execute0(LogContainerCmdExec.java:12)
at com.github.dockerjava.core.exec.AbstrAsyncDockerCmdExec.execute(AbstrAsyncDockerCmdExec.java:56)
at com.github.dockerjava.core.exec.AbstrAsyncDockerCmdExec.exec(AbstrAsyncDockerCmdExec.java:21)
at com.github.dockerjava.core.exec.AbstrAsyncDockerCmdExec.exec(AbstrAsyncDockerCmdExec.java:12)
at com.github.dockerjava.core.command.AbstrAsyncDockerCmd.exec(AbstrAsyncDockerCmd.java:21)
at org.testcontainers.utility.ResourceReaper.start(ResourceReaper.java:106)
at org.testcontainers.DockerClientFactory.client(DockerClientFactory.java:168)
at org.infinispan.server.test.core.ContainerInfinispanServerDriver.getDockerBridgeAddress(ContainerInfinispanServerDriver.java:86)
at org.infinispan.server.test.core.ContainerInfinispanServerDriver.<init>(ContainerInfinispanServerDriver.java:79)
at org.infinispan.server.test.core.ServerRunMode$2.newDriver(ServerRunMode.java:17)
at org.infinispan.server.test.core.TestServer.initServerDriver(TestServer.java:139)
at org.infinispan.server.test.junit4.InfinispanServerRule$1.evaluate(InfinispanServerRule.java:67)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at org.testng.junit.JUnit4TestRunner.start(JUnit4TestRunner.java:82)
at org.testng.junit.JUnit4TestRunner.run(JUnit4TestRunner.java:70)
at org.testng.TestRunner$1.run(TestRunner.java:570)
at org.testng.TestRunner.runJUnitWorkers(TestRunner.java:717)
at org.testng.TestRunner.privateRunJUnit(TestRunner.java:601)
at org.testng.TestRunner.run(TestRunner.java:502)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
at org.testng.SuiteRunner.access$000(SuiteRunner.java:40)
at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:489)
at org.testng.internal.thread.ThreadUtil$1.call(ThreadUtil.java:52)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
... 1 more
Caused by: org.infinispan.commons.test.ThreadLeakChecker$LeakException: org.infinispan.server.test.junit4.InfinispanRuleBasicTest
{noformat}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 8 months
[JBoss JIRA] (ISPN-7811) Improve out-of-the-box server security in cloud
by Tristan Tarrant (Jira)
[ https://issues.redhat.com/browse/ISPN-7811?page=com.atlassian.jira.plugin... ]
Tristan Tarrant closed ISPN-7811.
---------------------------------
Resolution: Out of Date
> Improve out-of-the-box server security in cloud
> -----------------------------------------------
>
> Key: ISPN-7811
> URL: https://issues.redhat.com/browse/ISPN-7811
> Project: Infinispan
> Issue Type: Enhancement
> Components: Security, Server
> Affects Versions: 9.0.0.Final
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Priority: Major
>
> When running Infinispan 9.0.0.Final in a cloud env, the default security code enforcements are causing issues when trying to register a proto file.
> The "___protobuf_metadata" cache cannot be written remotely any more. Accessing this cache to add protofile descriptors to server. The default configuration throws this error:
> {code}
> [datagrid-1-akxoi]
> [datagrid-1-akxoi] 12:15:56,602 ERROR [org.infinispan.server.hotrod.CacheDecodeContext] (HotRod-ServerWorker-4-2) ISPN005003: Exception reported: org.infinispan.server.hotrod.RequestParsingException: Remote requests are allowed to protected caches only over loopback or if authorization is enabled. Do no send remote requests to cache '___protobuf_metadata'
> [datagrid-1-akxoi] at org.infinispan.server.hotrod.CacheDecodeContext.obtainCache(CacheDecodeContext.java:116)
> [datagrid-1-akxoi] at org.infinispan.server.hotrod.HotRodDecoder.decodeHeader(HotRodDecoder.java:162)
> [datagrid-1-akxoi] at org.infinispan.server.hotrod.HotRodDecoder.decode(HotRodDecoder.java:93)
> {code}
> The code in CacheDecodeContext that enables this check does the following:
> {code}
> if (!cacheManager.getCacheManagerConfiguration().security().authorization().enabled()...
> {code}
> In order to have better out-of-the-box experience in cloud but still be secured, the following should be done:
> * Remove the code check for authorization in CacheDecodeContext.
> * Server's default configuration should require authentication.
> * Docker image allows passing in APP_USER and APP_PASS as env variables easily, but it provides default usernames and passwords for both APP and MGMT. These defaults should be removed since they're a security risk.
> * Docker image should have the possibility to set APP_GROUPS so that we can pass in optionally the role groups associated with a user. This is handy for making it easier in the future for users to add authorization on top of authentication.
> I will create JIRA subtasks for these so that the work can be divided.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
3 years, 8 months