[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-1512) Problem to lock a row in a DB2 database with LockMode UPGRADE
Steve Ebersole (JIRA)
noreply at atlassian.com
Fri Apr 20 18:39:49 EDT 2012
[ https://hibernate.onjira.com/browse/HHH-1512?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46366#comment-46366 ]
Steve Ebersole commented on HHH-1512:
-------------------------------------
Strong, but what happens with rs? My guess is that:
T1 : "select * from ck where id=3 with rr use and keep update locks"
would acquire and hold U lock on the ck.id=3 row
T2 : "select * from ck where id=3 with rr use and keep update locks"
would block, waiting on T1, since T1 already has a U lock on the ck.id=3 row
Also, if I understand correctly both (using rr or rs):
T3 : "select * from ck where id=3"
would acquire a read lock because U locks do not prevent concurrent read lock acquisition
If yes, then that is exactly the behavior we want here for UPGRADE lock requests.
> Problem to lock a row in a DB2 database with LockMode UPGRADE
> -------------------------------------------------------------
>
> Key: HHH-1512
> URL: https://hibernate.onjira.com/browse/HHH-1512
> Project: Hibernate ORM
> Issue Type: Bug
> Components: core
> Affects Versions: 3.1
> Environment: DB2 v8.2, Hibernate 3.1 and higher
> Reporter: Peter Potthoff
> Assignee: Steve Ebersole
> Attachments: locks.txt
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> Using the LockMode UPGRADE to lock a row in the database, this will result in
> a sql-statement: select ID from <schema>.<table> where ID =? and version =? for read only with rs
> This statement produces a shared lock and cannot be used for pessimistic locking because
> this kind of lock won't stop a concurrent thread from accessing the data.
> The source of the class DB2Dialect.java was changed from release 1.34 to 1.35:
> http://cvs.sourceforge.net/viewcvs.py/hibernate/Hibernate3/src/org/hibernate/dialect/DB2Dialect.java?r1=1.34&r2=1.35
> and from 1.33 to 1.34
> http://cvs.sourceforge.net/viewcvs.py/hibernate/Hibernate3/src/org/hibernate/dialect/DB2Dialect.java?r1=1.33&r2=1.34
> Please take a look at: HHH-378 and http://forum.hibernate.org/viewtopic.php?t=954639&highlight=db2+lock+upgrade
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list