To whom it may concern,

I'm currently researching using Oak in conjunction with Mongo for a scalable 
content repository. I've done a proof of concept without any issues but now 
that I'm running some tests I keep coming upon a problem. Below is exception I 
keep getting. This happens when the number of files is over 100k.


Exception in thread "main" 
org.apache.jackrabbit.oak.plugins.document.DocumentStoreException
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentStoreException.convert(DocumentStoreException.java:48)
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentStoreException.convert(DocumentStoreException.java:41)
        at 
org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentStore.findAndModify(MongoDocumentStore.java:633)
        at 
org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentStore.createOrUpdate(MongoDocumentStore.java:645)
        at 
org.apache.jackrabbit.oak.plugins.document.Commit.createOrUpdateNode(Commit.java:419)
        at 
org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStore(Commit.java:323)
        at 
org.apache.jackrabbit.oak.plugins.document.Commit.prepare(Commit.java:205)
        at 
org.apache.jackrabbit.oak.plugins.document.Commit.apply(Commit.java:171)
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.persist(DocumentNodeStoreBranch.java:308)
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.persist(DocumentNodeStoreBranch.java:278)
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.access$200(DocumentNodeStoreBranch.java:51)
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch$Persisted.persistTransientHead(DocumentNodeStoreBranch.java:653)
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch$Persisted.access$000(DocumentNodeStoreBranch.java:543)
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch$BranchState.persist(DocumentNodeStoreBranch.java:370)
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch$InMemory.setRoot(DocumentNodeStoreBranch.java:494)
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.setRoot(DocumentNodeStoreBranch.java:161)
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentRootBuilder.purge(DocumentRootBuilder.java:200)
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentRootBuilder.updated(DocumentRootBuilder.java:100)
        at 
org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.updated(MemoryNodeBuilder.java:214)
        at 
org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.setProperty(MemoryNodeBuilder.java:501)
        at 
org.apache.jackrabbit.oak.core.SecureNodeBuilder.setProperty(SecureNodeBuilder.java:258)
        at 
org.apache.jackrabbit.oak.plugins.tree.impl.AbstractMutableTree.updateChildOrder(AbstractMutableTree.java:110)
        at 
org.apache.jackrabbit.oak.plugins.tree.impl.AbstractMutableTree.setOrderableChildren(AbstractMutableTree.java:94)
        at 
org.apache.jackrabbit.oak.core.MutableTree.setOrderableChildren(MutableTree.java:210)
        at org.apache.jackrabbit.oak.util.TreeUtil.addChild(TreeUtil.java:207)
        at 
org.apache.jackrabbit.oak.jcr.delegate.NodeDelegate.addChild(NodeDelegate.java:692)
        at 
org.apache.jackrabbit.oak.jcr.session.NodeImpl$5.perform(NodeImpl.java:287)
        at 
org.apache.jackrabbit.oak.jcr.session.NodeImpl$5.perform(NodeImpl.java:254)
        at 
org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:237)
        at 
org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:113)
        at 
org.apache.jackrabbit.oak.jcr.session.NodeImpl.addNode(NodeImpl.java:254)
        at 
org.apache.jackrabbit.oak.jcr.session.NodeImpl.addNode(NodeImpl.java:239)
        at OakTest.addNode(OakTest.java:252)
        at OakTest.createTree(OakTest.java:299)
        at OakTest.main(OakTest.java:454)
