exasol / exasol-testcontainers

Test container for Exasol on Docker
MIT License
9 stars 2 forks source link

Container startup with Exasol 8.29.1 fails with NullPointerException #258

Closed kaklakariada closed 2 months ago

kaklakariada commented 3 months ago

Startup of exasol/docker-db:8.29.1 fails with the following exception:

org.testcontainers.containers.ContainerLaunchException: Container startup failed for image exasol/docker-db:8.29.1
 at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:359)
 at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:330)
 at com.exasol.containers.ExasolContainer.start(ExasolContainer.java:529)
 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.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 java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
Caused by: org.rnorth.ducttape.RetryCountExceededException: Retry limit hit with exception
 at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:88)
 at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:344)
 ... 60 more
Caused by: org.testcontainers.containers.ContainerLaunchException: Could not create/start container
 at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:563)
 at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:354)
 at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81)
 ... 61 more
Caused by: java.lang.NullPointerException
 at com.exasol.bucketfs.testcontainers.TestcontainerBucketFactory.mapPort(TestcontainerBucketFactory.java:67)
 at com.exasol.bucketfs.testcontainers.TestcontainerBucketFactory.lambda$0(TestcontainerBucketFactory.java:58)
 at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1134)
 at com.exasol.bucketfs.testcontainers.TestcontainerBucketFactory.getBucket(TestcontainerBucketFactory.java:48)
 at com.exasol.containers.ExasolContainer.getBucket(ExasolContainer.java:489)
 at com.exasol.containers.ExasolContainer.getBucket(ExasolContainer.java:470)
 at com.exasol.containers.ExasolContainer.getDefaultBucket(ExasolContainer.java:506)
 at com.exasol.containers.slc.ScriptLanguageContainerInstaller.create(ScriptLanguageContainerInstaller.java:39)
 at com.exasol.containers.ExasolContainer.installSlcIfNecessary(ExasolContainer.java:628)
 at com.exasol.containers.ExasolContainer.containerIsStarted(ExasolContainer.java:602)
 at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:542)
 ... 63 more

Root cause

The latest docker-db version uses TLS for BucketFS, which causes the observed error.

Workaround

Please use docker-db 8.26.0 until this is fixed in exasol-testcontainers.