OAK-8583: getNodeByIdentifier may fail with RuntimeException

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1866041 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/SessionImpl.java b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/SessionImpl.java
index ad629e1..b13a04f 100644
--- a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/SessionImpl.java
+++ b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/session/SessionImpl.java
@@ -320,11 +320,15 @@
             @NotNull
             @Override
             public Node perform() throws RepositoryException {
-                NodeDelegate nd = sd.getNodeByIdentifier(id);
-                if (nd == null) {
-                    throw new ItemNotFoundException("Node with id " + id + " does not exist.");
+                try {
+                    NodeDelegate nd = sd.getNodeByIdentifier(id);
+                    if (nd == null) {
+                        throw new ItemNotFoundException("Node with id " + id + " does not exist.");
+                    }
+                    return NodeImpl.createNode(nd, sessionContext);
+                } catch (IllegalArgumentException ex) {
+                    throw new RepositoryException(ex);
                 }
-                return NodeImpl.createNode(nd, sessionContext);
             }
         });
     }
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
index 275b845..3cefe0c 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
@@ -387,7 +387,6 @@
         }
     }
 
-    @Ignore
     @Test
     public void getNodeByEmptyIdentifier() throws RepositoryException {
         try {