Caused by: com.mongodb.CommandFailureException: { "serverUsed" : 
"127.0.0.1:27017" , "value" : { "_id" : "1:/SHIP" , ":childOrder" : { 
"r14c382dbec5-0-1" : 
"[\"nam:SHIP20180\",\"nam:SHIP20181\",\"nam:SHIP20182\",\"nam:SHIP20183\",\"nam:SHIP20184\",\"nam:SHIP20185\",\"nam:SHIP20186\",\"nam:SHIP20187\",\"nam:SHIP20188\",\"nam:SHIP20189\",\"nam:SHIP201810\",\"nam:SHIP201811\",\"nam:SHIP201812\",\"nam:SHIP201813\",\"nam:SHIP201814\",\"nam:SHIP201815\",\"nam:SHIP201816\",\"nam:SHIP201817\",\"nam:SHIP201818\",\"nam:SHIP201819\",\"nam:SHIP201820\",\"nam:SHIP201821\",\"nam:SHIP201822\",\"nam:SHIP201823\",\"nam:SHIP201824\",\"nam:SHIP201825\",\"nam:SHIP201826\",\"nam:SHIP201827\",\"nam:SHIP201828\",\"nam:SHIP201829\",\"nam:SHIP201830\",\"nam:SHIP201831\",\"nam:SHIP201832\",\"nam:SHIP201833\",\"nam:SHIP201834\",\"nam:SHIP201835\",\"nam:SHIP201836\",\"nam:SHIP201837\",\"nam:SHIP201838\",\"nam:SHIP201839\",\"nam:SHIP201840\",\"nam:SHIP201841\",\"nam:SHIP201842\",\"nam:SHIP201843\",\"nam:SHIP201844\",\"nam:SHIP201845\",\"nam:SHIP201846\",\"nam:SHIP201847\",\"nam:SHIP201848\",\"nam:SHIP201849\",\"nam:SHIP201850\",\"nam:SHIP201851\",\"nam:SHIP201852\",\"nam:SHIP201853\",\"nam:SHIP201854\",\"nam:SHIP201855\",\.
     
...........................................................................................................
.....................................................................................................................................

, "_modified" : 1427123335 , "_commitRoot" : { "r14c382dbec5-0-1" : "0" , 
"r14c382dc37c-0-1" : "0" , "r14c382dee74-0-2" : "0" , "r14c382df715-0-2" : "0" 
, "r14c3830655e-0-3" : "0" , "r14c3830a0cb-0-3" : "0" , "r14c3831e429-0-4" : 
"0" , "r14c383236f0-0-4" : "0" , "r14c383756f7-0-2" : "0" , "r14c38379f38-0-2" 
: "0" , "r14c3837aee3-0-5" : "0" , "r14c38380de4-0-5" : "0" , 
"r14c383a3c83-0-1" : "0" , "r14c383a97b1-0-1" : "0" , "r14c383c878d-0-3" : "0" 
, "r14c383d1951-0-3" : "0" , "r14c3846ae8b-0-2" : "0" , "r14c384745e9-0-2" : 
"0" , "r14c38479c39-0-4" : "0" , "r14c38489f3e-0-4" : "0" , "r14c3848b460-0-5" 
: "0" , "r14c38497f5f-0-5" : "0" , "r14c384f7f88-0-6" : "0" , 
"r14c3850ce10-0-6" : "0" , "r14c38544a70-0-4" : "0" , "r14c3854f4d1-0-4" : "0" 
, "r14c385959e0-0-1" : "0" , "r14c385a428a-0-1" : "0" , "r14c3869970f-0-3" : 
"0" , "r14c386a4a11-0-3" : "0" , "r14c466d3069-0-1" : "0" , "r14c466d46f5-0-1" 
: "0" , "r14c46702c86-0-2" : "0" , "r14c46704e48-0-2" : "0" , 
"r14c467137d4-0-3" : "0" , "r14c46716768-0-3" : "0" , "r14c4672e42c-0-4" : "0" 
, "r14c467332e3-0-4" : "0" , "r14c4677550d-0-5" : "0" , "r14c4677cea4-0-5" : 
"0" , "r14c468787a1-0-6" : "0" , "r14c46884aaf-0-6" : "0" , "r14c46ee618a-0-1" 
: "0" , "r14c46ef52e2-0-1" : "0"} , "_children" : true , "_deleted" : { 
"r14c382dbec5-0-1" : "false"} , "jcr:primaryType" : { "r14c382dbec5-0-1" : 
"\"nam:nt:unstructured\""} , "_modCount" : 11938 , "_lastRev" : { "r0-0-1" : 
"r14c472dfe47-0-1" , "r0-0-2" : "r14c46f7b050-0-2" , "r0-0-3" : 
"r14c46f8f74d-0-3" , "r0-0-4" : "r14c470245d9-0-4" , "r0-0-5" : 
"r14c470ab777-0-5" , "r0-0-6" : "r14c4713f3a6-2-6"}} , "errmsg" : "exception: 
Resulting document after update is larger than 16777216" , "code" : 17419 , 
"ok" : 0.0}
        at com.mongodb.CommandResult.getException(CommandResult.java:76)
        at com.mongodb.CommandResult.throwOnError(CommandResult.java:131)
        at com.mongodb.DBCollection.findAndModify(DBCollection.java:462)
        at com.mongodb.DBCollection.findAndModify(DBCollection.java:402)
        at 
org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentStore.findAndModify(MongoDocumentStore.java:620)
        ... 32 more




Any help in this matter would be appreciated.

Thank you,
Ryan Chesnut





Reply via email to