(sorry for the mistake of my side which made this unterminated message
to be sent, let me redo)

Hello,

I am trying to upgrade from Solr 8.11.2 to 9.6.0, my collections are
relying on docValuesFormat="Direct" for some of their attributes, and
if I leave them "as is", then I get the following error in Solr Server's logs:

2024-03-11 11:43:47.120 ERROR (commitScheduler-84-thread-1)
[c:rts-metricslist-def-v2 s:shard1 r:core_node2
x:rts-metricslist-def-v2_shard1_replica_n1 t:] o.a.s.u.CommitTracker
auto commit error... => org.apache.solr.common.SolrException: Error
opening new searcher
at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:2467)
org.apache.solr.common.SolrException: Error opening new searcher
at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:2467) ~[?:?]
at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:2600) ~[?:?]
at 
org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:775)
~[?:?]
at org.apache.solr.update.CommitTracker.run(CommitTracker.java:279) ~[?:?]
at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
~[?:?]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
~[?:?]
at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
~[?:?]
at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
~[?:?]
at java.base/java.lang.Thread.run(Thread.java:857) [?:?]
Caused by: java.lang.IllegalArgumentException: An SPI class of type
org.apache.lucene.codecs.DocValuesFormat with name 'Direct' does not
exist.  You need to add the corresponding JAR file supporting this SPI
to your classpath.  The current classpath supports the following
names: [Lucene70, Lucene80, Lucene90]
at org.apache.lucene.util.NamedSPILoader.lookup(NamedSPILoader.java:113) ~[?:?]
at org.apache.lucene.codecs.DocValuesFormat.forName(DocValuesFormat.java:106)
~[?:?]
at 
org.apache.solr.core.SchemaCodecFactory$1.getDocValuesFormatForField(SchemaCodecFactory.java:119)
~[?:?]
at 
org.apache.lucene.codecs.lucene95.Lucene95Codec$2.getDocValuesFormatForField(Lucene95Codec.java:92)
~[?:?]
at 
org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat$FieldsWriter.getInstance(PerFieldDocValuesFormat.java:187)
~[?:?]
at 
org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat$FieldsWriter.getInstance(PerFieldDocValuesFormat.java:162)
~[?:?]
at 
org.apache.lucene.codecs.perfield.PerFieldDocValuesFormat$FieldsWriter.addSortedField(PerFieldDocValuesFormat.java:116)
~[?:?]
at 
org.apache.lucene.index.SortedDocValuesWriter.flush(SortedDocValuesWriter.java:151)
~[?:?]
at org.apache.lucene.index.IndexingChain.writeDocValues(IndexingChain.java:401)
~[?:?]
at org.apache.lucene.index.IndexingChain.flush(IndexingChain.java:259) ~[?:?]
at 
org.apache.lucene.index.DocumentsWriterPerThread.flush(DocumentsWriterPerThread.java:392)
~[?:?]
at org.apache.lucene.index.DocumentsWriter.doFlush(DocumentsWriter.java:492)
~[?:?]
at 
org.apache.lucene.index.DocumentsWriter.flushAllThreads(DocumentsWriter.java:671)
~[?:?]
at org.apache.lucene.index.IndexWriter.getReader(IndexWriter.java:570) ~[?:?]
at 
org.apache.lucene.index.StandardDirectoryReader.doOpenFromWriter(StandardDirectoryReader.java:381)
~[?:?]
at 
org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:366)
~[?:?]
at 
org.apache.lucene.index.DirectoryReader.openIfChanged(DirectoryReader.java:246)
~[?:?]
at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:2346) ~[?:?]
... 9 more

But I have not found any clear indication in Solr's documentation
about how to add the missing JAR ; and I wasn't able to find which
would be this JAR.

Is there anybody using docValuesFormat="Direct" with Solr 9 ?

Note: I tried removing this attribute from my collections's
definition, but performance (especially on update) are quite bad vs
what I had with Solr 8.11.2 with this attribute. I also tried running
my collections with Solr 9.6.0 while setting luceneMatchVersion to
8.11.2 and removing this attribute, the performance issue is a bit
less concerning but still updates max time can be very slow vs. what I
had with actual 8.11.2 with  docValuesFormat="Direct".

I would like to measure the performances of my application with Solr
9.6.0 and with  docValuesFormat="Direct" for same attributes as I had
in my collections as when I was running with 8.11.2, but I need help
to idenfity the missing JAR that will allow using this "Direct"
docValuesFormat... anyone having a clue ?

Thanks,
Alex

Le sam. 11 mai 2024 à 15:32, Alex The Rocker <alex.m3...@gmail.com> a écrit :
>
> Hello,
>
> I am trying to upgrade from Solr 8.11.2 to 9.6.0, my collections are
> relying on docValuesFormat="Direct" for some of their attributes, and
> if I leave them "as is", then I get

Reply via email to