[jbosscache-issues] [JBoss JIRA] Commented: (JBCACHE-1408) Optimistic locking + JDBC cache loader + DataSources
Manik Surtani (JIRA)
jira-events at lists.jboss.org
Mon Sep 22 11:49:25 EDT 2008
[ https://jira.jboss.org/jira/browse/JBCACHE-1408?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12430645#action_12430645 ]
Manik Surtani commented on JBCACHE-1408:
----------------------------------------
This is not as easy a solution as you think, since moving the code to handlePrepareCommand means version info would not have been updated by the OptimisticValidationInterceptor and stale version data would be written. I think the real solution (albeit not as performant as you mentioned) is to ensure any ongoing txs are suspended beforehand and then resumed after the DB write is completed.
> Optimistic locking + JDBC cache loader + DataSources
> ----------------------------------------------------
>
> Key: JBCACHE-1408
> URL: https://jira.jboss.org/jira/browse/JBCACHE-1408
> Project: JBoss Cache
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 2.2.0.GA, 3.0.0.ALPHA1
> Reporter: Mircea Markus
> Assignee: Manik Surtani
> Fix For: 3.0.0.GA, 2.X
>
>
> CacheStoreInterceptor.handleCommitCommand calls CacheStoreInterceptor.storeInternalState.
> In the optimistic scenario, this will try to add the version of the node (internal state) to the previously stored nodes (nodes are being called in handlePrepareCommand).
> The problem is that handleCommitCommand is called in an transaction having the status Status.COMMITTED, and when trying to fetch a Connection, org.jboss.resource.connectionmanager.TxConnectionManager checks for current tx status and throws an exception if running tx is not active.
> Solution: move the code which stores additional info in handlePrepareCommand. This should also bring important performance gains, as for each node a new DB call is made in order to add the version (see CacheStoreInterceptor.storeInternalState).
--
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 jbosscache-issues
mailing list