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

FailoverClickhouseConnectionITest test case failed #24

Closed
lizhou1111 opened this issue Jun 19, 2024 · 1 comment
Closed

FailoverClickhouseConnectionITest test case failed #24

lizhou1111 opened this issue Jun 19, 2024 · 1 comment

Comments

@lizhou1111
Copy link
Contributor

[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.241 s - in com.github.timeplus.jdbc.IssueReproduceITest
[INFO] Running com.github.timeplus.jdbc.FailoverClickhouseConnectionITest
2024-06-19 19:09:49 [main] INFO io/timeplus-io/proton:latest - Creating container for image: ghcr.io/timeplus-io/proton:latest
2024-06-19 19:09:49 [main] INFO io/timeplus-io/proton:latest - Container ghcr.io/timeplus-io/proton:latest is starting: 056bf900e10a4d6586f5489acf1ba98d79cbfc5777c066562cd3c2cae5698420
2024-06-19 19:09:49 [main] INFO io/timeplus-io/proton:latest - Waiting for database connection to become available at jdbc:timeplus://localhost:34364/default using query 'SELECT 1'
2024-06-19 19:09:50 [main] DEBUG TimeplusStatement - close Statement
2024-06-19 19:09:50 [main] INFO io/timeplus-io/proton:latest - Container ghcr.io/timeplus-io/proton:latest started in PT1.558274S
2024-06-19 19:09:50 [main] INFO io/timeplus-io/proton:latest - Container is started (JDBC URL: jdbc:timeplus://localhost:34364/default)
2024-06-19 19:09:50 [main] INFO io/timeplus-io/proton:latest - Creating container for image: ghcr.io/timeplus-io/proton:latest
2024-06-19 19:09:50 [main] INFO io/timeplus-io/proton:latest - Container ghcr.io/timeplus-io/proton:latest is starting: 02eb396db79ae187fbc69b4cac2962e5a90146fc01d1a5e179c140269c0410d4
2024-06-19 19:09:51 [main] INFO io/timeplus-io/proton:latest - Waiting for database connection to become available at jdbc:timeplus://localhost:34367/default using query 'SELECT 1'
2024-06-19 19:11:51 [main] ERROR io/timeplus-io/proton:latest - Could not start container
java.lang.IllegalStateException: Container is started, but cannot be accessed by (JDBC URL: jdbc:timeplus://localhost:34367/default), please check container logs
        at org.testcontainers.containers.JdbcDatabaseContainer.waitUntilContainerStarted(JdbcDatabaseContainer.java:176)
        at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:502)
        at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:356)
        at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81)
        at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:346)
        at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:334)
        at org.testcontainers.junit.jupiter.TestcontainersExtension$StoreAdapter.start(TestcontainersExtension.java:280)
        at org.testcontainers.junit.jupiter.TestcontainersExtension$StoreAdapter.access$200(TestcontainersExtension.java:267)
        at org.testcontainers.junit.jupiter.TestcontainersExtension.lambda$null$4(TestcontainersExtension.java:82)
        at org.junit.jupiter.engine.execution.ExtensionValuesStore.lambda$getOrComputeIfAbsent$4(ExtensionValuesStore.java:86)
        at org.junit.jupiter.engine.execution.ExtensionValuesStore$MemoizingSupplier.get(ExtensionValuesStore.java:205)
        at org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue.evaluate(ExtensionValuesStore.java:182)
        at org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue.access$100(ExtensionValuesStore.java:171)
        at org.junit.jupiter.engine.execution.ExtensionValuesStore.getOrComputeIfAbsent(ExtensionValuesStore.java:89)
        at org.junit.jupiter.engine.execution.NamespaceAwareStore.getOrComputeIfAbsent(NamespaceAwareStore.java:53)
        at org.testcontainers.junit.jupiter.TestcontainersExtension.lambda$startContainers$5(TestcontainersExtension.java:82)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
        at org.testcontainers.junit.jupiter.TestcontainersExtension.startContainers(TestcontainersExtension.java:82)
        at org.testcontainers.junit.jupiter.TestcontainersExtension.beforeAll(TestcontainersExtension.java:56)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllCallbacks$8(ClassBasedTestDescriptor.java:368)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllCallbacks(ClassBasedTestDescriptor.java:368)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:192)
        at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:78)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:136)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
        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:220)
        at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188)
        at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)
        at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150)
        at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124)
        at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
        at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
Caused by: java.sql.SQLException: Could not create new connection
        at org.testcontainers.containers.JdbcDatabaseContainer.createConnection(JdbcDatabaseContainer.java:262)
        at org.testcontainers.containers.JdbcDatabaseContainer.createConnection(JdbcDatabaseContainer.java:218)
        at org.testcontainers.containers.JdbcDatabaseContainer.waitUntilContainerStarted(JdbcDatabaseContainer.java:158)
        ... 55 more
