LP#1415898 Fix Potential Cstore Starvation in the OPAC
authorJason Stephenson <jason@sigio.com>
Thu, 29 Jan 2015 13:02:03 +0000 (08:02 -0500)
committerBill Erickson <berickxx@gmail.com>
Thu, 29 Jan 2015 15:16:13 +0000 (10:16 -0500)
When a user views their current circulations and/or renews them via
the OPAC, a connection is made to a cstore drone so that the user's
circulations can be retrieved from the database, bypassing the cache.
This connection is not closed, and thus a cstore drone is left unable
to respond to new requests for several seconds.  On a busy server,
this has actually caused the number of cstore drones to hit the limit
configured in opensrf.xml.  If that situation continues for too long,
it leads to the load on the server spiking to the point where services
must be restarted.

This commit changes from xact_rollback to rollback so that the connection
will be closed.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm

index c2e6450..4a2b5dc 100644 (file)
@@ -1247,7 +1247,7 @@ sub fetch_user_circs {
                 undef  # pre-cat copy, use the dummy title/author instead
         });
     }
-    $e->xact_rollback;
+    $e->rollback;
 
     # make sure the final list is in the correct order
     my @sorted_circs;