testcontainers / testcontainers/testcontainers-java
[Bug]: withStartupTimoutSeconds(int) not working
Nessuno ha ancora preso questa issue.
- Lingua principale
- Java
- Stelle
- 8.7k
- Fork
- 1.9k
- Merge medio
- 2g 17h
- PR unite (30g)
- 9
Descrizione
Module
Oracle Free
Testcontainers version
1.19.7
Using the latest Testcontainers version?
Yes
Host OS
Windows
Host Arch
x86
Docker version
Client:
Cloud integration: v1.0.35-desktop+001
Version: 24.0.5
API version: 1.43
Go version: go1.20.6
Git commit: ced0996
Built: Fri Jul 21 20:36:24 2023
OS/Arch: windows/amd64
Context: default
Server: Docker Desktop 4.22.0 (117440)
Engine:
Version: 24.0.5
API version: 1.43 (minimum version 1.12)
Go version: go1.20.6
Git commit: a61e2b4
Built: Fri Jul 21 20:35:45 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.21
GitCommit: 3dce8eb055cbb6872793272b4f20ed16117344f8
runc:
Version: 1.1.7
GitCommit: v1.1.7-0-g860f061
docker-init:
Version: 0.19.0
GitCommit: de40ad0
What happened?
With OracleContainer (both oracle-free and oracle-xe) the default startup time is 60 seconds, which is not enough in some cases.
Configuring the container with withStartupTimeoutSeconds(180) still leads to an startup timeout after 60 seconds:
@Container
private static final OracleContainer oracle = new OracleContainer("gvenzl/oracle-free:slim-faststart")
.withDatabaseName("testDB")
.withUsername("testUser")
.withPassword("testPassword")
.withStartupTimeoutSeconds(180);
Startup log:
2024-04-30 08:53:46.290 INFO --- [ main] tc.gvenzl/oracle-free:slim-faststart : Creating container for image: gvenzl/oracle-free:slim-faststart
2024-04-30 08:53:46.441 INFO --- [ main] tc.gvenzl/oracle-free:slim-faststart : Container gvenzl/oracle-free:slim-faststart is starting: a81f38a6d5ae6f76b5e54179f07a55f4d6982374b2b5a2bf1a9921501a26176f
2024-04-30 08:54:46.965 ERROR --- [ main] tc.gvenzl/oracle-free:slim-faststart : Could not start container
org.testcontainers.containers.ContainerLaunchException: Timed out waiting for log output matching '.*DATABASE IS READY TO USE!.*\s'
However, if I use withStartupTimeout(Duration.ofSeconds(180)) the startup timeout is overwritten correctly:
@Container
private static final OracleContainer oracle = new OracleContainer("gvenzl/oracle-free:slim-faststart")
.withDatabaseName("testDB")
.withUsername("testUser")
.withPassword("testPassword")
.withStartupTimeout(Duration.ofSeconds(180));
2024-04-30 08:56:04.757 INFO --- [ main] tc.gvenzl/oracle-free:slim-faststart : Creating container for image: gvenzl/oracle-free:slim-faststart
2024-04-30 08:56:04.865 INFO --- [ main] tc.gvenzl/oracle-free:slim-faststart : Container gvenzl/oracle-free:slim-faststart is starting: f508df5cff9fd39a341708d1e2738030ae5b6adf7c2aa75bdd1515dcdfc662f5
2024-04-30 08:58:22.055 INFO --- [ main] tc.gvenzl/oracle-free:slim-faststart : Container gvenzl/oracle-free:slim-faststart started in PT2M17.2976617S
2024-04-30 08:58:22.056 INFO --- [ main] tc.gvenzl/oracle-free:slim-faststart : Container is started (JDBC URL: jdbc:oracle:thin:@localhost:65218/testDB)
Relevant log output
No response
Additional Information
No response
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia da OracleContainer e confronta l’implementazione di withStartupTimeoutSeconds(int) con quella di withStartupTimeout(Duration), usando come riproduzione gli esempi segnalati di 180 secondi. Aggiungi un test di regressione che verifichi che l’overload con intero consenta un avvio oltre i 60 secondi e conferma che l’avvio del container Oracle venga completato senza il timeout prematuro.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- docker, java
- Ambito
- databases, testing
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 52/100