
|
If you were logged in you would be able to see more operations.
|
|
|
| Resolution Date: |
21/Jul/09 10:22 PM
|
|
After having profiled memory, it seems we have a memory leak in SessionRegistry.
A little test (attached) does a search N times for N threads, and for each search, a OutstandingRequest is attached to the session. After a few thousands of search we fall in OOM. I've put some trace in those methods :
SessionRegistry.addOutstandingRequest
and
SessionRegistry.removeOutstandingRequest
Session Released
addOutstandingRequest 2
addOutstandingRequest 3
addOutstandingRequest 4
... ( 100 requests)
addOutstandingRequest 99
addOutstandingRequest 100
addOutstandingRequest 101
remove session
The SessionRegistry.removeOutstandingRequest is never called, except if an exception is raised (NamingException).
It may be on purpose ( persistent search), but we can't assume the server will be able to hold as many OutstandingRequest as we have search requests - or entries -.
|
|
Description
|
After having profiled memory, it seems we have a memory leak in SessionRegistry.
A little test (attached) does a search N times for N threads, and for each search, a OutstandingRequest is attached to the session. After a few thousands of search we fall in OOM. I've put some trace in those methods :
SessionRegistry.addOutstandingRequest
and
SessionRegistry.removeOutstandingRequest
Session Released
addOutstandingRequest 2
addOutstandingRequest 3
addOutstandingRequest 4
... ( 100 requests)
addOutstandingRequest 99
addOutstandingRequest 100
addOutstandingRequest 101
remove session
The SessionRegistry.removeOutstandingRequest is never called, except if an exception is raised (NamingException).
It may be on purpose ( persistent search), but we can't assume the server will be able to hold as many OutstandingRequest as we have search requests - or entries -.
|
Show » |
|