Index: trunk/Nebulous-Server/lib/Nebulous/Server.pm
===================================================================
--- trunk/Nebulous-Server/lib/Nebulous/Server.pm	(revision 24365)
+++ trunk/Nebulous-Server/lib/Nebulous/Server.pm	(revision 24366)
@@ -34,4 +34,7 @@
 use constant NFS_RETRIES    => 100;
 
+# transaction restart/retry regex
+my $trans_regex = qr/Deadlock Found|Lock wait timeout exceeded|try restarting transaction/i;
+
 sub new
 {
@@ -311,6 +314,6 @@
             $db->rollback;
             $log->debug("rollback");
-            if ($@ =~ /Deadlock found/) {
-                $log->warn("database deadlock retrying transaction: $@");
+            if ($@ =~ $trans_regex) {
+                $log->warn("database error, retrying transaction: $@");
                 redo TRANS;
             }
@@ -436,6 +439,6 @@
             $db->rollback;
             $log->debug("rollback");
-            if ($@ =~ /Deadlock found/) {
-                $log->warn("database deadlock retrying transaction: $@");
+            if ($@ =~ $trans_regex) {
+                $log->warn("database error, retrying transaction: $@");
                 redo TRANS;
             }
@@ -513,6 +516,6 @@
             $db->rollback;
             $log->debug("rollback");
-            if ($@ =~ /Deadlock found/) {
-                $log->warn("database deadlock retrying transaction: $@");
+            if ($@ =~ $trans_regex) {
+                $log->warn("database error, retrying transaction: $@");
                 redo TRANS;
             }
@@ -627,6 +630,6 @@
             $db->rollback;
             $log->debug("rollback");
-            if ($@ =~ /Deadlock found/) {
-                $log->warn("database deadlock retrying transaction: $@");
+            if ($@ =~ $trans_regex) {
+                $log->warn("database error, retrying transaction: $@");
                 redo TRANS;
             }
@@ -782,6 +785,6 @@
             }
             $log->debug("rollback");
-            if ($@ =~ /Deadlock found/) {
-                $log->warn("database deadlock retrying transaction: $@");
+            if ($@ =~ $trans_regex) {
+                $log->warn("database error, retrying transaction: $@");
                 redo TRANS;
             }
@@ -909,6 +912,6 @@
             $db->rollback;
             $log->debug("rollback");
-            if ($@ =~ /Deadlock found/) {
-                $log->warn("database deadlock retrying transaction: $@");
+            if ($@ =~ $trans_regex) {
+                $log->warn("database error, retrying transaction: $@");
                 redo TRANS;
             }
@@ -1026,6 +1029,6 @@
             $db->rollback;
             $log->debug("rollback");
-            if ($@ =~ /Deadlock found/) {
-                $log->warn("database deadlock retrying transaction: $@");
+            if ($@ =~ $trans_regex) {
+                $log->warn("database error, retrying transaction: $@");
                 redo TRANS;
             }
@@ -1117,6 +1120,6 @@
             $db->rollback;
             $log->debug("rollback");
-            if ($@ =~ /Deadlock found/) {
-                $log->warn("database deadlock retrying transaction: $@");
+            if ($@ =~ $trans_regex) {
+                $log->warn("database error, retrying transaction: $@");
                 redo TRANS;
             }
@@ -1302,6 +1305,6 @@
             $db->rollback;
             $log->debug("rollback");
-            if ($@ =~ /Deadlock found/) {
-                $log->warn("database deadlock retrying transaction: $@");
+            if ($@ =~ $trans_regex) {
+                $log->warn("database error, retrying transaction: $@");
                 redo TRANS;
             }
@@ -1617,6 +1620,6 @@
             $db->rollback;
             $log->debug("rollback");
-            if ($@ =~ /Deadlock found/) {
-                $log->warn("database deadlock retrying transaction: $@");
+            if ($@ =~ $trans_regex) {
+                $log->warn("database error, retrying transaction: $@");
                 redo TRANS;
             }
