You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by "Minerva (Jira)" <ji...@apache.org> on 2023/03/14 16:09:00 UTC

[jira] [Created] (SOLR-16700) NullPointerException during the deletion of the last document using external field

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: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org