Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
This project is now read‑only. Starting Monday, February 2, please use https://ibm-ceph.atlassian.net/ for all bug tracking management.

Bug 1831815

Summary: [RFE] Async Refactoring
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: Vikhyat Umrao <vumrao>
Component: RGW-MultisiteAssignee: Adam C. Emerson <aemerson>
Status: ASSIGNED --- QA Contact: Madhavi Kasturi <mkasturi>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 3.3CC: ceph-eng-bugs, mbenjamin, smanjara, tserlin, vereddy, William846Hoff
Target Milestone: ---Keywords: FutureFeature
Target Release: 9.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Vikhyat Umrao 2020-05-05 17:03:24 UTC
Description of problem:
[RFE] Async Refactoring

1. Use asio’s stackful coroutines to clean up some of the larger sync coroutines, and unify them with existing code that understands optional_yield

2. Hook up asio’s completions to issue completions within RGWCoroutinesManager so we can gradually replace pieces of the sync coroutine hierarchy

3. Replace the RGWAsyncRadosProcessor thread pool (which is used to call synchronous code within sync) with use of optional_yield

Comment 4 Jane smith 2020-11-04 08:07:02 UTC Comment hidden (spam)
Comment 16 sonia598lewis 2024-11-14 11:03:51 UTC Comment hidden (spam)
Comment 17 FreshPresence 2025-01-30 12:06:10 UTC Comment hidden (spam)
Comment 18 Carl501Jeffrey 2025-06-13 09:06:14 UTC Comment hidden (spam)
Comment 20 William846Hoff 2025-11-11 11:13:19 UTC
This refactoring request proposes modernizing the async infrastructure by leveraging ASIO’s stackful coroutines. The goals are to simplify large synchronous coroutines using optional_yield, integrate ASIO completions with RGWCoroutinesManager for smoother async transitions, and phase out the RGWAsyncRadosProcessor thread pool in favor of coroutine-based yielding. This would streamline async handling, reduce thread overhead, and unify coroutine logic across the codebase. https://www.myfordbenefits.com.co