nagaboinaramgopal opened a new pull request, #14039:
URL: https://github.com/apache/cloudstack/pull/14039

   ### Description
   
   In executeQueueItem, when persisting the executing management-server id fails
   (the DB-deadlock case the catch block exists for), the queue item is 
returned to
   the queue so it can be retried later. Execution then fell through to
   scheduleExecution(job), so the job was dispatched now AND re-dequeued and
   dispatched again by the heartbeat, running the same job (VM start/deploy, 
volume
   create, snapshot, etc.) twice concurrently and defeating the sync queue's
   serialization.
   
   Return after returning the item so the job runs once, on the retry.
   
   ### Types of changes
   
   - [x] Bug fix (non-breaking change which fixes an issue)
   
   ### Feature/Enhancement Scale or Bug Severity
   
   #### Bug Severity
   
   - [x] Minor
   
   ### How Has This Been Tested?
   
   Added a unit test that makes the executing-msid update throw and asserts the
   queue item is returned and the job is not also scheduled. Also built the 
standard
   packages and deployed on a KVM advanced zone.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to