Author: reschke
Date: Thu Mar 27 12:46:53 2014
New Revision: 1582280
URL: http://svn.apache.org/r1582280
Log:
OAK-1544 - handle too wide keys more gracefully (see also OAK-1629)
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java?rev=1582280&r1=1582279&r2=1582280&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
Thu Mar 27 12:46:53 2014
@@ -593,6 +593,16 @@ public class RDBDocumentStore implements
} else {
return null;
}
+ } catch (SQLException ex) {
+ LOG.error("attempting to read " + id + " (id length is " +
id.length() + ")", ex);
+ // DB2 throws an SQLException for invalid keys; handle this more
+ // gracefully
+ if ("22001".equals(ex.getSQLState())) {
+ connection.rollback();
+ return null;
+ } else {
+ throw (ex);
+ }
} finally {
stmt.close();
}