[
https://issues.jboss.org/browse/ISPN-686?page=com.atlassian.jira.plugin.s...
]
Thomas Fromm edited comment on ISPN-686 at 8/30/12 7:53 AM:
------------------------------------------------------------
The mentioned sultion with "select ... for update" in a transaction makes in
this case no sense, because this would only affect of the entry exists. So the risk with
"SQLIntegrityConstraintViolationExceptions." still exists with this generic
solution. Luckily I did not run anymore in this exception under load ;-) So seems to be
better now...
was (Author: tfromm):
The mentioned sultion with "select ... for update" in a transaction makes in
this case no sense, because this would only affect of the entry exists. So the risk with
"SQLIntegrityConstraintViolationExceptions." still exists with this generic
solution. Luckily I did not run anymore in this exception under load ;-)
JdbcStringBasedCacheStore loads previous data from store before an
insert
-------------------------------------------------------------------------
Key: ISPN-686
URL:
https://issues.jboss.org/browse/ISPN-686
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores
Affects Versions: 4.0.0.Final, 4.1.0.Final
Reporter: Sanne Grinovero
Assignee: Thomas Fromm
Fix For: 5.2.0.Final
The JdbcStringBasedCacheStore implementation loads the previous data on an insert to find
out if it should generate an UPDATE or INSERT statement, while it would perform much
better to just verify if the primary key exists.
On top of this, some databases provide ways to avoid the need to check at all, like
MySQL's " INSERT ... ON DUPLICATE KEY UPDATE"
[
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira