BucketBasedCacheStore - insertBucket and updateBucket should be combined
------------------------------------------------------------------------
Key: ISPN-322
URL:
https://jira.jboss.org/jira/browse/ISPN-322
Project: Infinispan
Issue Type: Task
Components: Loaders and Stores
Affects Versions: 4.0.0.GA
Reporter: Manik Surtani
Assignee: Mircea Markus
Fix For: 4.1.0.BETA1, 4.1.0.GA
insertBucket and updateBucket in BucketBasedCacheStore should be combined into 1 method
(storeBucket?). Javadocs should be updated accordingly, to reflect that the bucket is
persisted, and if it doesn't already exist, it will be created anew.
2 impls of this (FileCacheStore and CloudCacheStore) already delegate updateBucket()
--> insertBucket(). The only impl that treats these 2 calls differently is the
JdbcBinaryCacheStore. But this is incorrect since JdbcBinaryCacheStore.insertBucket()
throws an exception if the row already exists. And this can happen if, for example, the
cache store is in async mode. Or if it is shared.
So the JdbcBinaryCacheStore would first have to be fixed, to use SQL such as
"INSERT... OR UPDATE", e.g.:
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 contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira