[infinispan-issues] [JBoss JIRA] Commented: (ISPN-322) BucketBasedCacheStore - insertBucket and updateBucket should be combined
Manik Surtani (JIRA)
jira-events at lists.jboss.org
Wed Mar 10 06:19:37 EST 2010
[ https://jira.jboss.org/jira/browse/ISPN-322?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12519148#action_12519148 ]
Manik Surtani commented on ISPN-322:
------------------------------------
Combined by making insertBucket() dispatch to updateBucket() in the BucketBasedCacheStore. Updated javadocs to clearly document this behaviour as well, instructing that if updateBucket() implementations cannot lazily create non-existent buckets, then insertBucket() needs to be overridden as well (as in the case of the JdbcBinaryCacheStore). Other implementations can simply ignore insertBucket() and just implement updateBucket().
> 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.Final
> Reporter: Manik Surtani
> Assignee: Mircea Markus
> Fix For: 4.1.0.ALPHA1, 4.1.0.Final
>
>
> 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
More information about the infinispan-issues
mailing list