IIRC the ByteBuffersDirectoryFactory is what new code should be using:
https://issues.apache.org/jira/browse/SOLR-12861

On Tue, Nov 26, 2024 at 4:13 PM Péter Király <kirun...@gmail.com> wrote:

> Dear all,
>
> I am developing an application that intensively use Apache Solr, that
> among others makes library catalogue records searchable. In order to
> test indexing features of the application I wrote some junit test that
> utilied EmbeddedSolr server. The intention is that these tests create
> im memory indexes (using core.RAMDirectoryFactory). Recently every
> Solr update modified some part of the API methods these tests call,
> but so far I was able to solve the problems. Right now I run into an
> error message I am not able to solve, and I looking for suggestion.
>
> The solrconfig.xml is the following:
>
> <?xml version="1.0" encoding="UTF-8" ?>
> <config>
>   <luceneMatchVersion>9.11</luceneMatchVersion>
>   <indexConfig>
>     <useCompoundFile>${useCompoundFile:false}</useCompoundFile>
>     <lockType>${solr.lock.type:single}</lockType>
>   </indexConfig>
>   <dataDir>${solr.data.dir:data}</dataDir>
>   <directoryFactory class="org.apache.solr.core.RAMDirectoryFactory" />
>   <schemaFactory class="ClassicIndexSchemaFactory"/>
>
>   <updateHandler class="solr.DirectUpdateHandler2">
>     <updateLog>
>       <str name="dir">${solr.data.dir:}</str>
>     </updateLog>
>   </updateHandler>
>
>   <requestDispatcher>
>     <requestParsers enableRemoteStreaming="false"
> multipartUploadLimitInKB="-1" />
>   </requestDispatcher>
>
>   <requestHandler name="/select" class="solr.SearchHandler"/>
>
>   <initParams path="/select">
>     <lst name="defaults">
>       <str name="df">name</str>
>     </lst>
>   </initParams>
> </config>
>
> The error message I got:
> org.apache.solr.common.SolrException: Unable to create core [<core name>]
> ...
> caused by org.apache.solr.common.SolrException: RAMDirectory can only
> be used with the 'single' lock factory type.
>
> The same happens if I use
>
> <directoryFactory class="org.apache.solr.core.RAMDirectoryFactory">
>   <str name="lockType">single</str>
> </directoryFactory>
>
> or
>
> <directoryFactory class="org.apache.solr.core.RAMDirectoryFactory">
>   <str name="rawLockType">single</str>
> </directoryFactory>
>
> Do you have any suggestion, or do you have similar use case that I can
> check?
>
> Thanks a lot in advance,
> Péter
>
> --
> Péter Király
> software developer
> GWDG, Göttingen - Europeana - eXtensible Catalog - The Code4Lib Journal
> http://linkedin.com/in/peterkiraly
>


-- 
http://www.needhamsoftware.com (work)
https://a.co/d/b2sZLD9 (my fantasy fiction book)

Reply via email to