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 "Chetan Mehrotra (JIRA)" <ji...@apache.org> on 2017/06/29 15:54:00 UTC

[jira] [Commented] (OAK-6180) Tune cursor batch/limit size

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

Chetan Mehrotra commented on OAK-6180:
--------------------------------------

+1.  Used same approach to test document traversal  for indexing. Though did not find much difference for that usecase. But I have seen cases where a fetching first few nodes of a large child node parent leads to reading quite a lot more rows from Mongo. So would be useful

> Tune cursor batch/limit size
> ----------------------------
>
>                 Key: OAK-6180
>                 URL: https://issues.apache.org/jira/browse/OAK-6180
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mongomk
>            Reporter: Marcel Reutegger
>            Assignee: Marcel Reutegger
>             Fix For: 1.8
>
>         Attachments: OAK-6180.patch
>
>
> MongoDocumentStore uses the default batch size, which means MongoDB will initially get 100 documents and then as many documents as fit into 4MB. Depending on the document size, the number of documents may be quite high and the risk of running into the 60 seconds query timeout defined by Oak increases.
> Tuning the batch size (or using a limit) may also be helpful in optimizing the amount of data transferred from MongoDB to Oak. The DocumentNodeStore fetches child nodes in batches as well. The logic there is slightly different. The initial batch size is 100 and every subsequent batch doubles in size until it reaches 1600. Bandwidth is wasted if the MongoDB Java driver fetches way more than requested by Oak.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)