You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Jukka Zitting (JIRA)" <ji...@apache.org> on 2007/08/08 14:12:59 UTC

[jira] Commented: (JCR-1041) Avoid using BitSets in ChildAxisQuery to minimize memory usage

    [ https://issues.apache.org/jira/browse/JCR-1041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12518422 ] 

Jukka Zitting commented on JCR-1041:
------------------------------------

How about an alternative implementation of using just a TreeSet of Integers instead of BitSets? A sparse set would scale with the number of query results instead of the size of the entire workspace.

> Avoid using BitSets in ChildAxisQuery to minimize memory usage
> --------------------------------------------------------------
>
>                 Key: JCR-1041
>                 URL: https://issues.apache.org/jira/browse/JCR-1041
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: query
>    Affects Versions: 1.3
>            Reporter: Christoph Kiehl
>            Assignee: Christoph Kiehl
>         Attachments: avoid_using_bitsets.patch
>
>
> When doing ChildAxisQueries on large indexes the internal BitSet instance (hits) may consume a lot of memory because the BitSet is always as large as IndexReader.maxDoc(). In our case we had a query consisting of 7 ChildAxisQueries which combined to a total of 14MB. Since we have multiple users executing this query simultaneously this caused an out of memory error.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.