You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Marcel Reutegger (JIRA)" <ji...@apache.org> on 2013/08/06 10:20:48 UTC

[jira] [Commented] (OAK-926) MongoMK: split documents when they are too large

    [ https://issues.apache.org/jira/browse/OAK-926?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13730505#comment-13730505 ] 

Marcel Reutegger commented on OAK-926:
--------------------------------------

I think this may break the repository. In the simple case where an update is done on a single node and the commit root is on that node as well, the temporary solution should work well. You just loose changes of the node older than five minutes. But consider a commit over multiple nodes where the commit root node is not explicity modified. E.g. the root node often acts as the commit root even if it is not modified. Truncating these commit revisions after five minutes will make those changes disappear. Or am I misunderstanding your temporary solution?
                
> MongoMK: split documents when they are too large
> ------------------------------------------------
>
>                 Key: OAK-926
>                 URL: https://issues.apache.org/jira/browse/OAK-926
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: mongomk
>            Reporter: Thomas Mueller
>
> Currently, the MongoMK stores all revisions of a node in the same document. Once there are many revisions, the document gets very large.
> The plan is to split the document when it gets big.
> It looks like this isn't just a "nice to have", but also a problem for some use cases. Example stack trace:
> {code}
> 21.07.2013 12:35:47.554 *ERROR* ...
> Caused by: java.lang.IllegalArgumentException: 'ok' should never be null...
> 	at com.mongodb.CommandResult.ok(CommandResult.java:48)
> 	at com.mongodb.DBCollection.findAndModify(DBCollection.java:375)
> 	at org.apache.jackrabbit.oak.plugins.mongomk.MongoDocumentStore.findAndModify(MongoDocumentStore.java:302)
> 	... 32 more
> {code}
> at the same time in the MongoDB log:
> {code}
> Sun Jul 21 12:35:47.334 [conn7] warning: log line attempted (159k) over max size(10k), 
> printing beginning and end ... 
> Assertion: 10334:BSONObj size: 16795219 (0x53460001) is invalid. 
> Size must be between 0 and 16793600(16MB) 
> First element: :childOrder: { r1400279f22d-0-1: "[]", ...
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira