Skip to Content
avatar image
Former Member

Debugging "Work rolled back,DEADLOCK DETECTED [S1000]"

Hi all;

in our application, we've been struggling for a while with parts of the system "hanging" in the morning, and eventually managed to trace this down to errors like these:

DbException in SQL statement:
  UPDATE DocInfo SET infotext = ?, media = ?, storagetype = ?, family = ?, cached = ?, systemstate = ?, userstate = ?, searchable = ?, randompart = ?, lockcount = ?, creatorid = ?, creationtime = ?, pages = ?, nrreferences = ?, nrlayers = ?, versioncurrent = ?, location = ?, cflocation = ?, baselocation = ?
    WHERE id = ?
Errornumber: 600
Errorstate: DbError
DbException in database 5580-DSN=BFLOW
[Thu Aug 31 07:24:06 2017] DbException: [SAP AG][SQLOD32 DLL][MaxDB] General error;600 POS(1) Work rolled back,DEADLOCK DETECTED [S1000]

The application uses SAP MaxDB 7.8 in a non-SAP environment; access happens through Windows ODBC and JDBC, and there are several systems concurrently accessing the database in roughly 100 open connections (mostly application servers with connection pools).

Question: Is there *any* way to get more information on what *exactly* happens here? So far, we usually end up with *one* piece of the application failing out with DEADLOCK DETECTED. Is there any way to, looking at the database, tell which queries, tables, rows, ... were involved in this deadlock? So far we were trying to dig deep through our applications database access code but this didn't get us anywhere; of course there are several things that *might* cause trouble if they get into each others way, we never managed to actually provoke such a situation on a testing environment.

Any hints, help, ideas ... on how to get this resolved?
Thanks loads in advance and all the best,

Kristian

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

0 Answers