Commit Graph

136706 Commits

Author SHA1 Message Date
Matan Breizman
f4300d4aa4 osd/osd_types_fmt: Add fmt::formatter<pg_log_entry_t>
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2023-03-07 08:57:03 +00:00
Matan Breizman
5b457365fa qa/suites/crimson-rados/thrash/workloads: Enable small-objects-balanced/localized
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2023-03-07 08:57:03 +00:00
Matan Breizman
b1d7584931 crimson/osd/osd_operation/client_request: do_process() reorder
* Move error checking to the beginning of do_process()

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2023-03-07 08:57:01 +00:00
Matan Breizman
b63ab1f4ae crimson/osd/osd_operations/client_request: fix is_misdirected()
In the case of balanced read the op is not misdirected.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2023-03-07 08:11:38 +00:00
Matan Breizman
2f77bbb79c crimson/osd/osd_operations/client_request: Add logs around do_process()
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2023-03-07 08:11:38 +00:00
Matan Breizman
7fd0b34521 crimson/osd/osd_operations/client_request: Skip do_recover_missing() on replica
* assert internal_client_request is on primary since
  do_recover_missing is also called by internal requests.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2023-03-07 08:11:34 +00:00
Matan Breizman
53e26d16ff crimson/osd/pg: Expand can_discard_op on BALANCE/LOCALIZE reads
See: 69def1433d

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2023-03-05 09:53:25 +00:00
Venky Shankar
7f65724a25 Merge PR #49756 into main
* refs/pull/49756/head:
	qa: add test for 'dump dir'
	mds: add a command to dump directory information

Reviewed-by: Kotresh Hiremath Ravishankar <khiremat@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
2023-03-02 19:41:10 +05:30
Casey Bodley
8c5ca361c9
Merge pull request #50172 from cbodley/wip-58794
rgw: catch manifest decode errors in GetObj

Reviewed-by: Soumya Koduri <skoduri@redhat.com>
Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
2023-03-02 09:06:53 -05:00
Casey Bodley
835e203ca9
Merge pull request #50171 from cbodley/wip-58793
rgw: don't dereference nullopt in DeleteMultiObj

Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
2023-03-02 07:44:59 -05:00
Casey Bodley
962a2ce2a4
Merge pull request #50169 from cbodley/wip-rgw-unsal-rados
rgw/rados: remove sal handles from RGWRados::Object ops

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
2023-03-02 07:44:38 -05:00
Venky Shankar
1426cdfaab Merge PR #50217 into main
* refs/pull/50217/head:
	qa: enable the xfstests generic/317 test case
	qa: make the xfstests tmp directories to be readable and excutable

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
2023-03-02 11:04:33 +05:30
Yingxin
943ccfd0bc
Merge pull request #50317 from xxhdx1985126/wip-rbm-prepare-write
crimson/os/seastore/epm: also do prepare_write for rbm

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Myoungwon Oh <myoungwon.oh@samsung.com>
2023-03-02 10:07:29 +08:00
zdover23
e83c189e5a
Merge pull request #50335 from adk3798/cephadm-compatability-update
doc/cephadm: update cephadm compatability and stability page

Reviewed-by: Zac Dover <zac.dover@proton.me>
2023-03-02 07:36:46 +10:00
Adam King
383f46aa79 doc/cephadm: update cephadm compatability and stability page
This page is very out of date. This commit probably doesn't
cover everything there is to say about stability and compatability
in cephadm, but it at least gets it noticeably closer to reality

Signed-off-by: Adam King <adking@redhat.com>
2023-03-01 16:10:41 -05:00
zdover23
0bd1b34742
Merge pull request #50316 from zdover23/wip-doc-2023-03-01-radosgw-multisite-diagram-object-replication-text-revision
doc/rgw: improve diagram caption

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2023-03-02 04:04:25 +10:00
Zac Dover
e8aa50e240 doc/rgw: improve diagram caption
Improve the syntax and semantics of the caption of the diagram
"Replication of Object Data Between Zones" in doc/radosgw/multisite.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
2023-03-02 02:27:53 +10:00
Yuval Lifshitz
4478c0941f
Merge pull request #50256 from yuvalif/wip-yuval-zipper-notifications
rgw/notifications: add bucket notification configuration to zipper

Reviewed-By: dang, cbodley
2023-03-01 16:13:55 +02:00
Yuval Lifshitz
6850e35555
Merge pull request #48181 from huynp1999/wip-rgw-kafka-add-sasl-mechanism
src/rgw: SASL mechanism implem

