Always continue operations to not miss resuming after the lack of PG primary
Should fix spurious client hangs during PG primary switchover
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user