[Koha-bugs] [Bug 26457] DB DeadLock when renewing checkout items

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Fri Dec 4 12:24:30 CET 2020


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26457

--- Comment #16 from Nick Clemens <nick at bywatersolutions.com> ---
(In reply to David Cook from comment #15)
> It would be good to have more data from real life examples.

>From the access logs, there are three requests with the same timestamp:
somesite.bywatersolutions.com:80 IP.IP.IP.IP - - [30/Nov/2020:16:02:14 -0700]
"POST /cgi-bin/koha/svc/renew HTTP/1.1" 200 349
"https://staff.somesite.bywatersolutions.com/cgi-bin/koha/circ/circulation.pl?borrowernumber=250710"
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/86.0.4240.198 Safari/537.36"
somesite.bywatersolutions.com:80 IP.IP.IP.IP - - [30/Nov/2020:16:02:14 -0700]
"POST /cgi-bin/koha/svc/renew HTTP/1.1" 200 350
"https://staff.somesite.bywatersolutions.com/cgi-bin/koha/circ/circulation.pl?borrowernumber=250710"
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/86.0.4240.198 Safari/537.36"
somesite.bywatersolutions.com:80 IP.IP.IP.IP - - [30/Nov/2020:16:02:14 -0700]
"POST /cgi-bin/koha/svc/renew HTTP/1.1" 200 349
"https://staff.somesite.bywatersolutions.com/cgi-bin/koha/circ/circulation.pl?borrowernumber=250710"
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/86.0.4240.198 Safari/537.36"

In the plack log:
DBD::mysql::st execute failed: Deadlock found when trying to get lock; try
restarting transaction [for Statement "UPDATE issues SET date_due = ?, renewals
= ?, lastreneweddate = ?
                                WHERE borrowernumber=?
                                AND itemnumber=?" with ParamValues:
0='2020-12-30 23:59', 1=1, 2=DateTime=HASH(0x5561e7d4fb08), 3="borrowernumber",
4="itemnumber"] at /usr/share/koha/lib/C4/Circulation.pm line 2964.

In the action_logs:
*************************** 15. row ***************************
action_id: 10050103
timestamp: 2020-11-30 16:02:14
     user: staff_borrowernumber
   module: CIRCULATION
   action: RENEWAL
   object: borrowernumber
     info: itemnumber
interface: intranet

Statistics:
*************************** 19. row ***************************
      datetime: 2020-11-30 16:02:14
        branch: BRANCH
         value: 0.0000
          type: renew
         other: 
    itemnumber: itemnumber
      itemtype: BOOK
      location: ADULT
borrowernumber: borrowernumber
         ccode: FICTION

Issues table:
*************************** 1. row ***************************
       Table: issues
Create Table: CREATE TABLE `issues` (
  `issue_id` int(11) NOT NULL AUTO_INCREMENT,
  `borrowernumber` int(11) NOT NULL,
  `itemnumber` int(11) NOT NULL,
  `date_due` datetime DEFAULT NULL,
  `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `returndate` datetime DEFAULT NULL,
  `lastreneweddate` datetime DEFAULT NULL,
  `renewals` tinyint(4) NOT NULL DEFAULT '0',
  `auto_renew` tinyint(1) DEFAULT '0',
  `auto_renew_error` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP,
  `issuedate` datetime DEFAULT NULL,
  `onsite_checkout` int(1) NOT NULL DEFAULT '0',
  `note` longtext COLLATE utf8mb4_unicode_ci,
  `notedate` datetime DEFAULT NULL,
  `noteseen` int(1) DEFAULT NULL,
  PRIMARY KEY (`issue_id`),
  KEY `issuesborridx` (`borrowernumber`),
  KEY `bordate` (`borrowernumber`,`timestamp`),
  KEY `itemnumber_idx` (`itemnumber`),
  KEY `branchcode_idx` (`branchcode`),
  CONSTRAINT `issues_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES
`borrowers` (`borrowernumber`) ON UPDATE CASCADE,
  CONSTRAINT `issues_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items`
(`itemnumber`) ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=increment DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_unicode_ci

Server version: 10.1.47-MariaDB-0+deb9u1 Debian 9.13
Koha 19.1108000

-- 
You are receiving this mail because:
You are watching all bug changes.
You are the assignee for the bug.


More information about the Koha-bugs mailing list