Author: reschke
Date: Wed Apr 20 11:33:40 2016
New Revision: 1740116

URL: http://svn.apache.org/viewvc?rev=1740116&view=rev
Log:
OAK-4250: add test coverage for find() with ultra-long keys, also avoid 
misleading ERROR logging in RDBDocumentStore

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStoreJDBC.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/BasicDocumentStoreTest.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStoreJDBC.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStoreJDBC.java?rev=1740116&r1=1740115&r2=1740116&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStoreJDBC.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStoreJDBC.java
 Wed Apr 20 11:33:40 2016
@@ -604,7 +604,7 @@ public class RDBDocumentStoreJDBC {
                     rows.add(row);
                 }
             } catch (SQLException ex) {
-                LOG.error("attempting to read " + keys, ex);
+                LOG.debug("attempting to read " + keys, ex);
                 // DB2 throws an SQLException for invalid keys; handle this 
more
                 // gracefully
                 if ("22001".equals(ex.getSQLState())) {
@@ -664,7 +664,7 @@ public class RDBDocumentStoreJDBC {
                 return null;
             }
         } catch (SQLException ex) {
-            LOG.error("attempting to read " + id + " (id length is " + 
id.length() + ")", ex);
+            LOG.debug("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())) {

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/BasicDocumentStoreTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/BasicDocumentStoreTest.java?rev=1740116&r1=1740115&r2=1740116&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/BasicDocumentStoreTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/BasicDocumentStoreTest.java
 Wed Apr 20 11:33:40 2016
@@ -268,6 +268,18 @@ public class BasicDocumentStoreTest exte
         testMaxId(false);
     }
 
+    @Test
+    public void testLongId() {
+        String id = "0:/" + generateId(2048, true);
+        assertNull("find() with ultra-long id needs to return 'null'", 
super.ds.find(Collection.NODES, id));
+
+        if (! super.dsname.contains("Memory")) {
+            UpdateOp up = new UpdateOp(id,  true);
+            up.set("_id", id);
+            assertFalse("create() with ultra-long id needs to fail", 
super.ds.create(Collection.NODES, Collections.singletonList(up)));
+        }
+    }
+
     private int testMaxId(boolean ascii) {
         int min = 0;
         int max = 32768;


Reply via email to