Reviewed-By: ivancich, anthonyeleven, yuvalif
2023-03-01 16:12:47 +02:00
Radoslaw Zarzynski
0ad603862b
Merge pull request #49286 from rzarzynski/wip-crimson-snaptrimmer
crimson/osd, osd: bring snap trimming to crimson

Reviewed-by: Samuel Just <sjust@redhat.com>
2023-03-01 08:57:27 +01:00
Xuehan Xu
1923f8db92 crimson/os/seastore/epm: also do prepare_write for rbm
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
2023-03-01 07:42:16 +00:00
Venky Shankar
cca84e653d Merge PR #48720 into main
* refs/pull/48720/head:
	qa: fix api failure issue caused during a dashboard test
	PendingReleaseNotes: noted new MDSMap field refuse_client_session
	qa: added two testcases
	client: do not initiate session if flag refuse_client_session is set
	mds: do not reconnect when refuse_client_session is set
	mds: add new feature to block clients from establishing sessions

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Kotresh Hiremath Ravishankar <khiremat@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Milind Changire <mchangir@redhat.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
2023-03-01 07:54:18 +05:30
Neha Ojha
707af78f9d
Merge pull request #49006 from yanghonggang/yhg-upgrade-rocksdb-7.7.3
rocksdb: Upgrade rocksdb to latest facebook's v7.9.2

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Mark Nelson <mnelson@redhat.com>
2023-02-28 15:50:21 -08:00
Radoslaw Zarzynski
d90d81585b qa/valgrind.supp: suppress the ColumnFamily ctor called on init
```
    <frame>
      <ip>0x1712F1E</ip>
      <obj>/home/rzarzynski/ceph3/build/bin/ceph-mon</obj>
      <fn>rocksdb::BytewiseComparator()</fn>
      <dir>/home/rzarzynski/ceph3/src/rocksdb/util</dir>
      <file>comparator.cc</file>
      <line>304</line>
    </frame>
    <frame>
      <ip>0x162361C</ip>
      <obj>/home/rzarzynski/ceph3/build/bin/ceph-mon</obj>
      <fn>rocksdb::ColumnFamilyOptions::ColumnFamilyOptions()</fn>
      <dir>/home/rzarzynski/ceph3/src/rocksdb/options</dir>
      <file>options.cc</file>
      <line>123</line>
    </frame>
    <frame>
      <ip>0x12CA21E</ip>
      <obj>/home/rzarzynski/ceph3/build/bin/ceph-mon</obj>
      <fn>Options</fn>
      <dir>/home/rzarzynski/ceph3/build/../src/rocksdb/include/rocksdb</dir>
      <file>options.h</file>
      <line>1409</line>
    </frame>
    <frame>
      <ip>0x12CA21E</ip>
      <obj>/home/rzarzynski/ceph3/build/bin/ceph-mon</obj>
      <fn>RocksDBStore::init(std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;)</fn>
      <dir>/home/rzarzynski/ceph3/build/../src/kv</dir>
      <file>RocksDBStore.cc</file>
      <line>400</line>
    </frame>
```

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 20:58:27 +00:00
Radoslaw Zarzynski
0de4d99c72 qa/valgrind.supp: suppress the get-or-create CacheItemHelper
```
// Get an CacheItemHelper pointer for value type T and role R.
template <typename T, CacheEntryRole R>
Cache::CacheItemHelper* GetCacheItemHelperForRole() {
  static Cache::CacheItemHelper cache_helper(
      BlocklikeTraits<T>::SizeCallback, BlocklikeTraits<T>::SaveToCallback,
      GetCacheEntryDeleterForRole<T, R>());
  return &cache_helper;
}
```

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 20:43:48 +00:00
Radoslaw Zarzynski
9949151620 qa/valgrind.supp: even broader suppression for rocksdb's init
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 20:43:41 +00:00
Adam King
0aef3d9741
Merge pull request #50308 from adk3798/mock-fqdn-secure-alertmanager
mgr/cephadm: mock get_fqdn in secure alertmanager config test

Reviewed-by: Redouane Kachach <rkachach@redhat.com>
2023-02-28 14:57:44 -05:00
Radoslaw Zarzynski
a3aa624db4 qa/valgrind.supp: ingore rocksdb leak in option parsing
This suppression is needed since upgrading to v7.9.2.
See PR https://github.com/ceph/ceph/pull/49006.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 19:13:39 +00:00
Radoslaw Zarzynski
4dbe8f56b6 crimson/osd: fix compilation guard around specialization for libfmt => 9
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
b03ab045e9 crimson/osd: handle snap trim's interruption as any other error
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
38c030e2cb crimson/osd: handle PG_STATE_SNAPTRIM_ERROR when trimming snaps
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
f091a70e3c crimson/osd: errorate SnapTrimEvent
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
e0bb021796 crimson/osd: manage PG_STATE_SNAPTRIM when trimming snaps
After a few tries:

