Index: oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentSerializer.java =================================================================== --- oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentSerializer.java (revision 1844639) +++ oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentSerializer.java (working copy) @@ -232,6 +232,9 @@ } json.read(JsopReader.END); + // OAK-7855: check and fix _sdType + checkSdType(doc); + return doc; } catch (Exception ex) { String message = String.format("Error processing persisted data for document '%s'", row.getId()); @@ -321,6 +324,17 @@ } } + private static void checkSdType(Document doc) { + Object sdType = doc.get(NodeDocument.SD_TYPE); + if (sdType instanceof Long) { + long value = (long) sdType; + if (value == 0) { + doc.remove(NodeDocument.SD_TYPE); + LOG.debug("Incorrect _sdType 0 in {}", doc.getId()); + } + } + } + // low level operations private static byte[] GZIPSIG = { 31, -117 };