New method - Store.free(int) would increase performance and lower memory 
consumption
------------------------------------------------------------------------------------

                 Key: COCOON-2292
                 URL: https://issues.apache.org/jira/browse/COCOON-2292
             Project: Cocoon
          Issue Type: Improvement
          Components: * Cocoon Core
            Reporter: Krzysztof Kowalczyk


Store.free() method is invoked in loop by StoreJanitor, this usually lead to 
slow execution of cache freeing. For example, EHDefaultStore has a free method 
implemented as: 
...
final List keys = this.cache.getKeysNoDuplicateCheck();
if (!keys.isEmpty()) {
final Serializable key = (Serializable) keys.get(0);
...

Where method getKeysNoDuplicateCheck() takes quite some time (and memory) and 
is dependent on the size of memory and disk stores. Because free() is run in 
loop this method is invoked each time! If free(int) method would exists, then 
each store could implement it in an optimal way.

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

Reply via email to