Solr DataSource 请求参数不被识别
Solr DataSource Request Parameters Not Being Recognized
我正在尝试使 Solr (7.5) 数据导入处理程序的 username/password 成为动态的,遵循指南 here。
这是我的数据配置:
<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>
但是,当我执行数据导入命令时(例如 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] INFO org.apache.solr.handler.dataimport.DataImporter - Loading DIH Configuration: data-config.xml
18:56:32.087 [qtp1076770748-18] INFO org.apache.solr.handler.dataimport.DataImporter - Data Configuration loaded successfully
18:56:32.087 [qtp1076770748-18] INFO org.apache.solr.handler.dataimport.DataImporter - Getting configuration for Global Datasource...
18:56:32.087 [qtp1076770748-18] INFO org.apache.solr.handler.dataimport.DataImporter - Adding properties to datasource: {password=, driver=com.mysql.jdbc.Driver, user=, url=jdbc:mysql://mysqlconnectionstring}
我只是不知道我在这里遗漏了什么,为什么它不从请求中读取 username/password 并从中填充数据源?
事实证明问题出在我的 kubernetes statefulset 控制 k8s 集群:它以某种方式保留旧配置,现在这似乎工作正常,因为我明确删除了 statefulset 中的所有 pods。
我正在尝试使 Solr (7.5) 数据导入处理程序的 username/password 成为动态的,遵循指南 here。
这是我的数据配置:
<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>
但是,当我执行数据导入命令时(例如 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] INFO org.apache.solr.handler.dataimport.DataImporter - Loading DIH Configuration: data-config.xml
18:56:32.087 [qtp1076770748-18] INFO org.apache.solr.handler.dataimport.DataImporter - Data Configuration loaded successfully
18:56:32.087 [qtp1076770748-18] INFO org.apache.solr.handler.dataimport.DataImporter - Getting configuration for Global Datasource...
18:56:32.087 [qtp1076770748-18] INFO org.apache.solr.handler.dataimport.DataImporter - Adding properties to datasource: {password=, driver=com.mysql.jdbc.Driver, user=, url=jdbc:mysql://mysqlconnectionstring}
我只是不知道我在这里遗漏了什么,为什么它不从请求中读取 username/password 并从中填充数据源?
事实证明问题出在我的 kubernetes statefulset 控制 k8s 集群:它以某种方式保留旧配置,现在这似乎工作正常,因为我明确删除了 statefulset 中的所有 pods。