Details
-
Bug
-
Status: Closed
-
Normal
-
Resolution: Fixed
-
None
-
None
-
None
Description
For the gogreen, when hitting many free text searches at the same time, it sometimes happen that you get:
$ grep NoAvailableSessionException hippo-site.log 19.03.2012 14:29:21 WARN [org.hippoecm.hst.core.container.HstComponentInvokerImpl.invokeBeforeRender():151] Component exception caught on window content with component com.onehippo.gogreen.components.search.SearchComponent: org.hippoecm.hst.core.jcr.pool.NoAvailableSessionException: No session is available now. Probably the session pool was exhasuted. at org.hippoecm.hst.core.jcr.pool.BasicPoolingRepository.login(BasicPoolingRepository.java:319)
It can be triggered and reproduced much easier, even with the testsuite, when using the following hst-config.properties :
disposable.repository.maxActive = 500
disposable.repository.timeBetweenEvictionRunsMillis = 100
disposable.repository.numTestsPerEvictionRun = 1
disposable.repository.minEvictableIdleTimeMillis =100
disposable.repository.maxRefreshIntervalOnPassivate = 100
disposable.global.repository.timeBetweenEvictionRunsMillis = 100
I've on purpose set maxActive to 500 : This did not avoid the problem at all.
I think it might be caused by 'clearing up' the entire disposable pool at the same time that there is some request arriving that needs a session from that pool. However, I need some more HST debugging to fix the problem.
Apart from the 'no results' for one request and a WARNING log, it automatically recovers during the next request.
Attachments
Issue Links
- relates to
-
HSTTWO-2114 Better default for disposable.global.repository.timeBetweenEvictionRunsMillis to avoid the very rare NoAvailableSessionException
- Closed