This is a bug.  Thank you for reporting it.  I opened this ticket: 
https://issues.apache.org/jira/browse/SOLR-4361
Until there is a fix, here are two workarounds:

1. If you do not need any 4.1 DIH functionality, use the 4.0 DIH jar with your 
4.1 Solr.
-or-
2. Use request parameters without dots:  ex. "solrBceDSDriver" instead of 
"solr.bceDS.driver".

James Dyer
E-Commerce Systems
Ingram Content Group
(615) 213-4311


-----Original Message-----
From: Boris Granveaud [mailto:bo...@granveaud.com] 
Sent: Friday, January 25, 2013 3:38 AM
To: solr-user@lucene.apache.org
Subject: Error in DIH after upgrading from 4.0 to 4.1

Hello,

I've just tried to upgrade from 4.0 to 4.1 and I have the following
exception when reindexing my data:

Caused by: java.lang.UnsupportedOperationException
 at java.util.Collections$UnmodifiableMap.put(Collections.java:1283)
at
org.apache.solr.handler.dataimport.VariableResolver.currentLevelMap(VariableResolver.java:204)
 at
org.apache.solr.handler.dataimport.VariableResolver.resolve(VariableResolver.java:94)
at
org.apache.solr.handler.dataimport.VariableResolver.replaceTokens(VariableResolver.java:144)
 at
org.apache.solr.handler.dataimport.ContextImpl.replaceTokens(ContextImpl.java:254)
at
org.apache.solr.handler.dataimport.JdbcDataSource.resolveVariables(JdbcDataSource.java:203)
 at
org.apache.solr.handler.dataimport.JdbcDataSource.createConnectionFactory(JdbcDataSource.java:101)
at
org.apache.solr.handler.dataimport.JdbcDataSource.init(JdbcDataSource.java:62)
 at
org.apache.solr.handler.dataimport.DataImporter.getDataSourceInstance(DataImporter.java:394)

It seems to be related to the use of placeholders in data-config.xml:

<dataConfig>
    <dataSource type="JdbcDataSource"
                name="bceDS"
                driver="${dataimporter.request.solr.bceDS.driver}"
                url="${dataimporter.request.solr.bceDS.url}"
                user="${dataimporter.request.solr.bceDS.user}"
                password="${dataimporter.request.solr.bceDS.password}"
                batchSize="-1"/>

solrconfig.xml:

<requestHandler name="/dataimport"
class="org.apache.solr.handler.dataimport.DataImportHandler">
 <lst name="defaults">
<str name="config">data-config.xml</str>

<!-- dataSource parameters for data-config.xml -->
<str name="solr.bceDS.driver">...</str>
 <str name="solr.bceDS.url">...</str>
<str name="solr.bceDS.user">...</str>
 <str name="solr.bceDS.password">...</str>
</lst>
</requestHandler>

Did I miss something or is it a bug?

Thanks,
Boris.

Reply via email to