diff options
author | Valerij Fredriksen <valerijf@oath.com> | 2018-08-09 13:12:32 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@oath.com> | 2018-08-09 13:12:32 +0200 |
commit | 263eb0049dfe46958ace787690af71252da329d0 (patch) | |
tree | ca93681b99fde32c5dc0d45d8532c55d81b32532 /node-admin | |
parent | 45be1b993a3c4e0731d0c78352295d17b4d8a8af (diff) |
Use non-vespa LZ4 and GDB
Diffstat (limited to 'node-admin')
2 files changed, 8 insertions, 11 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoreCollector.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoreCollector.java index b7856b2dd08..9830d03240a 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoreCollector.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoreCollector.java @@ -17,16 +17,14 @@ import java.util.logging.Logger; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static com.yahoo.vespa.defaults.Defaults.getDefaults; - /** * Takes in a compressed (lz4) or uncompressed core dump and collects relevant metadata. * * @author freva */ class CoreCollector { - private static final String GDB_PATH = getDefaults().underVespaHome("bin64/gdb"); - private static final String LZ4_PATH = getDefaults().underVespaHome("bin64/lz4"); + static final String GDB_PATH = "/usr/bin/gdb"; + private static final String LZ4_PATH = "/usr/bin/lz4"; private static final Pattern CORE_GENERATOR_PATH_PATTERN = Pattern.compile("^Core was generated by `(?<path>.*?)'.$"); private static final Pattern EXECFN_PATH_PATTERN = Pattern.compile("^.* execfn: '(?<path>.*?)'"); private static final Pattern FROM_PATH_PATTERN = Pattern.compile("^.* from '(?<path>.*?)'"); @@ -41,7 +39,7 @@ class CoreCollector { Path readBinPathFallback(Path coredumpPath) throws IOException { String command = GDB_PATH + " -n -batch -core " + coredumpPath + " | grep \'^Core was generated by\'"; - String[] wrappedCommand = new String[] {"/bin/sh", "-c", command}; + String[] wrappedCommand = {"/bin/sh", "-c", command}; Pair<Integer, String> result = processExecuter.exec(wrappedCommand); Matcher matcher = CORE_GENERATOR_PATH_PATTERN.matcher(result.getSecond()); @@ -53,7 +51,7 @@ class CoreCollector { } Path readBinPath(Path coredumpPath) throws IOException { - String[] command = new String[] {"file", coredumpPath.toString()}; + String[] command = {"file", coredumpPath.toString()}; try { Pair<Integer, String> result = processExecuter.exec(command); @@ -80,7 +78,7 @@ class CoreCollector { List<String> readBacktrace(Path coredumpPath, Path binPath, boolean allThreads) throws IOException { String threads = allThreads ? "thread apply all bt" : "bt"; - String[] command = new String[]{GDB_PATH, "-n", "-ex", threads, "-batch", binPath.toString(), coredumpPath.toString()}; + String[] command = {GDB_PATH, "-n", "-ex", threads, "-batch", binPath.toString(), coredumpPath.toString()}; Pair<Integer, String> result = processExecuter.exec(command); if (result.getFirst() != 0) { throw new RuntimeException("Failed to read backtrace " + result + ", Command: " + Arrays.toString(command)); diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoreCollectorTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoreCollectorTest.java index a3116af2aa5..8920f4a506a 100644 --- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoreCollectorTest.java +++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoreCollectorTest.java @@ -20,7 +20,7 @@ import java.util.Map; import java.util.Set; import java.util.stream.Collectors; -import static com.yahoo.vespa.defaults.Defaults.getDefaults; +import static com.yahoo.vespa.hosted.node.admin.maintenance.coredump.CoreCollector.GDB_PATH; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; import static org.mockito.Mockito.mock; @@ -33,7 +33,6 @@ public class CoreCollectorTest { private final ProcessExecuter processExecuter = mock(ProcessExecuter.class); private final CoreCollector coreCollector = new CoreCollector(processExecuter); - private final String GDB_PATH = getDefaults().underVespaHome("bin64/gdb"); private final Path TEST_CORE_PATH = Paths.get("/tmp/core.1234"); private final Path TEST_BIN_PATH = Paths.get("/usr/bin/program"); private final List<String> GDB_BACKTRACE = Arrays.asList("[New Thread 2703]", @@ -103,7 +102,7 @@ public class CoreCollectorTest { fail("Expected not to be able to get bin path"); } catch (RuntimeException e) { assertEquals("Failed to extract binary path from GDB, result: (1,Error 123), command: " + - "[/bin/sh, -c, /opt/vespa/bin64/gdb -n -batch -core /tmp/core.1234 | grep '^Core was generated by']", e.getMessage()); + "[/bin/sh, -c, /usr/bin/gdb -n -batch -core /tmp/core.1234 | grep '^Core was generated by']", e.getMessage()); } } @@ -120,7 +119,7 @@ public class CoreCollectorTest { fail("Expected not to be able to read backtrace"); } catch (RuntimeException e) { assertEquals("Failed to read backtrace (1,Failure), Command: " + - "[/opt/vespa/bin64/gdb, -n, -ex, bt, -batch, /usr/bin/program, /tmp/core.1234]", e.getMessage()); + "[/usr/bin/gdb, -n, -ex, bt, -batch, /usr/bin/program, /tmp/core.1234]", e.getMessage()); } } |