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)
|
if (pg_cfg.cur_primary != prev_primary)
|
||||||
{
|
{
|
||||||
// Repeat this PG operations because an OSD which stopped being primary may not fsync operations
|
// 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)
|
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();
|
continue_ops();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user