With the new indexation management, appeared since JIRA 5.1, the OSWokflow Auto Transition (auto=true in action tag of XML Descriptor) has risk to produce inconsistency in the indexation.
As soon as a Transition is started, the OSWorkflowManager disables the indexation for the current thread, and cause that the IndexManager pushes all issue indexation in a queue.
At the end of transaction, the OSWorkflowManager releases the indexation, and the IndexManager iterates on this queue (for the current Thread).
The Bug is that this queue is implemented with a HashSet<Issue>, and if we implement an Auto Transition, the same issue is added 2 times in the queue, but with 2 different MutableIssue. And since the HashSet is based on a HashMap, the different version of the Issue are systematically indexed in the update order. Result : The indexation can be inconsistent against values stored in database.
The Queue should be based on a LinkedHashSet or better, the last version of the issue should be the only indexed.