-
Notifications
You must be signed in to change notification settings - Fork 5.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rgwlc: send pool transition notifications too #57551
base: main
Are you sure you want to change the base?
Conversation
@@ -1441,52 +1475,12 @@ class LCOpAction_Transition : public LCOpAction { | |||
null_yield); | |||
auto version_id = oc.o.key.instance; | |||
|
|||
ret = notify->publish_reserve(oc.dpp, nullptr); | |||
if (ret < 0) { | |||
r = notify->publish_reserve(oc.dpp, nullptr); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the event_types above (line:1463 - line:1469) doesn't take !(bucket->versioned)
case into account. Can you please address that too ..
if (! oc.bucket->versioned()) {
event_types.push_back(rgw::notify::ObjectTransition);
} else if (oc.o.is_current() && !oc.o.is_delete_marker()) {
event_types.insert(event_types.end(),
{rgw::notify::ObjectTransitionCurrent,
rgw::notify::LifecycleTransition});
} else {
event_types.push_back(rgw::notify::ObjectTransitionNoncurrent);
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure LifecycleTransition is set correctly, either
Fixes: https://tracker.ceph.com/issues/66111 Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2e14c1f
to
b3a9faf
Compare
event_types.push_back(rgw::notify::ObjectTransitionNoncurrent); | ||
} | ||
|
||
std::unique_ptr<rgw::sal::Notification> notify = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This would generate events for all transitions including cloud-transition. Should we remove events from delete_tier_obj() (line:1379-1401) to avoid duplicate notifications? (unless we plan to have new notify:: type for deleted objects post cloud-transition)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so you would propose to remove all notifications currently being sent in delete_tier_obj()?
When a tiering operation causes the removal of a local object as a side effect, it is not a lifecycle delete, so don't send lifecycle notifications for the delete (but send any transition notifications that are configured). Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
461767a
to
5e1193a
Compare
Missed when the new event types were added. Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks Great.. Thanks Matt!!
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
QA had this error; could it be in any way related to this PR or is it unrelated?
|
Fixes: https://tracker.ceph.com/issues/66111
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an
x
between the brackets:[x]
. Spaces and capitalization matter when checking off items this way.Checklist
Show available Jenkins commands
jenkins retest this please
jenkins test classic perf
jenkins test crimson perf
jenkins test signed
jenkins test make check
jenkins test make check arm64
jenkins test submodules
jenkins test dashboard
jenkins test dashboard cephadm
jenkins test api
jenkins test docs
jenkins render docs
jenkins test ceph-volume all
jenkins test ceph-volume tox
jenkins test windows
jenkins test rook e2e