do not scale all the way down to zero unless there are no invisible m… #6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I'm working on a system where the minimum number of pods is zero, i.e. I want to completely auto-scale down to nothing if the queue goes empty.
The detailed mechanics of this are going to depend on the precise pod settings, but in general I think it might be a good idea to prevent scaling down the final pod when SQS reports that at least one message is still in an invisible/in-flight state.
This patch adds a special case for the 1->0 scale-down, where it checks the number of in-flight messages and aborts the scale-down if any exist.
(I'm less sure of this one than the other pull requests I sent today. Feel free to reject if this behavior doesn't make sense).
On second thought, a better criterion might be "don't scale down if number of replicas, after scale-down, would be less than the number of in-flight messages." -?