This is an automated email from the ASF dual-hosted git repository. reschke pushed a commit to branch OAK-12113 in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit 3123ba4354a41ac000f5abf95485d52aa9d16e09 Author: Julian Reschke <[email protected]> AuthorDate: Fri Feb 27 15:35:24 2026 +0100 OAK-12113: MongoDocumentStore: BsonException should be wrapped as DocumentStoreException --- .../jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java | 2 +- .../oak/plugins/document/mongo/MongoDBExceptionTest.java | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java index 756edc8ce0..a55fb064f7 100644 --- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java +++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java @@ -1675,7 +1675,7 @@ public class MongoDocumentStore implements DocumentStore { updateOps.size(), bsonException.getMessage(), idOfbiggestUpdate, estimatedSizeOfBiggestUpdate, bsonException); // rethrow - throw bsonException; + throw new DocumentStoreException(bsonException); } for (BulkWriteUpsert upsert : bulkResult.getUpserts()) { diff --git a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDBExceptionTest.java b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDBExceptionTest.java index d6e7cb264e..74e2152fb1 100644 --- a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDBExceptionTest.java +++ b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDBExceptionTest.java @@ -201,8 +201,11 @@ public class MongoDBExceptionTest { try { store.createOrUpdate(Collection.NODES, updateOps); fail("createOrUpdate(many with one >16MB) should have failed"); - } catch (BSONException expected) { - // currently expected but incorrect -> OAK-12113 + } catch (DocumentStoreException expected) { + assertTrue("DocumentStoreException should wrap BSONException, but got: "+ + expected.getCause(), + expected.getCause() instanceof BSONException); + List<String> messages = log.getLogs(); assertEquals("only 1 message expected, but got: " + messages.size(), 1, messages.size());
