apache / apache/pulsar

Flaky-test: PulsarDebeziumSourcesTest.testDebeziumPostgreSqlSource

Open
#20,281 4 comments 0 reactions 0 assignees View on GitHub
area/test Stale type/flaky-tests
Dominant language
Java
Stars
15.3k
Forks
3.8k
Avg merge
1d 14h
Merged PRs (30d)
160

Description

### Search before asking

- [X] I searched in the [issues](https://github.com/apache/pulsar/issues) and found nothing similar.

### Example failure

https://github.com/michaeljmarshall/pulsar/actions/runs/4922663911/jobs/8807664239?pr=43#step:11:13023

### Exception stacktrace

```
Error: Tests run: 29, Failures: 1, Errors: 0, Skipped: 23, Time elapsed: 826.682 s <<< FAILURE! - in TestSuite
Error: testDebeziumPostgreSqlSource(org.apache.pulsar.tests.integration.io.sources.debezium.PulsarDebeziumSourcesTest) Time elapsed: 124.017 s <<< FAILURE!
org.testcontainers.containers.ContainerLaunchException: Container startup failed
at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:349)
at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:322)
at org.apache.pulsar.tests.integration.topologies.PulsarCluster.startService(PulsarCluster.java:333)
at org.apache.pulsar.tests.integration.io.sources.debezium.DebeziumPostgreSqlSourceTester.setServiceContainer(DebeziumPostgreSqlSourceTester.java:85)
at org.apache.pulsar.tests.integration.io.sources.debezium.PulsarDebeziumSourcesTest.testDebeziumPostgreSqlConnect(PulsarDebeziumSourcesTest.java:161)
at org.apache.pulsar.tests.integration.io.sources.debezium.PulsarDebeziumSourcesTest.testDebeziumPostgreSqlSource(PulsarDebeziumSourcesTest.java:68)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:139)
at org.testng.internal.invokers.InvokeMethodRunnable.runOne(InvokeMethodRunnable.java:47)
at org.testng.internal.invokers.InvokeMethodRunnable.call(InvokeMethodRunnable.java:76)
at org.testng.internal.invokers.InvokeMethodRunnable.call(InvokeMethodRunnable.java:11)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.testcontainers.containers.ContainerFetchException: Can't get Docker image: RemoteDockerImage(imageName=debezium/example-postgres:0.10, imagePullPolicy=DefaultPullPolicy(), imageNameSubstitutor=org.testcontainers.utility.ImageNameSubstitutor$LogWrappedImageNameSubstitutor@327a4b59)
at org.testcontainers.containers.GenericContainer.getDockerImageName(GenericContainer.java:1371)
at org.testcontainers.containers.GenericContainer.logger(GenericContainer.java:651)
at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:331)
... 17 more
Caused by: org.testcontainers.containers.ContainerFetchException: Failed to pull image: debezium/example-postgres:0.10
at org.testcontainers.images.RemoteDockerImage.resolve(RemoteDockerImage.java:119)
at org.testcontainers.images.RemoteDockerImage.resolve(RemoteDockerImage.java:28)
at org.testcontainers.utility.LazyFuture.getResolvedValue(LazyFuture.java:17)
at org.testcontainers.utility.LazyFuture.get(LazyFuture.java:39)
at org.testcontainers.containers.GenericContainer.getDockerImageName(GenericContainer.java:1369)
... 19 more
```

### Are you willing to submit a PR?

- [ ] I'm willing to submit a PR!

Contributor guide

Open the contributing guide

Research direction

Start with PulsarDebeziumSourcesTest.testDebeziumPostgreSqlSource and testDebeziumPostgreSqlConnect, then inspect DebeziumPostgreSqlSourceTester.setServiceContainer and PulsarCluster.startService. Reproduce the failure and investigate the Testcontainers pull of debezium/example-postgres:0.10; done means the integration test starts its container and passes consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, java, postgresql
Domain
distributed-systems, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.