Skip to content

Commit fa89d1e

Browse files
committed
Fix docker cleanup
1 parent 739b61a commit fa89d1e

File tree

1 file changed

+25
-5
lines changed

1 file changed

+25
-5
lines changed

src/test/java/io/kurrent/dbclient/databases/DockerContainerDatabase.java

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,32 @@ public ClientTracker getClientTracker() {
110110
@Override
111111
public void cleanup() {
112112
try {
113-
ExecResult result = execInContainer("tar", "-czvf", "/tmp/esdb_logs.tar.gz", "/var/log/eventstore");
114-
if (result.getExitCode() != 0) {
115-
logger().error(result.getStderr());
116-
throw new RuntimeException("Error when compressing server logs");
113+
try {
114+
ExecResult checkDir = execInContainer("sh", "-c", "[ -d /var/log/eventstore ] && echo 'eventstore' || [ -d /var/log/kurrentdb ] && echo 'kurrentdb' || echo 'none'");
115+
String logDir = checkDir.getStdout().trim();
116+
117+
if ("eventstore".equals(logDir)) {
118+
logger().info("Collecting logs from /var/log/eventstore");
119+
ExecResult result = execInContainer("tar", "-czvf", "/tmp/esdb_logs.tar.gz", "/var/log/eventstore");
120+
if (result.getExitCode() == 0) {
121+
copyFileFromContainer("/tmp/esdb_logs.tar.gz", "/tmp/esdb_logs.tar.gz");
122+
} else {
123+
logger().warn("Failed to compress logs: {}", result.getStderr());
124+
}
125+
} else if ("kurrentdb".equals(logDir)) {
126+
logger().info("Collecting logs from /var/log/kurrentdb");
127+
ExecResult result = execInContainer("tar", "-czvf", "/tmp/esdb_logs.tar.gz", "/var/log/kurrentdb");
128+
if (result.getExitCode() == 0) {
129+
copyFileFromContainer("/tmp/esdb_logs.tar.gz", "/tmp/esdb_logs.tar.gz");
130+
} else {
131+
logger().warn("Failed to compress logs: {}", result.getStderr());
132+
}
133+
} else {
134+
logger().warn("No log directory found at /var/log/eventstore or /var/log/kurrentdb, skipping log collection");
135+
}
136+
} catch (Exception logException) {
137+
logger().warn("Could not collect container logs (this is not critical): {}", logException.getMessage());
117138
}
118-
copyFileFromContainer("/tmp/esdb_logs.tar.gz", "/tmp/esdb_logs.tar.gz");
119139
} catch (Exception e) {
120140
logger().error("Error when cleanup docker container", e);
121141
} finally {

0 commit comments

Comments
 (0)