Hey Dustin, My understanding is that: 1) Regardless of whether a worker is quarantined or not, if the queue is going to return 0 tasks to a claimWork call, it should hold the connection for 20s. 2) Regardless of whether a worker is quarantined or not, it should show up in the Queue's listWorkers endpoint, if it recently called claimWork Above, we see that we get an immediate HTTP 200 response from `queue.claimWork` call, with `"tasks": []`, and that the workerId used in that call does not make it into the (empty) list of workers from the `queue.listWorkers` endpoint. This indicates a problem in the worker tracking implemented in the queue, and the serving of tasks, since we can also see there are pending tasks for this worker type: ``` $ curl 'http://localhost:8080/queue/v1/pending/releng-hardware/gecko-t-osx-1010-beta' { "provisionerId": "releng-hardware", "workerType": "gecko-t-osx-1010-beta", "pendingTasks": 2 } ```
Bug 1519849 Comment 2 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Hey Dustin, My understanding is that: 1) Regardless of whether a worker is quarantined or not, if the queue is going to return 0 tasks to a `queue.claimWork` call, it should hold the connection for 20s. 2) Regardless of whether a worker is quarantined or not, it should show up in the `queue.listWorkers` endpoint, if the worker recently called `queue.claimWork`. Above, we see that we get an immediate HTTP 200 response from `queue.claimWork` call, with `"tasks": []`, and that the workerId used in that call does not make it into the (empty) list of workers from the `queue.listWorkers` endpoint. This indicates a problem in the worker tracking implemented in the queue, and the serving of tasks, since we can also see there are pending tasks for this worker type: ``` $ curl 'http://localhost:8080/queue/v1/pending/releng-hardware/gecko-t-osx-1010-beta' { "provisionerId": "releng-hardware", "workerType": "gecko-t-osx-1010-beta", "pendingTasks": 2 } ```
Hey Dustin, My understanding is that: 1) Regardless of whether a worker is quarantined or not, if the queue is going to return 0 tasks to a `queue.claimWork` call, it should hold the connection for 20s. 2) Regardless of whether a worker is quarantined or not, it should show up in the `queue.listWorkers` endpoint, if the worker recently called `queue.claimWork`. Above, we see that we get an immediate HTTP 200 response from `queue.claimWork` call, with `"tasks": []`, and that the `workerId` used in that call does not make it into the (empty) list of workers from the `queue.listWorkers` endpoint. This indicates a problem in the worker tracking implemented in the queue, and the serving of tasks, since we can also see there are pending tasks for this worker type: ``` $ curl 'http://localhost:8080/queue/v1/pending/releng-hardware/gecko-t-osx-1010-beta' { "provisionerId": "releng-hardware", "workerType": "gecko-t-osx-1010-beta", "pendingTasks": 2 } ```