Caused by: java.sql.SQLException: 断开的管道 (Write failed)
        at com.github.timeplus.client.NativeClient.sendRequest(NativeClient.java:200)
        at com.github.timeplus.client.NativeClient.sendHello(NativeClient.java:139)
        at com.github.timeplus.jdbc.TimeplusConnection.serverContext(TimeplusConnection.java:373)
        at com.github.timeplus.jdbc.TimeplusConnection.createNativeContext(TimeplusConnection.java:324)
        at com.github.timeplus.jdbc.TimeplusConnection.createClickHouseConnection(TimeplusConnection.java:318)
        at com.github.timeplus.jdbc.TimeplusDriver.connect(TimeplusDriver.java:58)
        at com.github.timeplus.jdbc.TimeplusDriver.connect(TimeplusDriver.java:51)
        at com.github.timeplus.jdbc.TimeplusDriver.connect(TimeplusDriver.java:26)
        at org.testcontainers.containers.JdbcDatabaseContainer.createConnection(JdbcDatabaseContainer.java:253)
        ... 57 more
Caused by: java.net.SocketException: 断开的管道 (Write failed)
        at java.base/java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110)
        at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:129)
        at com.github.timeplus.buffer.SocketBuffedWriter.writeBinary(SocketBuffedWriter.java:31)
        at com.github.timeplus.serde.BinarySerializer.writeVarInt(BinarySerializer.java:52)
        at com.github.timeplus.serde.BinarySerializer.writeBytesBinary(BinarySerializer.java:113)
        at com.github.timeplus.serde.BinarySerializer.writeStringBinary(BinarySerializer.java:109)
        at com.github.timeplus.serde.BinarySerializer.writeUTF8StringBinary(BinarySerializer.java:104)
        at com.github.timeplus.protocol.HelloRequest.writeImpl(HelloRequest.java:46)
        at com.github.timeplus.protocol.Request.writeTo(Request.java:30)
        at com.github.timeplus.client.NativeClient.sendRequest(NativeClient.java:197)
        ... 65 more
2024-06-19 19:11:51 [main] ERROR io/timeplus-io/proton:latest - Log output from the failed container:
Processing configuration file '/etc/proton-server/config.yaml'.
Merging configuration file '/etc/proton-server/config.d/data-paths.xml'.
Merging configuration file '/etc/proton-server/config.d/docker_related_config.xml'.
Merging configuration file '/etc/proton-server/config.d/logger.xml'.
Merging configuration file '/etc/proton-server/config.d/openssl.xml'.
Merging configuration file '/etc/proton-server/config.d/user-directories.xml'.
Env variable is not set: TELEMETRY_ENABLED
Logging information to /var/log/proton-server/proton-server.log
Logging errors to /var/log/proton-server/proton-server.err.log
Env variable is not set: TELEMETRY_ENABLED

[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 123.751 s <<< FAILURE! - in com.github.timeplus.jdbc.FailoverClickhouseConnectionITest
[ERROR] com.github.timeplus.jdbc.FailoverClickhouseConnectionITest  Time elapsed: 123.751 s  <<< ERROR!
org.testcontainers.containers.ContainerLaunchException: Container startup failed for image ghcr.io/timeplus-io/proton:latest
Caused by: org.rnorth.ducttape.RetryCountExceededException: Retry limit hit with exception
Caused by: org.testcontainers.containers.ContainerLaunchException: Could not create/start container
Caused by: java.lang.IllegalStateException: Container is started, but cannot be accessed by (JDBC URL: jdbc:timeplus://localhost:34367/default), please check container logs
Caused by: java.sql.SQLException: Could not create new connection
Caused by: java.sql.SQLException: 断开的管道 (Write failed)
Caused by: java.net.SocketException: 断开的管道 (Write failed)

port mapping:

╰─$ docker ps                                                                                                                                                                                                                                                                                                                                           130 ↵
CONTAINER ID   IMAGE                               COMMAND            CREATED              STATUS              PORTS                                                                                                                                   NAMES
02eb396db79a   ghcr.io/timeplus-io/proton:latest   "/entrypoint.sh"   About a minute ago   Up About a minute   0.0.0.0:34367->3128/tcp, :::34364->3128/tcp, 0.0.0.0:34366->8463/tcp, :::34363->8463/tcp                                                elegant_dewdney
056bf900e10a   ghcr.io/timeplus-io/proton:latest   "/entrypoint.sh"   About a minute ago   Up About a minute   0.0.0.0:34365->8123/tcp, :::34362->8123/tcp, 0.0.0.0:34364->8463/tcp, :::34361->8463/tcp, 0.0.0.0:34363->9440/tcp, :::34360->9440/tcp   mystifying_knuth
4843126eb072   testcontainers/ryuk:0.5.1           "/bin/ryuk"        2 minutes ago        Up 2 minutes        0.0.0.0:34323->8080/tcp, :::34320->8080/tcp                                                                                             testcontainers-ryuk-560ef0b7-3855-4242-a33a-f63f258e3ed7

@lizhou1111 lizhou1111 mentioned this issue Jun 19, 2024
@Jasmine-ge
Copy link
Contributor

close by #34

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants