testcontainers / testcontainers/testcontainers-java
NullPointerException in execInContainer for long running commands
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Java
- Estrellas
- 8.7k
- Forks
- 1.9k
- Merge medio
- 2 d 17 h
- PR fusionados (30 d)
- 9
Descripción
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?
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con el caso de prueba que falla en el issue e inspecciona ExecInContainerPattern.java:85; después, sigue las llamadas a través de ContainerState.java:226 y :235. Reproduce el comando /bin/bash sleep de larga duración con la configuración de DOCKER_HOST y determina por qué se convierte en una NullPointerException después de tres minutos. El trabajo estará terminado cuando los comandos exec de larga duración gestionen el timeout sin esa excepción.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- docker, java
- Área
- devops, testing-qa
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100