topfreegames / maestro

Maestro: Game Room Scheduler
MIT License
115 stars 15 forks source link

refactor(disruption): use fixed maxUnavailable #639

Closed hspedro closed 1 month ago

hspedro commented 1 month ago

Some schedulers might decide on a high readyTarget, which means a low amount of occupied rooms in regards to total rooms, this causes the PDB to have a relatively low number compared to the total. Since PDB does not filter by room status, we are still subject to many rooms being evicted and the system is highly impacted. To mitigate this, Maestro will now set a fixed amount for maxUnavailable with the default value of 5%. It can be configured via:

MAESTRO_SERVICES_SCHEDULERMANAGER_DEFAULTPDBMAXUNAVAILABLE="10%"

The variable accepts integers greater than 0 and percentage strings.

Summary of changes

Scheduler Usage

pdbMaxUnavailable: "15%" # or 50 (any integer >1)
reinaldooli commented 1 month ago

I believe it's better to make this configuration scheduler/game basis. We might end up with different games in the same cluster asking for different configuration values.