ClientRequest::PGPipeline::RecoverMissing::BlockingEvent::Backend,
ClientRequest::PGPipeline::RecoverMissing::
BlockingEvent::ExitBarrierEvent::Backend,
- ClientRequest::PGPipeline::RecoverMissingLockOBC::BlockingEvent::Backend,
- ClientRequest::PGPipeline::RecoverMissingLockOBC::
- BlockingEvent::ExitBarrierEvent::Backend,
- ClientRequest::PGPipeline::RecoverMissingSnaps::BlockingEvent::Backend,
ClientRequest::PGPipeline::GetOBC::BlockingEvent::Backend,
ClientRequest::PGPipeline::LockOBC::BlockingEvent::Backend,
ClientRequest::PGPipeline::LockOBC::BlockingEvent::ExitBarrierEvent::Backend,
const Operation& op) override {
}
- void handle(ClientRequest::PGPipeline::RecoverMissingLockOBC::BlockingEvent& ev,
- const Operation& op,
- const ClientRequest::PGPipeline::RecoverMissingLockOBC& blocker) override {
- }
-
- void handle(ClientRequest::PGPipeline::RecoverMissingLockOBC::
- BlockingEvent::ExitBarrierEvent& ev,
- const Operation& op) override {
- }
-
- void handle(ClientRequest::PGPipeline::RecoverMissingSnaps::BlockingEvent& ev,
- const Operation& op,
- const ClientRequest::PGPipeline::RecoverMissingSnaps& blocker) override {
- }
-
void handle(ClientRequest::PGPipeline::GetOBC::BlockingEvent& ev,
const Operation& op,
const ClientRequest::PGPipeline::GetOBC& blocker) override {
ClientRequest::PGPipeline::RecoverMissing::BlockingEvent::Backend,
ClientRequest::PGPipeline::RecoverMissing::
BlockingEvent::ExitBarrierEvent::Backend,
- ClientRequest::PGPipeline::RecoverMissingLockOBC::BlockingEvent::Backend,
- ClientRequest::PGPipeline::RecoverMissingLockOBC::
- BlockingEvent::ExitBarrierEvent::Backend,
- ClientRequest::PGPipeline::RecoverMissingSnaps::BlockingEvent::Backend,
ClientRequest::PGPipeline::GetOBC::BlockingEvent::Backend,
ClientRequest::PGPipeline::LockOBC::BlockingEvent::Backend,
ClientRequest::PGPipeline::LockOBC::BlockingEvent::ExitBarrierEvent::Backend,
const Operation& op) override {
}
- void handle(ClientRequest::PGPipeline::RecoverMissingLockOBC::BlockingEvent& ev,
- const Operation& op,
- const ClientRequest::PGPipeline::RecoverMissingLockOBC& blocker) override {
- }
-
- void handle(ClientRequest::PGPipeline::RecoverMissingLockOBC::
- BlockingEvent::ExitBarrierEvent& ev,
- const Operation& op) override {
- }
-
- void handle(ClientRequest::PGPipeline::RecoverMissingSnaps::BlockingEvent& ev,
- const Operation& op,
- const ClientRequest::PGPipeline::RecoverMissingSnaps& blocker) override {
- }
-
void handle(ClientRequest::PGPipeline::GetOBC::BlockingEvent& ev,
const Operation& op,
const ClientRequest::PGPipeline::GetOBC& blocker) override {
ObjectContextRef head,
std::set<snapid_t> &snaps)
{
- LOG_PREFIX(ClientRequest::process_op);
- co_await ihref.enter_stage<interruptor>(
- client_pp(*pg).recover_missing_snaps, *this);
+ LOG_PREFIX(ClientRequest::recover_missing_snaps);
for (auto &snap : snaps) {
auto coid = head->obs.oi.soid;
coid.snap = snap;
instance_handle_t &ihref, Ref<PG> pg, unsigned this_instance_id)
{
LOG_PREFIX(ClientRequest::process_op);
- co_await ihref.enter_stage<interruptor>(
- client_pp(*pg).recover_missing, *this
- );
+ ihref.enter_stage_sync(client_pp(*pg).recover_missing, *this);
if (!pg->is_primary()) {
DEBUGDPP(
"Skipping recover_missings on non primary pg for soid {}",
std::set<snapid_t> snaps = snaps_need_to_recover();
if (!snaps.empty()) {
// call with_obc() in order, but wait concurrently for loading.
- ihref.enter_stage_sync(
- client_pp(*pg).recover_missing_lock_obc, *this);
auto with_obc = pg->obc_loader.with_obc<RWState::RWREAD>(
m->get_hobj().get_head(),
[&snaps, &ihref, pg, this](auto head, auto) {
public:
class PGPipeline : public CommonPGPipeline {
public:
- struct RecoverMissingLockOBC : OrderedConcurrentPhaseT<RecoverMissingLockOBC> {
- static constexpr auto type_name = "ClientRequest::PGPipeline::recover_missing_lock_obc";
- } recover_missing_lock_obc;
- struct RecoverMissingSnaps : OrderedExclusivePhaseT<RecoverMissingSnaps> {
- static constexpr auto type_name = "ClientRequest::PGPipeline::recover_missing_snaps";
- } recover_missing_snaps;
struct AwaitMap : OrderedExclusivePhaseT<AwaitMap> {
static constexpr auto type_name = "ClientRequest::PGPipeline::await_map";
} await_map;
PGPipeline::WaitForActive::BlockingEvent,
PGActivationBlocker::BlockingEvent,
PGPipeline::RecoverMissing::BlockingEvent,
- PGPipeline::RecoverMissingLockOBC::BlockingEvent,
- PGPipeline::RecoverMissingSnaps::BlockingEvent,
scrub::PGScrubber::BlockingEvent,
PGPipeline::GetOBC::BlockingEvent,
PGPipeline::LockOBC::BlockingEvent,