Avoid xact rollback on un-connected CStoreEditor session collab/berick/cstore-editor-rollback-protect
authorBill Erickson <berick@esilibrary.com>
Tue, 4 Dec 2012 14:46:54 +0000 (09:46 -0500)
committerBill Erickson <berick@esilibrary.com>
Tue, 4 Dec 2012 14:48:10 +0000 (09:48 -0500)
Helps to reduce "No transaction to rollback" errors in the error logs.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/src/perlmods/lib/OpenILS/Utils/CStoreEditor.pm

index 23559e0..a9ba65c 100644 (file)
@@ -287,7 +287,11 @@ sub xact_commit {
 # -----------------------------------------------------------------------------
 sub xact_rollback {
        my $self = shift;
-    return unless $self->{session} and $self->{xact_id};
+    return unless $self->{xact_id};
+    unless ($self->{session} and $self->{session}->connected) {
+        $self->log(I, "avoiding rollback attempt on un-connected session");
+        return;
+    }
        $self->log(I, "rolling back db session");
        my $stat = $self->request($self->app.".transaction.rollback");
        $self->log(E, "error rolling back database transaction") unless $stat;