Summary: | StoreBase.processExpires() is very inefficient | ||
---|---|---|---|
Product: | Tomcat 9 | Reporter: | Tom Anderson <tom> |
Component: | Catalina | Assignee: | Tomcat Developers Mailing List <dev> |
Status: | RESOLVED FIXED | ||
Severity: | enhancement | CC: | grant-genereux |
Priority: | P2 | ||
Version: | 9.0.0.M1 | ||
Target Milestone: | ----- | ||
Hardware: | All | ||
OS: | All | ||
Attachments: |
JDBCStore example
JDBCStore.processExpires() |
Description
Tom Anderson
2005-04-06 04:12:25 UTC
Created attachment 14627 [details]
JDBCStore example
This is just one way of doing it. In any case I'd be happy with any
alternative that achieves the same goal.
Created attachment 14654 [details]
JDBCStore.processExpires()
Here's a better idea. Instead of loading in any sessions at all, why not
override processExpires() to simply remove the old sessions. This
accomplishes exactly the same thing without all of the loading and deleting of
sessions. This is a huge performance (and memory usage) improvment.
Changing the severity to enhancement and updating the version. I have only skimmed the patches but the first one looks plausible. The approach of the second bypasses the listener notification and therefore would not work. Closing this as WONTFIX given how much time has passed with no activity, votes, or comments on the issue. If the original poster still cares enough to submit a patch that does not bypass the listener, he can reopen this issue and attach said patch at that time. *** Bug 47281 has been marked as a duplicate of this bug. *** Re-opening for fixing in a latter version. A variation of this patch was applied to 9.0.x for 9.0.0.M3 onwards. |