testcontainers / testcontainers/testcontainers-java
NullPointerException in execInContainer for long running commands
Nessuno ha ancora preso questa issue.
- Lingua principale
- Java
- Stelle
- 8.7k
- Fork
- 1.9k
- Merge medio
- 2g 17h
- PR unite (30g)
- 9
Descrizione
Test case:
@Test
public void testExecInContainer() throws InterruptedException, IOException {
try (GenericContainer<?> c = new GenericContainer<>(DockerImageName.parse("redis:3.0.2"))) {
c.start();
Container.ExecResult r = c.execInContainer("/bin/bash", "-c", "sleep 600");
}
}
After 3 minutes, I've got this exception (tested with testcontainers 1.16.0):
java.lang.NullPointerException
at org.testcontainers.containers.ExecInContainerPattern.execInContainer(ExecInContainerPattern.java:85)
at org.testcontainers.containers.ContainerState.execInContainer(ContainerState.java:235)
at org.testcontainers.containers.ContainerState.execInContainer(ContainerState.java:226)
Note: I'm using DOCKER_HOST to execute on a Linux machine.
My real problem is: how do I execute a command which runs a long time? there seems to be an underlying socket timeout in docker-java, is it possible to increase this timeout?
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 con il caso di test che fallisce nell’issue e analizza ExecInContainerPattern.java:85, quindi segui le chiamate attraverso ContainerState.java:226 e :235. Riproduci il comando /bin/bash sleep di lunga durata con la configurazione DOCKER_HOST e determina perché diventa una NullPointerException dopo tre minuti. Il lavoro è completato quando i comandi exec di lunga durata gestiscono il timeout senza quell’eccezione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- docker, java
- Ambito
- devops, testing-qa
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100