Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lambda count "drain" workers as "ready for scheduling" #84

Open
MaxymVlasov opened this issue Mar 12, 2024 · 0 comments
Open

Lambda count "drain" workers as "ready for scheduling" #84

MaxymVlasov opened this issue Mar 12, 2024 · 0 comments

Comments

@MaxymVlasov
Copy link
Contributor

How it works now

  1. Let's imagine a situation when Workers: 0, Busy: 0, Queue: 0
  2. Then, some run triggered and we get Workers: 0, Busy: 0, Queue: 1
  3. Lambda sees that Queue > Workers, create a new Worker, and run scheduled to it. We get Workers: 1, Busy: 1, Queue: 1
  4. After the run was completed, we had Workers: 1, Busy: 0, Queue: 0 for some time.
  5. Lambda sees that Workers > Busy && Workers > Queue so it starts termination of Worker drains it.

So far so good.

  1. After the Worker drain, there is another run pop-up, so we have Workers: 1, Busy: 0, Queue: 1

BUT, because Worker is drained and Workers is not > Queue, run in Queue end in long awaiting, till old one Worker will be terminated, and Lambda detect that Queue > Workers and create a new worked (step 3):

Workers: 1, Busy: 0, Queue: 1 -> Workers: 0, Busy: 0, Queue: 1 -> Workers: 1, Busy: 1, Queue: 1

Suggestion

In Lambda, Check the status of workers during the Queue > Workers evaluation.

Currently it is Queue > all Workers, when should be Queue > not drain Workers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant