WebSphere and locking issues

From SybaseWiki
Revision as of 16:12, 17 March 2006 by Psap (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Using WebSphere on a Sybase ASE database can cause some issues with regard to locking in ASE. The default transaction isolation level for ASE is 1 (read committed). The default behaviour of WebSphere is to use isolation level 2 (repeatable read). This means that rows that are read will be kept locked until the transaction has finished. In turn, this will can lead to quite high change of sessions locking each other or the need to raise to ASE configuration parameter "number of locks" to a very high number (1 million is not uncommon). To resolve this the WebSphere developers need to override the isolation level.

Note: to see what isolation level a running spid is using do this:

dbcc traceon(3604)
go
dbcc pss(0,<spid>)
go

Look in the output for value after "pisolation" (somewhere halfway in the output).