summaryrefslogtreecommitdiffstats
path: root/node-admin/src
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2018-10-29 09:15:19 +0100
committerGitHub <noreply@github.com>2018-10-29 09:15:19 +0100
commit1794069cc28286f7fa0602a6d8e38d346808836d (patch)
treeab4fe11bd65732370465d2bd40463e9d2a5958be /node-admin/src
parent1c98a62192ac9b86c027b49543d98706a3ed41f2 (diff)
parentcf0967374c42de1e7cc297df2a98d20134866c85 (diff)
Merge pull request #7460 from vespa-engine/freva/increase-lz4-timeout
Coredump fixes
Diffstat (limited to 'node-admin/src')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java7
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandlerTest.java8
2 files changed, 13 insertions, 2 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java
index 16037f3233b..a9d61d20f5b 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java
@@ -11,6 +11,7 @@ import com.yahoo.vespa.hosted.node.admin.task.util.process.Terminal;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
+import java.time.Duration;
import java.util.Comparator;
import java.util.Map;
import java.util.Optional;
@@ -19,6 +20,7 @@ import java.util.function.Supplier;
import java.util.logging.Logger;
import java.util.regex.Pattern;
+import static com.yahoo.vespa.hosted.node.admin.task.util.file.FileFinder.nameEndsWith;
import static com.yahoo.vespa.hosted.node.admin.task.util.file.FileFinder.nameMatches;
import static com.yahoo.vespa.hosted.node.admin.task.util.file.FileFinder.nameStartsWith;
import static com.yahoo.vespa.hosted.node.admin.task.util.file.IOExceptionUtil.uncheck;
@@ -154,6 +156,7 @@ public class CoredumpHandler {
Path compressedCoreFile = coreFile.getParent().resolve(coreFile.getFileName() + ".lz4");
terminal.newCommandLine(context)
.add(LZ4_PATH, "-f", coreFile.toString(), compressedCoreFile.toString())
+ .setTimeout(Duration.ofMinutes(30))
.execute();
Files.delete(coreFile);
@@ -161,9 +164,9 @@ public class CoredumpHandler {
Files.move(coredumpDirectory, newCoredumpDirectory);
}
- private Path findCoredumpFileInProcessingDirectory(Path coredumpProccessingDirectory) {
+ Path findCoredumpFileInProcessingDirectory(Path coredumpProccessingDirectory) {
return FileFinder.files(coredumpProccessingDirectory)
- .match(nameStartsWith(COREDUMP_FILENAME_PREFIX))
+ .match(nameStartsWith(COREDUMP_FILENAME_PREFIX).and(nameEndsWith(".lz4").negate()))
.maxDepth(1)
.stream()
.map(FileFinder.FileAttributes::path)
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandlerTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandlerTest.java
index af9e7b39657..8d599660ace 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandlerTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandlerTest.java
@@ -162,6 +162,14 @@ public class CoredumpHandlerTest {
coredumpHandler.getMetadata(context, fileSystem.getPath("/fake/path"), Collections.emptyMap());
}
+ @Test(expected = IllegalStateException.class)
+ public void fails_to_get_core_file_if_only_compressed() throws IOException {
+ Path coredumpDirectory = fileSystem.getPath("/path/to/coredump/proccessing/id-123");
+ Files.createDirectories(coredumpDirectory);
+ Files.createFile(coredumpDirectory.resolve("dump_bash.core.431.lz4"));
+ coredumpHandler.findCoredumpFileInProcessingDirectory(coredumpDirectory);
+ }
+
@Test
public void process_single_coredump_test() throws IOException {
Path coredumpDirectory = fileSystem.getPath("/path/to/coredump/proccessing/id-123");