Quiet period is blocking other jobs in queue

Details

Description

Starting from version 1.452, a job in queue waiting for the quiet period to pass is blocking all other jobs that have been queued after it.

Example:

Job A has quiet period set to 10 seconds

Job B has quiet period set to 300 seconds

Job C has quiet period set to 100 seconds

Jobs get queued in A-B-C order.

Job A starts executing after 10 seconds

After 100 seconds, status of job C changes to "pending - Waiting for next available executor" even if free executors are available

After 300 seconds both jobs B and C start executing

This problem is hardly visible when short quiet periods are used but becomes problematic with longer quiet periods or plugins like Naginator that will increase the quiet period to hours if the builds fail enough.

Version 1.451 is the last release where this problem isn't visible. From public releases, at least 1.452 and 1.454 are affected.