You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Jan Høydahl (JIRA)" <ji...@apache.org> on 2019/04/15 11:40:00 UTC

[jira] [Resolved] (SOLR-3627) Memory leak when using spellchecker with long function query (fq)

     [ https://issues.apache.org/jira/browse/SOLR-3627?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jan Høydahl resolved SOLR-3627.
-------------------------------
    Resolution: Cannot Reproduce

Closing old issue. Please re-open if this is still a problem 

> Memory leak when using spellchecker with long function query (fq)
> -----------------------------------------------------------------
>
>                 Key: SOLR-3627
>                 URL: https://issues.apache.org/jira/browse/SOLR-3627
>             Project: Solr
>          Issue Type: Bug
>          Components: search, spellchecker
>    Affects Versions: 3.1, 3.6, 4.0-ALPHA
>         Environment: Windows 7 x64
> Tomcat 6.0.26
> Solr 3.1
> Java options: -XX:PermSize=128m -XX:MaxPermSize=128m -Xms1024m -Xmx1024m
>            Reporter: Eugene Viktorovich
>            Priority: Critical
>              Labels: memory_leak, performance
>         Attachments: SOLR-3627.patch, javaVisualVM-screen.png, jmeter-screen.png, jprofiler_analysis.zip, params.txt, solr-perfomance-test(2.5.1).jmx, solrconfig.xml, test-query.txt
>
>
> If spellcheck=true and request to Solr contains too long 'fq', memory is not cleaned, i.e. garbage collector can't clean memory. Fill rate of memory depends on the length of the fq.
> Example request:
> {code:xml}
> rows=10
> version=2.2
> spellcheck=true
> q=+((shortDesc_en:(hghg)))
> fq=(+contractIds:("contractId1" "contractId2" ... "contractId20000") AND +catalogIds:("catalogId1" "catalogId2" ... "catalogId20000"))
> {code}
> solrconfig.xml:
> {code:xml}
> ...
> <requestHandler name="standard" class="solr.SearchHandler" default="true">
> 	<!-- default values for query parameters -->
> 	<lst name="defaults">
> 		<str name="echoParams">explicit</str>
> 		<str name="spellcheck.onlyMorePopular">true</str>
> 		
> 		<str name="spellcheck.extendedResults">false</str>
> 		<str name="spellcheck.collate">true</str>
> 		<str name="spellcheck.collateExtendedResults">true</str>
> 		
> 		<str name="spellcheck.maxCollations">3</str>
> 		
> 		<str name="spellcheck.maxCollationTries">6</str>
> 		
> 		<str name="spellcheck.count">3</str>
> 	</lst>
> 	<arr name="last-components">
> 	        <str>spellcheck</str>
> 	</arr>
> </requestHandler>
> ...
> {code}
> h6. If spellcheck.collate=false, issue is not reproduced.
> Preliminary research gave following result:
> When contractIds=~20000 and catalogIds=~20000, fill rate of memory is about 60 request.
> When contractIds=~10000 and catalogIds=~10000, fill rate of memory is about 90 request.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org