diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/containers/WorkerContainer.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/containers/WorkerContainer.java index 947acb7b2507076b7adec3a2615ab6c2d8346ca7..a5091b13dae2019510a4eab68df1dacd556404b1 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/containers/WorkerContainer.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/containers/WorkerContainer.java @@ -18,6 +18,8 @@ */ package org.apache.pulsar.tests.integration.containers; +import org.apache.pulsar.tests.integration.utils.DockerUtils; + /** * A pulsar container that runs functions worker. */ @@ -35,4 +37,16 @@ public class WorkerContainer extends PulsarContainer { BROKER_HTTP_PORT, "/admin/v2/worker/cluster"); } + + @Override + protected void beforeStop() { + super.beforeStop(); + if (null != containerId) { + DockerUtils.dumpContainerDirToTargetCompressed( + getDockerClient(), + containerId, + "/pulsar/logs/functions" + ); + } + } } diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/utils/DockerUtils.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/utils/DockerUtils.java index 91fe8ff8de5b8efcfdad7abbb5b82a83bfdce1b6..c7e2984643d27d5a2aeb1caf91503f56da45c63d 100644 --- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/utils/DockerUtils.java +++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/utils/DockerUtils.java @@ -24,6 +24,7 @@ import com.github.dockerjava.api.DockerClient; import com.github.dockerjava.api.async.ResultCallback; import com.github.dockerjava.api.command.InspectContainerResponse; import com.github.dockerjava.api.command.InspectExecResponse; +import com.github.dockerjava.api.exception.NotFoundException; import com.github.dockerjava.api.model.ContainerNetwork; import com.github.dockerjava.api.model.Frame; import com.github.dockerjava.api.model.StreamType; @@ -140,7 +141,9 @@ public class DockerUtils { read = dockerStream.read(block, 0, READ_BLOCK_SIZE); } } catch (RuntimeException|IOException e) { - LOG.error("Error reading dir from container {}", containerName, e); + if (!(e instanceof NotFoundException)) { + LOG.error("Error reading dir from container {}", containerName, e); + } } }