We have a big deadlock-problem,

Kernel 7.4.3 Build 017-123-039-277       
Runtime Environment : X64/SUN 7.4.3 Build 017-123-039-277  

A java-program fills our sapdb with data running on localhost every 5
minutes. This is done in one transaction. The required time normally varies
from 20 seconds to some minutes.
So we stored about 6 Gigabytes in a few tables, all belonging to the same
database user account.

To read this stuff we are using a java-servlet with jdbc on tomcat on a
remote computer. This program uses only select, no insert or update . 
When using the query-program in the timespan while the data-feed program is
inserting data, then the deadlock occures. 
Closing the webinterface has no effect, tomcat still holds the connections.
Stopping the application in tomcat causes tomcat to release connections
after 20 minutes. So the concurrent tasks should be finished, but after
closed connections the feed-program is still waiting  further 10 minutes
before finishing with some (ca 1000) insert-statements.

Table LOCKSTATISTICS shows "?" for REQMODE and ROWIDHEX

KNLDIAGERR has no entry since last startup

KNLDIAG shows a few warnings like this:
2003-10-14 17:23:23 128 WNG 11824 COMMUNIC Releasing T120 command timeout

A truss on the sapdb-kernel while deadlock repeats endless:
########################################################################## 
14295:  lwp_sema_wait(0xFFFFFFFF7E125158) (sleeping...)
14295:      Received signal #14, SIGALRM, in lwp_sema_wait() [caught]
14295:  lwp_sema_wait(0xFFFFFFFF7E125158)               Err#91 ERESTART
14295:  sigprocmask(SIG_SETMASK, 0xFFFFFFFF7D00BCC0, 0x00000000) = 0
14295:  lwp_sema_post(0x100A53288)                      = 0
14295:  lwp_sema_wait(0x100A53288)                      = 0
14295:  sigprocmask(SIG_SETMASK, 0xFFFFFFFF7E133EF8, 0x00000000) = 0
14295:  lwp_mutex_lock(0xFFFFFFFF7E12D0D0)              = 0
14295:  setcontext(0xFFFFFFFF7D00B2A0)
14295:  waitid(P_PID, 14297, 0xFFFFFFFF7FFFF110, WEXITED|WTRAPPED|WNOHANG) =
0
14295:  sigprocmask(SIG_BLOCK, 0xFFFFFFFF7E125148, 0x00000000) = 0
14295:  lwp_sema_post(0xFFFFFFFF7E125158)               = 0
14295:  setitimer(ITIMER_REAL, 0xFFFFFFFF7D00BA30, 0x00000000) = 0
14295:  sigprocmask(SIG_UNBLOCK, 0xFFFFFFFF7E125148, 0x00000000) = 0
14295:  lwp_sema_wait(0xFFFFFFFF7E125158)               = 0
14295:  sigprocmask(SIG_BLOCK, 0xFFFFFFFF7E125148, 0x00000000) = 0
14295:  setitimer(ITIMER_REAL, 0xFFFFFFFF7D00BA30, 0x00000000) = 0
14295:  sigprocmask(SIG_UNBLOCK, 0xFFFFFFFF7E125148, 0x00000000) = 0
14295:  lwp_sema_wait(0x100A53288)      (sleeping...)
14295:  signotifywait()                 (sleeping...)
14295:  door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
14295:  lwp_cond_wait(0xFFFFFFFF7E12D0C0, 0xFFFFFFFF7E12D0D0,
0xFFFFFFFF7E123CB0
) (sleeping...)
14295:  lwp_sema_wait(0xFFFFFFFF7E125158) (sleeping...)
14295:      Received signal #14, SIGALRM, in lwp_sema_wait() [caught]
...
########################################################################## 

Thank you very much in advance for your help!

Best regards
Klaus

Reply via email to