Currently there are a few multi-stage processes in JIRA where someone can modify the underlying issue whilst the process is still being completed (workflow migration, bulk move, bulk edit).
We need a way of implementing optimistic concurrency in JIRA. Perhaps a revision id on the issue table that gets incremented with each change?