Minerva created SOLR-16700:
------------------------------
Summary: NullPointerException during the deletion of the last
document using external field
Key: SOLR-16700
URL: https://issues.apache.org/jira/browse/SOLR-16700
Project: Solr
Issue Type: Bug
Security Level: Public (Default Security Level. Issues are Public)
Affects Versions: 8.11
Reporter: Minerva
I noticed a NullPointerException in solr.log file when I delete all the
documents from the solr index.
I downloaded a new version of solr 8.11. Extracted the file and configured a
schema so that it had only 3 fields: id, merchant and an external field related
to the merchant field, named "external_merchant_rating". I added some documents
to a test core and then removed them one by one. When I removed the last one, I
got a NullPointerException.
{code:java}
2023-02-10 12:34:40.524 ERROR (searcherExecutor-80-thread-1-processing-x:xx) [
x:xx] o.a.s.c.SolrCore null => java.lang.NullPointerException at
org.apache.solr.search.function.FileFloatSource.getFloats(FileFloatSource.java:295)
java.lang.NullPointerException: null at
org.apache.solr.search.function.FileFloatSource.getFloats(FileFloatSource.java:295)
~[?:?] at
org.apache.solr.search.function.FileFloatSource.access$000(FileFloatSource.java:62)
~[?:?] at
org.apache.solr.search.function.FileFloatSource$2.createValue(FileFloatSource.java:164)
~[?:?] at
org.apache.solr.search.function.FileFloatSource$Cache.refresh(FileFloatSource.java:177)
~[?:?] at
org.apache.solr.search.function.FileFloatSource.refreshCache(FileFloatSource.java:151)
~[?:?] at
org.apache.solr.schema.ExternalFileFieldReloader.newSearcher(ExternalFileFieldReloader.java:76)
~[?:?] at
org.apache.solr.core.SolrCore.lambda$getSearcher$17(SolrCore.java:2416) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] at
org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:218)
~[?:?] at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
~[?:?] at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
~[?:?] at java.lang.Thread.run(Thread.java:829) [?:?]{code}
As follow are my configuration files.
managed-schema.xml
{code:java}
...
<fieldType name="merchantEntryRankFile" keyField="merchant" defVal="0.1"
stored="false" indexed="false"
class="solr.ExternalFileField"/>
<field name="merchant" type="string" indexed="true" stored="true"
required="false"/>
<field name="merchant_rating" type="merchantEntryRankFile"/>
...
{code}
solrconfig.xml
{code:java}
...
<listener event="newSearcher"
class="org.apache.solr.schema.ExternalFileFieldReloader"/>
<listener event="firstSearcher"
class="org.apache.solr.schema.ExternalFileFieldReloader"/>
...
{code}
I observed that if I remove the two listeners from the solrconfig.xml file the
NullPointerException does not happen cleaning the core/removing documents one
by one.
The configuration of the two listeners is the one suggested from the Solr
official documentation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]