Skip to main content

Client session dies, but transaction and lock remains in DB

  • July 26, 2017
  • 0 replies
  • 4 views

Jim_Knicely
Forum|alt.badge.img+2

Hi,

I thought I'd ask if anyone has experienced this odd situation:

  1. A remote client session process executing a long running COPY command is killed by network timeout (or some other issue)
  2. After that remote client session process is killed, on the server side:
  • The session no longer exists in the SESSIONS table
  • But there is an active transaction listed in the TRANSACTIONS table, and an associated “INSERT” lock on the relative table (can be seen in LOCKS table)
  • The session is listed in the USER_SESSIONS table but there is no SESSION_END_TIMESTAMP value
  • The QUERY_REQUESTS table shows that the COPY command is still executing (i.e. IS_EXECUTING = TRUE)
  • The CLOSE_SESSION and CLOSE_ALL_SESSIONS functions do not close the session
  • The INTERRUPT_STATEMENT function does not stop the running statement

The only way we have been able to clear the lock is to restart the initiator node. Otherwise, how do you stop a transaction when there is no longer an associated session?

I can find similar JIRA tickets, but not one where the session that created a hung transaction and lock is no longer in the SESSIONS table...

Thanks!