diff --git a/src/client/cluster_client.cpp b/src/client/cluster_client.cpp index 80819823..bde21c4e 100644 --- a/src/client/cluster_client.cpp +++ b/src/client/cluster_client.cpp @@ -452,10 +452,9 @@ void cluster_client_t::on_change_pg_state_hook(pool_id_t pool_id, pg_num_t pg_nu if (pg_cfg.cur_primary != prev_primary) { // Repeat this PG operations because an OSD which stopped being primary may not fsync operations - if (wb->repeat_ops_for(this, 0, pool_id, pg_num) > 0) - { - continue_ops(); - } + wb->repeat_ops_for(this, 0, pool_id, pg_num); + // Always continue to resume operations hung because of lack of the primary OSD + continue_ops(); } }