diff --git a/changelog/unreleased/bug-fixes/1872--status-garbage-output.md b/changelog/unreleased/bug-fixes/1872--status-garbage-output.md new file mode 100644 index 00000000000..76dd6afc49d --- /dev/null +++ b/changelog/unreleased/bug-fixes/1872--status-garbage-output.md @@ -0,0 +1,2 @@ +The status command no longer occasionally contains garbage keys when the VAST +server is under high load. diff --git a/libvast/vast/system/status.hpp b/libvast/vast/system/status.hpp index 3bb277a3e73..a72348027aa 100644 --- a/libvast/vast/system/status.hpp +++ b/libvast/vast/system/status.hpp @@ -138,13 +138,13 @@ void collect_status( caf::settings& s, std::string_view key) { collect_status( rs, timeout, verbosity, responder, - [key, &s](caf::settings& response) { - put(s, std::string_view{key}, std::move(response)); + [key = std::string{key}, &s](caf::settings& response) { + put(s, key, std::move(response)); }, - [self = rs->self, key, &s](const caf::error& err) { + [self = rs->self, key = std::string{key}, &s](const caf::error& err) { VAST_WARN("{} failed to retrieve status for the key {}: {}", *self, key, err); - put(s, std::string_view{key}, fmt::to_string(err)); + put(s, key, fmt::to_string(err)); }); }