```
$ bin/ceph -s
*** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH ***
2022-12-19T20:18:21.856+0000 7ff87b46f700 -1 WARNING: all dangerous and experimental features are enabled.
2022-12-19T20:18:21.857+0000 7ff87b46f700  1 build_initial for_mkfs: 0
2022-12-19T20:18:21.860+0000 7ff87b46f700 -1 WARNING: all dangerous and experimental features are enabled.
2022-12-19T20:18:21.861+0000 7ff87b46f700  1 build_initial for_mkfs: 0
  cluster:
    id:     347aedc9-d72f-4a34-98fc-26cb04b0c2fc
    health: HEALTH_WARN
            11 mgr modules have failed dependencies
            1 pool(s) do not have an application enabled
            1 pool(s) have no replicas configured

  services:
    mon: 1 daemons, quorum a (age 3m)
    mgr: x(active, since 3m)
    osd: 1 osds: 1 up (since 3m), 1 in (since 3m)

  data:
    pools:   1 pools, 1 pgs
    objects: 95 objects, 6 B
    usage:   1.0 GiB used, 100 GiB / 101 GiB avail
    pgs:     1 active+clean+snaptrim

  io:
    client:   1.2 KiB/s wr, 0 op/s rd, 1 op/s wr
```

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
6923b05d70 crimson/osd: drop C++'s ranges to workaround unbuildability on Clang
```
/home/jenkins-build/build/workspace/ceph-pull-requests/src/crimson/osd/osd_operations/snaptrim_event.cc:38:33: note: while checking constraint satisfaction for template 'operator|<const std::ranges::views::_Elements<0> &, const std::vector<std::pair<unsigned long, crimson::interruptible::interruptible_future_detail<crimson::osd::IOInterruptCondition, seastar::future<>>>> &>' required here
    for (const auto &i : subops | std::views::keys) {
                                ^
/home/jenkins-build/build/workspace/ceph-pull-requests/src/crimson/osd/osd_operations/snaptrim_event.cc:38:33: note: in instantiation of function template specialization 'std::ranges::views::__adaptor::operator|<const std::ranges::views::_Elements<0> &, const std::vector<std::pair<unsigned long, crimson::interruptible::interruptible_future_detail<crimson::osd::IOInterruptCondition, seastar::future<>>>> &>' requested here
/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/iterator_concepts.h:963:7: note: candidate template ignored: constraints not satisfied [with _Tp = std::ranges::ref_view<const std
```

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
6dce7df440 crimson/osd: simplify SnapTrimObjSubEvent::start()
Throwing away the NOP-looking-like `maybe_delay` concept became
possible after eradication of the `with_interruption` call nested
within `SnapTrimSubEvent`. Before, on Ubuntu and GCC 11.2.1, lack
of it was the reson behind assertion failures on resetting the
`thread_local` intteruption condition.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
877c272c2f crimson/osd: drop the nested interruptors in snap trimming
`crimson::interruptible` does not support that. See the
`DISABLED_nested_interruptors` unit test.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
c08d06fb0d crimson/test: verify nesting of interruptors
It doesn't work.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
9c719406cc crimson/osd: errorate SnapTrimObjSubEvent::remove_clone()
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
912a940f46 crimson/osd: convert SnapTrimObjSubEvent::remove_or_update to ertr
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
30db140344 crimson/osd: dissect snapset update into SnapTrimObjSubEvent::update_head()
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
dda6d453d1 crimson/osd: dissect head whiteout removal into SnapTrimObjSubEvent::remove_head_whiteout()
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
37f2bda50c crimson/osd: drop data aliases from SnapTrimObjSubEvent::adjust_snaps()
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
355b7f7ebd crimson/osd: dissect clone removal into SnapTrimObjSubEvent::remove_clone()
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
bb756b5983 crimson/osd: drop data aliases from SnapTrimObjSubEvent::remove_or_update()
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
bc5d15e7fc crimson/osd: simplify informing SnapMapper about new mappings
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
b9d81029ae crimson/osd: implement basic osd_snap_trim_sleep support
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
6df8e3965c crimson/osd: introduce WaitSubop stage to SnapTrimEvent
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
9245c7650d crimson/osd: snap trimming informs OpsExecuter about altered objects
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
ad22a9a228 common: add debugs to crimson's green_condition_variable
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00
Radoslaw Zarzynski
9ce59d7648 crimson/osd: drop unused declaration of PG::fill_op_params_bump_pg_version()
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2023-02-28 16:22:05 +00:00