You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What would you like to be added:
A mechanism to clean up and remove PriorityBand structures (queues, atomic counters, mutexes) from the FlowRegistry and registryShard when they are no longer needed.
Requirements:
Safe Draining: A band cannot be deleted if it contains active or buffered requests.
Why is this needed:
With the introduction of dynamic provisioning, the system creates resources for every new priority level seen. Currently, these structures are never deleted, even if the associated InferenceObjective is deleted or the priority level is abandoned.
While the memory footprint of an empty band is small (mostly pointers and counters), unbounded growth is a risk over long-running processes with high CRD churn.
What would you like to be added:
A mechanism to clean up and remove
PriorityBandstructures (queues, atomic counters, mutexes) from theFlowRegistryandregistryShardwhen they are no longer needed.Requirements:
InferenceObjective, or via a background GC loop that detects "Empty & Idle" bands if we stick with JIT for a while (see [Flow Control] Refactor: Drive Priority Band lifecycle from InferenceObjective controller. #2011).Why is this needed:
With the introduction of dynamic provisioning, the system creates resources for every new priority level seen. Currently, these structures are never deleted, even if the associated
InferenceObjectiveis deleted or the priority level is abandoned.While the memory footprint of an empty band is small (mostly pointers and counters), unbounded growth is a risk over long-running processes with high CRD churn.