Skip to content

rgw/kafka/amqp: fix race conditionn in async completion handlers#54697

Merged
yuvalif merged 1 commit intoceph:mainfrom
yuvalif:wip-yuval-63314
Nov 30, 2023
Merged

rgw/kafka/amqp: fix race conditionn in async completion handlers#54697
yuvalif merged 1 commit intoceph:mainfrom
yuvalif:wip-yuval-63314

Conversation

@yuvalif
Copy link
Contributor

@yuvalif yuvalif commented Nov 28, 2023

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

Checklist

  • Tracker (select at least one)
    • References tracker ticket
    • Very recent bug; references commit where it was introduced
    • New feature (ticket optional)
    • Doc update (no ticket needed)
    • Code cleanup (no ticket needed)
  • Component impact
    • Affects Dashboard, opened tracker ticket
    • Affects Orchestrator, opened tracker ticket
    • No impact that needs to be tracked
  • Documentation (select at least one)
    • Updates relevant documentation
    • No doc update is appropriate
  • Tests (select at least one)
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

@yuvalif yuvalif requested a review from a team as a code owner November 28, 2023 17:54
@github-actions github-actions bot added the rgw label Nov 28, 2023
std::unique_ptr<Completion> completion = nullptr;
int ret;

mutable std::atomic<bool> done = false;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it looks like we don't need atomic now that this is only accessed under lock

@yuvalif
Copy link
Contributor Author

yuvalif commented Nov 29, 2023

teuthology passing: https://pulpito.ceph.com/yuvalif-2023-11-29_17:21:44-rgw:notifications-wip-yuval-63314-distro-default-smithi/

will run some manual tests before merging

return amqp::publish(conn_id, topic, json_format_pubsub_event(event));
} else {
// TODO: currently broker and routable are the same - this will require different flags but the same mechanism
// note: dynamic allocation of Waiter is needed when this is invoked from a beast coroutine
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yuvalif yuvalif removed the DNM label Nov 30, 2023
@yuvalif
Copy link
Contributor Author

yuvalif commented Nov 30, 2023

done manual testing, could not reproduce crash

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.

2 participants