Author: kwright
Date: Mon Dec 10 07:43:32 2012
New Revision: 1419249
URL: http://svn.apache.org/viewvc?rev=1419249&view=rev
Log:
Fix for CONNECTORS-583.
Modified:
manifoldcf/trunk/CHANGES.txt
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceMySQL.java
Modified: manifoldcf/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/manifoldcf/trunk/CHANGES.txt?rev=1419249&r1=1419248&r2=1419249&view=diff
==============================================================================
--- manifoldcf/trunk/CHANGES.txt (original)
+++ manifoldcf/trunk/CHANGES.txt Mon Dec 10 07:43:32 2012
@@ -3,6 +3,9 @@ $Id$
======================= 1.1-dev =====================
+CONNECTORS-583: Catch MySQL lock timeout, and retry that transaction.
+(Shigeki Kobayashi, Karl Wright)
+
CONNECTORS-581: Port OpenSearchServer connector and ElasticSearch
connector to httpcomponents.
(Karl Wright)
Modified:
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceMySQL.java
URL:
http://svn.apache.org/viewvc/manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceMySQL.java?rev=1419249&r1=1419248&r2=1419249&view=diff
==============================================================================
---
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceMySQL.java
(original)
+++
manifoldcf/trunk/framework/core/src/main/java/org/apache/manifoldcf/core/database/DBInterfaceMySQL.java
Mon Dec 10 07:43:32 2012
@@ -118,6 +118,12 @@ public class DBInterfaceMySQL extends Da
//new Exception(message).printStackTrace();
return new
ManifoldCFException(message,e,ManifoldCFException.DATABASE_TRANSACTION_ABORT);
}
+ // Lock timeout
+ if (sqlState != null && sqlState.equals("41000"))
+ {
+ //new Exception(message).printStackTrace();
+ return new
ManifoldCFException(message,e,ManifoldCFException.DATABASE_TRANSACTION_ABORT);
+ }
// Note well: We also have to treat 'duplicate key' as a transaction
abort, since this is what you get when two threads attempt to
// insert the same row. (Everything only works, then, as long as there is
a unique constraint corresponding to every bad insert that
// one could make.)