Deployments using multiple workers in a single Worker Pool acquire different workers when packages overlap or subsequent steps do not use packages. #8791
Labels
kind/bug
This issue represents a verified problem we are committed to solving
Severity
Low, Sev 3
Version
All
Latest Version
I could reproduce the problem in the latest build
What happened?
Our docs spell out how Worker Selection works. In reality it looks like there's quite a few discrepancies in the actual behaviour and some room for improvement. There's some comments in the RequiredPackageListBuilder that call this out
The simplest case here is a deployment process with one worker pool, two steps (Run a Script), where the first uses a package and the other is an inline script. Since the packageId is a part of the Worker Lease Key, the second step will require a new worker. We should be able to fine tune this logic.
These docs also call out Reference Packages and reference package ordering. The WorkerLeaseFactory GetOrLeasePackageWorker only takes a single PackageId, which is then used in the worker lease key. The key is just a concatenation of the WorkerPoolId and the PackageId. From this it appears that Reference packages are completely ignored in this process
Containers and Execution images are another area to look into.
Reproduction
Run a Script steps
, the first will use a package reference and the second will be an Inline Script.Error and Stacktrace
More Information
No response
Workaround
No response
The text was updated successfully, but these errors were encountered: