
|
If you were logged in you would be able to see more operations.
|
|
|
|
Environment:
|
Classic server
|
|
|
Deadlock description: Process A inserts records into a table. It keeps LCK_read lock on LCK_backup_database and can fetch other pages since NBackupState use recursive locks. So process A calls FETCH_LOCK for a page (for example PP) and waits it if a process B already uses this page. On the other hand process B can have called FETCH_LOCK and must read the page from disk. To do this it must request LCK_backup_database with LCK_read level for status receiving. In this case process B have to wait if third process N already request LCK_backup_database with LCK_write level.
|
|
Description
|
Deadlock description: Process A inserts records into a table. It keeps LCK_read lock on LCK_backup_database and can fetch other pages since NBackupState use recursive locks. So process A calls FETCH_LOCK for a page (for example PP) and waits it if a process B already uses this page. On the other hand process B can have called FETCH_LOCK and must read the page from disk. To do this it must request LCK_backup_database with LCK_read level for status receiving. In this case process B have to wait if third process N already request LCK_backup_database with LCK_write level. |
Show » |
|