GitHub user stain opened a pull request:

    https://github.com/apache/jena/pull/44

    JENA-901 Upper bound on LPDRuleEngine cache

    Fixes JENA-901.
    
    A better solution might be to use guava caches - but I didn't want to add 
another dependency, so this fix can go into a patch release.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/stain/jena JENA-901-LPDRuleEngine-bound-cache

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/jena/pull/44.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #44
    
----
commit 50511efc0e3cdeaee95ee7254483b1ea9c1f9fea
Author: Stian Soiland-Reyes <[email protected]>
Date:   2015-03-19T02:52:08Z

    JENA-901
    
    A simple BoundedMap - based on LinkedHashMap

commit 06abde7d170bdc76ac3f9a7ef4159bb625028cfe
Author: Stian Soiland-Reyes <[email protected]>
Date:   2015-03-19T02:52:30Z

    JENA-901 Use BoundedMap for tabledGoals cache
    
    configurable with system property
    jena.rulesys.lp.max_cached_tabled_goals

commit 0b2e72b7d604940c5b084f026c437484856e929a
Author: Stian Soiland-Reyes <[email protected]>
Date:   2015-03-19T02:55:06Z

    JENA-901 Test saturation of tabledGoals

commit 83d7e8cfdd50f3de849731bf56cadf1d1daec15c
Author: Stian Soiland-Reyes <[email protected]>
Date:   2015-03-19T03:53:02Z

    measure size of engine

commit 938db892729d7f1849c0a6f71b27ebd4d1be3ff9
Author: Stian Soiland-Reyes <[email protected]>
Date:   2015-03-19T04:16:02Z

    more reset.. still uses lots of memory

commit 3d01fffa0d9ab6ee34b7f0e8ac540a53f3bf22c3
Author: Stian Soiland-Reyes <[email protected]>
Date:   2015-03-20T16:23:36Z

    JENA-901 use a LinkedList instead of ArrayList
    
    for activeInterpreters. They could be closed in arbitrary order,
    and also this avoids a large ArrayList remaining after a big burst
    of concurrent queries.
    
    Simplify test. Check activeInterpreters is empty - this didn't
    happen as I had forgotten to call it.hasNext() (which any use of
    an iterator would normally do).
    
    Test now with MAX=1024 and 128M find() calls.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to