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 "Jukka Zitting (JIRA)" <ji...@apache.org> on 2013/02/21 12:58:12 UTC

[jira] [Commented] (OAK-632) SegmentMK: Efficient updates of flat nodes

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

Jukka Zitting commented on OAK-632:
-----------------------------------

First draft committed in revision 1448610.

With this change Thomas' test case from OAK-643 behaves like this when run on top of a MongoDB-based SegmentMK:

{noformat}
100 nodes in 635 ms
200 nodes in 909 ms
400 nodes in 1699 ms
800 nodes in 3252 ms
1600 nodes in 6240 ms
3200 nodes in 13681 ms
6400 nodes in 32580 ms
12800 nodes in 83208 ms
25600 nodes in 263776 ms
51200 nodes in 681742 ms
{noformat}

The result of this test case that produces about 100k nodes in over 1k revisions is some 8k segments totaling about  120MB of data. Both the resulting size and the time it takes to run the test still seem excessive.
                
> SegmentMK: Efficient updates of flat nodes
> ------------------------------------------
>
>                 Key: OAK-632
>                 URL: https://issues.apache.org/jira/browse/OAK-632
>             Project: Jackrabbit Oak
>          Issue Type: Sub-task
>          Components: segmentmk
>            Reporter: Jukka Zitting
>            Priority: Minor
>
> The SegmentMK already uses the Hash Array Mapped Trie (HAMT) data structure for the child node entries of a node. This persistent data structure allows child node entries to be added, modified or changed in O(log n) added bytes of storage. However, we so far only have the code to write a new HAMT data structure from scratch, not the code to selectively update just parts of it. To properly support large, flat content we need to implement also the latter part.

--
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