IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jun 10, 2009, 10:53:56 AM (17 years ago)
Author:
jhoblitt
Message:

be more liberal about when to retry a transaction

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Nebulous-Server/lib/Nebulous/Server.pm

    r24365 r24366  
    3434use constant NFS_RETRIES    => 100;
    3535
     36# transaction restart/retry regex
     37my $trans_regex = qr/Deadlock Found|Lock wait timeout exceeded|try restarting transaction/i;
     38
    3639sub new
    3740{
     
    311314            $db->rollback;
    312315            $log->debug("rollback");
    313             if ($@ =~ /Deadlock found/) {
    314                 $log->warn("database deadlock retrying transaction: $@");
     316            if ($@ =~ $trans_regex) {
     317                $log->warn("database error, retrying transaction: $@");
    315318                redo TRANS;
    316319            }
     
    436439            $db->rollback;
    437440            $log->debug("rollback");
    438             if ($@ =~ /Deadlock found/) {
    439                 $log->warn("database deadlock retrying transaction: $@");
     441            if ($@ =~ $trans_regex) {
     442                $log->warn("database error, retrying transaction: $@");
    440443                redo TRANS;
    441444            }
     
    513516            $db->rollback;
    514517            $log->debug("rollback");
    515             if ($@ =~ /Deadlock found/) {
    516                 $log->warn("database deadlock retrying transaction: $@");
     518            if ($@ =~ $trans_regex) {
     519                $log->warn("database error, retrying transaction: $@");
    517520                redo TRANS;
    518521            }
     
    627630            $db->rollback;
    628631            $log->debug("rollback");
    629             if ($@ =~ /Deadlock found/) {
    630                 $log->warn("database deadlock retrying transaction: $@");
     632            if ($@ =~ $trans_regex) {
     633                $log->warn("database error, retrying transaction: $@");
    631634                redo TRANS;
    632635            }
     
    782785            }
    783786            $log->debug("rollback");
    784             if ($@ =~ /Deadlock found/) {
    785                 $log->warn("database deadlock retrying transaction: $@");
     787            if ($@ =~ $trans_regex) {
     788                $log->warn("database error, retrying transaction: $@");
    786789                redo TRANS;
    787790            }
     
    909912            $db->rollback;
    910913            $log->debug("rollback");
    911             if ($@ =~ /Deadlock found/) {
    912                 $log->warn("database deadlock retrying transaction: $@");
     914            if ($@ =~ $trans_regex) {
     915                $log->warn("database error, retrying transaction: $@");
    913916                redo TRANS;
    914917            }
     
    10261029            $db->rollback;
    10271030            $log->debug("rollback");
    1028             if ($@ =~ /Deadlock found/) {
    1029                 $log->warn("database deadlock retrying transaction: $@");
     1031            if ($@ =~ $trans_regex) {
     1032                $log->warn("database error, retrying transaction: $@");
    10301033                redo TRANS;
    10311034            }
     
    11171120            $db->rollback;
    11181121            $log->debug("rollback");
    1119             if ($@ =~ /Deadlock found/) {
    1120                 $log->warn("database deadlock retrying transaction: $@");
     1122            if ($@ =~ $trans_regex) {
     1123                $log->warn("database error, retrying transaction: $@");
    11211124                redo TRANS;
    11221125            }
     
    13021305            $db->rollback;
    13031306            $log->debug("rollback");
    1304             if ($@ =~ /Deadlock found/) {
    1305                 $log->warn("database deadlock retrying transaction: $@");
     1307            if ($@ =~ $trans_regex) {
     1308                $log->warn("database error, retrying transaction: $@");
    13061309                redo TRANS;
    13071310            }
     
    16171620            $db->rollback;
    16181621            $log->debug("rollback");
    1619             if ($@ =~ /Deadlock found/) {
    1620                 $log->warn("database deadlock retrying transaction: $@");
     1622            if ($@ =~ $trans_regex) {
     1623                $log->warn("database error, retrying transaction: $@");
    16211624                redo TRANS;
    16221625            }
Note: See TracChangeset for help on using the changeset viewer.