SCMtrigger checks to see if any changes have been made to the SCM and if so schedules a build. When it schedules a build it checks to see if a job has already been queued and just assigns the trigger to an existing queued build
if it finds one, otherwise it creates a brand new queued job.
This is ok except if several scm triggers arrive all at once and they all start
polling the scm, duplicate queued requests get created needlessly if queued jobs haven't started or they haven't finished fetching the changes into the workspace.
The scm trigger should be altered to check if a job is already queued before polling and then just ignoring the new polling request as the already queued job will process it. this will save a lot of processing time and also prevent duplicate triggering that we are seeing on our system.
The code excerpt from SCMTRigger to change is attached...