Skip to content

osdc/objecter: Allow objecter to support multiple librados client setting object_requets#67471

Open
kchheda3 wants to merge 2 commits intoceph:mainfrom
kchheda3:wip-objecter-multiple-clients
Open

osdc/objecter: Allow objecter to support multiple librados client setting object_requets#67471
kchheda3 wants to merge 2 commits intoceph:mainfrom
kchheda3:wip-objecter-multiple-clients

Conversation

@kchheda3
Copy link
Contributor

@kchheda3 kchheda3 commented Feb 23, 2026

currently rgw creates multiple librados client ( one of config-store, one for rados backend driver, and one more for neorados), so objecter registers admin socket hook of objecter_requests only for the first client.
so extend objecter to support multiple librados client by allowing to set custom admin socket name.

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

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

  • 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

You must only issue one Jenkins command per-comment. Jenkins does not understand
comments with more than one command.

Signed-off-by: Krunal Chheda <kchheda3@bloomberg.net>
…store and Neorados

Signed-off-by: Krunal Chheda <kchheda3@bloomberg.net>
@kchheda3 kchheda3 marked this pull request as ready for review February 23, 2026 18:18
@kchheda3 kchheda3 requested a review from cbodley February 23, 2026 18:24
Comment on lines +49 to +50
// Use a distinct admin socket command name for the neorados client.
objecter->init("NeoRados");
Copy link
Contributor

Choose a reason for hiding this comment

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

consider extending neorados::RADOS::Builder with a set_objecter_admin_socket_name() so an application could have multiple neorados clients as well

Copy link
Contributor Author

Choose a reason for hiding this comment

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

consider extending neorados::RADOS::Builder with a set_objecter_admin_socket_name() so an application could have multiple neorados clients as well

thanks @cbodley, this makes sense. I see api interface for neorados::RADOS::Builder class and i can add set_objecter_admin_socket_name as another api exposed by that class.
however not sure how the usage is, i do not see any neorados client currently using the neorados::RADOS::Builder interface.

the current rados store is calling make_neorados()
which directly calls make_with_cct() and skips the Builder interface.

i do see a tool built in neorados.cc that uses builder interface, so the idea is, in future code will not directly call make_with_cct and rather use Buider interface to build nerados client ?

or if we are adding an api to Builder interface, we also add another overload function for make_with_cct() to accept the socket name, so anyone creating neorados either via BUILDER::build() or via make_with_cct() have an option to set the socket name ?

Copy link
Contributor

Choose a reason for hiding this comment

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

^ what do you think @adamemerson?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

^ what do you think @adamemerson?

ping @adamemerson

@adamemerson adamemerson self-assigned this Mar 9, 2026
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.

3 participants