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();
         }


Reply via email to