[
https://issues.apache.org/jira/browse/SOLR-3627?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eugene Viktorovich updated SOLR-3627:
-------------------------------------
Description:
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.
was:
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>
<!--
<int name="rows">10</int>
<str name="fl">*</str>
<str name="version">2.1</str>
-->
<!-- omp = Only More Popular -->
<str name="spellcheck.onlyMorePopular">true</str>
<!-- exr = Extended Results -->
<str name="spellcheck.extendedResults">false</str>
<str name="spellcheck.collate">true</str>
<str name="spellcheck.collateExtendedResults">true</str>
<!-- The maximum number of collations from Solr response. -->
<str name="spellcheck.maxCollations">3</str>
<!-- The maximum number of collation possibilities to try
before giving up. -->
<str name="spellcheck.maxCollationTries">6</str>
<!-- Parameter manages number of suggested words. For example:
Query string: prunter.
Suggested words: printer, prinder, ... (number of suggested
words <= spellcheck.count) -->
<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.
> 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
> Environment: Windows 7
> Tomcat 6.0.26
> Solr 3.1
> Java options: -XX:PermSize=128m -XX:MaxPermSize=128m -Xms1024m -Xmx1024m
> Reporter: Eugene Viktorovich
> Priority: Critical
> Fix For: 3.1, 3.6.1
>
> Attachments: params.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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]