Hello All, We have upgraded to solr from 6.6 to 7.6 and seeing null pointer exception with DocExpirationUpdateProcessorFactory. Didn't see this issue in 6.6 version of solr. Not sure if any changes made to the updateRequestProcessorChain in 7.6 version, can anyone please help?
2019-02-14 03:21:58.417 INFO (autoExpireDocs-29-thread-1) [ ] o.a.s.u.p.IgnoreCommitOptimizeUpdateProcessorFactory commit from client application ignored with status code: 200 2019-02-14 03:21:58.417 DEBUG (autoExpireDocs-29-thread-1) [ ] o.a.s.u.p.LogUpdateProcessorFactory PRE_UPDATE FINISH LocalSolrQueryRequest{} 2019-02-14 03:21:58.417 DEBUG (autoExpireDocs-29-thread-1) [ ] o.a.s.c.s.i.ConcurrentUpdateSolrClient STATS pollInteruppts=1 pollExists=1 blockLoops=3 emptyQueueLoops=1 2019-02-14 03:21:58.417 DEBUG (autoExpireDocs-29-thread-1) [ ] o.a.s.c.s.i.ConcurrentUpdateSolrClient STATS pollInteruppts=1 pollExists=1 blockLoops=5 emptyQueueLoops=0 2019-02-14 03:21:58.417 DEBUG (autoExpireDocs-29-thread-1) [ ] o.a.s.c.s.i.ConcurrentUpdateSolrClient STATS pollInteruppts=1 pollExists=1 blockLoops=2 emptyQueueLoops=0 2019-02-14 03:21:58.417 DEBUG (autoExpireDocs-29-thread-1) [ ] o.a.s.c.s.i.ConcurrentUpdateSolrClient STATS pollInteruppts=1 pollExists=1 blockLoops=1 emptyQueueLoops=0 2019-02-14 03:21:58.417 DEBUG (autoExpireDocs-29-thread-1) [ ] o.a.s.c.s.i.ConcurrentUpdateSolrClient STATS pollInteruppts=1 pollExists=1 blockLoops=1 emptyQueueLoops=0 2019-02-14 03:21:58.417 ERROR (autoExpireDocs-29-thread-1) [ ] o.a.s.u.p.DocExpirationUpdateProcessorFactory Runtime error in periodic deletion of expired docs: null java.lang.NullPointerException: null at org.apache.solr.update.processor.DistributedUpdateProcessor.handleReplicationFactor(DistributedUpdateProcessor.java:952) ~[solr-core-7.6.0.jar:7.6.0 719cde97f84640faa1e3525690d262946571245f - nknize - 2018-12-07 14:47:52] at org.apache.solr.update.processor.DistributedUpdateProcessor.doFinish(DistributedUpdateProcessor.java:920) ~[solr-core-7.6.0.jar:7.6.0 719cde97f84640faa1e3525690d262946571245f - nknize - 2018-12-07 14:47:52] at org.apache.solr.update.processor.DistributedUpdateProcessor.finish(DistributedUpdateProcessor.java:1967) ~[solr-core-7.6.0.jar:7.6.0 719cde97f84640faa1e3525690d262946571245f - nknize - 2018-12-07 14:47:52] at org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.finish(LogUpdateProcessorFactory.java:182) ~[solr-core-7.6.0.jar:7.6.0 719cde97f84640faa1e3525690d262946571245f - nknize - 2018-12-07 14:47:52] at org.apache.solr.update.processor.UpdateRequestProcessor.finish(UpdateRequestProcessor.java:80) ~[solr-core-7.6.0.jar:7.6.0 719cde97f84640faa1e3525690d262946571245f - nknize - 2018-12-07 14:47:52] at org.apache.solr.update.processor.DocExpirationUpdateProcessorFactory$DeleteExpiredDocsRunnable.run(DocExpirationUpdateProcessorFactory.java:419) [solr-core-7.6.0.jar:7.6.0 719cde97f84640faa1e3525690d262946571245f - nknize - 2018-12-07 14:47:52] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_121] at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_121] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_121] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_121] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_121] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_121] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121] We have below defined in solrconfig <updateRequestProcessorChain name="auto_expire"> <processor class="solr.processor.DocExpirationUpdateProcessorFactory"> <null name="ttlFieldName"/> <null name="ttlParamName"/> <int name="autoDeletePeriodSeconds">300</int> <str name="expirationFieldName">expire_at</str> </processor> </updateRequestProcessorChain> Below in schema.xml <field name="expire_at" type="date" indexed="true" stored="true" /> Thanks,