This unit test checks that the "replacer" method in telemetry.component.ts works as it should. The replacer method takes the telemetry report and changes the ranges and values of the 'osd_perf_histograms' field from arrays to strings, thereby making the report more readable in the Dashboard Telemetry Preview.
This unit test needs improvement since it currently uses a test report rather than the real one.
Signed-off-by: Laura Flores <lflores@redhat.com>
`seastar::engine()` is available only for Seastar's threads;
it shouldn't be called outside of a reactor thread.
Unfortunately, this assumption is violated in `AlienStore`
where `OnCommit::finish()`, executed from a finisher thread
of `BlueStore`, calls `alien()` on `seastar::engine()`.
The net effect are crashes like the following one:
```
INFO 2021-09-22 14:26:33,214 [shard 0] osd - operator() writing superblock cluster_fsid 1d8f7908-2ebf-4a91-ae70-f445668c126b osd_fsid 4da9fe9a-1da5-4ea9-aa79-a1178165ede5 [381/1839]
Segmentation fault.
Backtrace:
0# print_backtrace(std::basic_string_view<char, std::char_traits<char> >) at /home/rzarzynski/ceph1/build/../src/crimson/common/fatal_signal.cc:80
1# FatalSignal::signaled(int, siginfo_t const&) at /opt/rh/gcc-toolset-9/root/usr/include/c++/9/ostream:570
2# FatalSignal::install_oneshot_signal_handler<11>()::{lambda(int, siginfo_t*, void*)#1}::_FUN(int, siginfo_t*, void*) at /home/rzarzynski/ceph1/build/../src/crimson/common/fatal_signal.cc:
62
3# 0x00007F16BBA13B30 in /lib64/libpthread.so.0
4# (anonymous namespace)::OnCommit::finish(int) at /home/rzarzynski/ceph1/build/../src/crimson/os/alienstore/alien_store.cc:53
5# Context::complete(int) at /home/rzarzynski/ceph1/build/../src/include/Context.h:100
6# Finisher::finisher_thread_entry() at /home/rzarzynski/ceph1/build/../src/common/Finisher.cc:65
7# 0x00007F16BBA0915A in /lib64/libpthread.so.0
8# clone in /lib64/libc.so.6
Dump of siginfo:
...
si_addr: 0x10
```
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Store the reversed version of object hash to make sure that onodes in
the same PG are sorted together.
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
crimson/common: add safe_then_unpack() to errorated futures
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
It was a prerequisite for another commit I finally thrown
away. However, this little bit can be still be useful even
for the sake of compliance with the interruptible variant.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
crimson/net: fix dangling addrvec in bind(), the repeat_until_value() part
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
This is a follow-up to commit 4802730827.
`seastar::do_with()` doesn't extend the life-time of the callable's
```cpp
auto
do_with_impl(T1&& rv1, T2&& rv2, More&&... more) {
// ...
auto&& just_values = cherry_pick_tuple(idx(), std::move(all));
auto&& just_func = std::move(std::get<nr>(std::move(all)));
// ...
auto task = std::apply(
[](auto&&... x) {
return std::make_unique<internal::do_with_state<value_tuple, ret_type>>(std::forward<decltype(x)>(x)...);
},
std::move(just_values));
auto fut = std::apply(just_func, task->data());
// ...
}
```
closure. This means the `addrs` needs to be captured by value also
by the lambda passed to `repeat_until_value()`.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
doc/cephadm/service-management: Move "Updating Service Specifications"
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
New images are no longer uploaded to the Docker Hub registry, so Docker users should point the upgrade
command to the quay.io image.
Fixes: https://tracker.ceph.com/issues/52683
Signed-off-by: Javier Cacheiro <javier.cacheiro.lopez@cesga.es>
This reverts commit 707edc0b2d.
This commit was somewhat premature in removing the xmlstarlet
dependency.
Fixes: https://tracker.ceph.com/issues/52681
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
* refs/pull/43164/head:
test/libcephfs: put inodes after lookup
Reviewed-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Snapshot replayer needs the remote's mirror peer uuid to find its
snapshots in the remote image. It is obtained by listing remote's
mirror peers but RemotePoolPoller::handle_mirror_peer_list() skips
tx-only (MIRROR_PEER_DIRECTION_TX) peers. In effect only rx-tx
(MIRROR_PEER_DIRECTION_RX_TX) peers are considered for matching
and snapshot replayer always fails with "failed to retrieve mirror
peer uuid from remote pool" error.
Instead, skip rx-only (MIRROR_PEER_DIRECTION_RX) peers as we are
definitely not interested in anything having to do with mirroring
_to_ the remote cluster.
Fixes: https://tracker.ceph.com/issues/52675
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>