Skip to content

squid: rgw/async/notifications: use common async waiter in pubsub push#62337

Merged
yuriw merged 3 commits intoceph:squidfrom
yuvalif:wip-67309-squid
Apr 24, 2025
Merged

squid: rgw/async/notifications: use common async waiter in pubsub push#62337
yuriw merged 3 commits intoceph:squidfrom
yuvalif:wip-67309-squid

Conversation

@yuvalif
Copy link
Copy Markdown
Contributor

@yuvalif yuvalif commented Mar 17, 2025

backport tracker: https://tracker.ceph.com/issues/67309


backport of #58765
parent tracker: https://tracker.ceph.com/issues/64184

this backport was staged using ceph-backport.sh version 16.0.0.6848
find the latest version at https://github.com/ceph/ceph/blob/main/src/script/ceph-backport.sh

@yuvalif yuvalif requested a review from a team as a code owner March 17, 2025 10:45
@yuvalif yuvalif added this to the v16.2.15 milestone Mar 17, 2025
@yuvalif yuvalif added the rgw label Mar 17, 2025
@adamemerson adamemerson modified the milestones: v16.2.15, v19.2.2 Mar 19, 2025
@adamemerson
Copy link
Copy Markdown
Contributor

jenkins test api

@adamemerson
Copy link
Copy Markdown
Contributor

jenkins test make check

@yuvalif
Copy link
Copy Markdown
Contributor Author

yuvalif commented Mar 24, 2025

jenkins test api

@github-actions
Copy link
Copy Markdown

This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved

@yuvalif
Copy link
Copy Markdown
Contributor Author

yuvalif commented Apr 22, 2025

This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved

will rebase

cbodley and others added 3 commits April 22, 2025 14:33
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit dd779c7)
* use the "yield_waiter" and "waiter" from common/async insteasd of the "waiter"
  implemented inside the bucket notification code (this is so we don't
  need separate investigations for 2 implementations)
* added a unit test that simulate how a separate thread (kafka or amqp) is
resuming a coroutine which is created by either the frontend or the
notification manager.

before using "defer" the unit test is passing, however,
when executed under thread sanitizer (using the WITH_TSAN cmake flag)
the following errors are observed: https://0x0.st/Xp4P.txt
after using "defer" the unit test passes under TSAN without errors.

Fixes: https://tracker.ceph.com/issues/64184

Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
(cherry picked from commit 2872c75)
In file included from src/rgw/driver/posix/bucket_cache.h:19,
                 from src/test/rgw/test_posix_bucket_cache.cc:4:
src/common/cohort_lru.h: In member function _void cohort::lru::TreeX<T, TTree, CLT, CEQ, K, LK>::lock()_:
src/common/cohort_lru.h:334:14: error: _for_each_ is not a member of _std_
  334 |         std::for_each(locks.begin(), locks.end(),
      |              ^~~~~~~~
src/common/cohort_lru.h: In member function _void cohort::lru::TreeX<T, TTree, CLT, CEQ, K, LK>::unlock()_:
/home/yuvalif/ceph5/src/common/cohort_lru.h:339:14: error: _for_each_ is not a member of _std_
  339 |         std::for_each(locks.begin(), locks.end(),
      |              ^~~~~~~~

Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
@yuriw
Copy link
Copy Markdown
Contributor

yuriw commented Apr 24, 2025

jenkins test make check

@yuriw
Copy link
Copy Markdown
Contributor

yuriw commented Apr 24, 2025

jenkins test api

@yuriw
Copy link
Copy Markdown
Contributor

yuriw commented Apr 24, 2025

jenkins test make check

@yuriw yuriw merged commit 465bfad into ceph:squid Apr 24, 2025
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants