无法识别Solr数据源请求参数

时间:2019-10-03 20:32:49

标签: solr solrj solrcloud

我正在按照here的指导,使Solr(7.5)数据导入处理程序的用户名/密码具有动态性。

这是我的数据配置:

<dataConfig>
   <dataSource 
    driver="com.mysql.jdbc.Driver" 
    url="jdbc:mysql://mysqlconnectionstring" 
    user="${dataimporter.request.jdbcuser}" 
    password="${dataimporter.request.jdbcpassword}"/> ...

和solrconfig:

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

但是,当我执行dataimport命令(例如http://mysolr.something/solr/dataimport?command=full-import&jdbcuser=foo&jdbcpassword=bar)时,我会收到如下的(部分)响应:

"initArgs": [
"defaults",
[
  "config",
  "data-config.xml",
  "datasource",
  [
    "driver",
    "com.mysql.jdbc.Driver",
    "url",
    "jdbc:mysql://mysqlconnectionstring",
    "user",
    "",
    "password",
    ""
  ]
]

]

如果我查看solr日志,则会看到类似这样的条目:

  

18:56:32.076 [qtp1076770748-18]信息org.apache.solr.handler.dataimport.DataImporter-加载DIH配置:data-config.xml

     

18:56:32.087 [qtp1076770748-18]信息org.apache.solr.handler.dataimport.DataImporter-数据配置成功加载

     

18:56:32.087 [qtp1076770748-18]信息org.apache.solr.handler.dataimport.DataImporter-获取全局数据源的配置...

     

18:56:32.087 [qtp1076770748-18]信息org.apache.solr.handler.dataimport.DataImporter-向数据源添加属性:{password =,driver = com.mysql.jdbc.Driver,user =,url = jdbc:mysql:// mysqlconnectionstring}

我只是不知道我在这里缺少什么,为什么它不从请求中读取用户名/密码并从中填充数据源?

1 个答案:

答案 0 :(得分:0)

事实证明,问题出在我的kubernetes statefulset控制k8s集群:它以某种方式保持旧配置,并且现在我已经明确删除了statefulset中的所有Pod,这似乎可以正常工作。