| 
 | 
  Dave Smith - 2016-02-29 18:04:32  
Refer the this request... 
phpclasses.org/recommend/605-Trying ...
 
I down voted a recommendation. Since it took a long time to post, I figured I may have missed the submit button and pressed it again.
 
It appears that the comment posted once but the down votes is showing as 2.
 
Dave  
  
  Manuel Lemos - 2016-02-29 19:16:00 -  In reply to message 1 from Dave Smith 
There are two down votes, one from you, so it shows -2. 
  
  Dave Smith - 2016-02-29 20:10:36 -  In reply to message 2 from Manuel Lemos 
Now that you have down voted, I am seeing -3, before that it was -2 with just my one vote. 
 
I am also seeing both clicks in my reputation points, however I only received credit for the one (as it should have been). 
 
If you want to set up a test recommendation, I should be able to prove it with multiple clicks. 
 
Dave 
  
  Manuel Lemos - 2016-02-29 20:21:44 -  In reply to message 3 from Dave Smith 
Yes, I just found the records in the database. There are two votes from you with 11 seconds of difference. This shouldn't happen 
 
I suspect this may be caused by the transaction isolation level that is not appropriate. 
 
I need to investigate further and will get back on this later when I figure the problem and the solution. Thanks for reporting for now.  
  
  Dave Smith - 2016-02-29 21:06:13 -  In reply to message 4 from Manuel Lemos 
Okay 
 
When you do get a solution in place, let me know. The author of the one bad recommendation, recommended his package to another request for ajax and I can test it there, since I will be down voting again. 
 
Dave 
  
  Manuel Lemos - 2016-03-02 00:40:54 -  In reply to message 5 from Dave Smith 
Well for now I removed the duplicated vote records and added a unique index, so even if race conditions occur, the database will not allow duplicated vote records and an error occur. 
 
The ideal solution would be to use the right transaction isolation level. I will add that later so the error never occurs. 
 
Anyway, if you attempt to submit duplicated votes, it will either tell you already voted or will ignore it if there was an error. 
  
   |