title: Two threads, same version number but no StaleObject Exception
body: <p>I have a scenario where two actions updates a Domain object. Sometimes based on the timing, both the actions gets called at the same time(almost) and the domain object they fetch contains the same version number. Now one of the action will update the domain object first and when the other action updates it there should be an error as the action first updating the object must increment the version number so it should throw staleObjectException. But in my case the object is successfully updated with no exception being thrown. Just curious to know why ?</p>
  
  <p>Following is the scenario reproduced(sometimes based on the click timing)</p>
  
  <pre><code>    // Gets called at a regular interval via ajax call
  
      updateTime(){
      DomainA obj = DomainA.get(id)
      println obj.version // prints 5
      obj.setSomeProperty(value)
      obj.save(failOnError:true)
      }
  
      // Gets called on a click of a button(Normal request)
  
      pause(){
      DomainA obj = DomainA.get(sameid)
      println obj.version // prints 5
      obj.setSomeProperty(value)
      obj.save(failOnError:true)
      }
  </code></pre>