I'm trying to use the new propertyWriter configuration directive for
DataImportHandler (
https://wiki.apache.org/solr/DataImportHandler#Configuring_The_Property_Writer).
I'd like to tell Solr to write the dataimport.properties to the data
directory for the corresponding Core on our multicore server.

I'm passing in the filesystem location for Solr's data directory via
Tomcat's catalina.properties file. Each core writes its data to:

 <dataDir>${solr.data.dir}/${solr.core.name}</dataDir>


Is there any way to reference these properties from within the
DataImportHandler data-config.xml ? This doesn't seem to work:

<dataConfig>

    <propertyWriter

        filename="dataimport.properties"

        directory="${solr.data.dir}/${solr.core.name}"

        dateFormat="yyyy-MM-dd HH:mm:ss"

        type="SimplePropertiesWriter" />


I get the following exception; I have a feeling it's not able to resolve
the variables.


[ERROR] 32:48 (SolrException.java:log:120)

Full Import
failed:org.apache.solr.handler.dataimport.DataImportHandlerException:
Properties is not writable. Delta imports are supported by data config but
will not work. Processing Document # 1

at
org.apache.solr.handler.dataimport.DataImporter.checkWritablePersistFile(DataImporter.java:430)

at
org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:410)

at
org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:483)

at
org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:464)


Any hints on some way to accomplish this without hard-coding the paths in
data-config.xml ?


-B

Reply via email to