Environment: Centos 6
Solr version: 5.2.1
Java Version: 7

Adding rules to collection creation did not work because solr does not return 
the correct value for freedisk

Example: 
http://server2:18983/solr/admin/collections?action=CREATE&rule=replica:*,shard:*,freedisk:%3E24&name=search_create_test&numShards=4&replicationFactor=2&maxShardsPerNode=10&collection.configName=log_search

Result:

<response>
<lst name="responseHeader">
<int name="status">400</int>
<int name="QTime">128</int>
</lst>
<str name="Operation create caused exception:">
org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: 
Could not identify nodes matching the rules [{ "shard":"*", "replica":"*", 
"freedisk":">24"}] tag values{ "server256:18983_solr":{"freedisk":24}, 
"server262:18983_solr":{"freedisk":24}, "server260:18983_solr":{"freedisk":24}, 
"server261:28983_solr":{"freedisk":24}, "server262:8983_solr":{"freedisk":24}, 
"server260:28983_solr":{"freedisk":24}, "server256:28983_solr":{"freedisk":24}, 
"server261:8983_solr":{"freedisk":24}, "server260:8983_solr":{"freedisk":24}, 
"server261:18983_solr":{"freedisk":24}, "server262:28983_solr":{"freedisk":24}, 
"server256:8983_solr":{"freedisk":24}}
</str>
<lst name="exception">
<str name="msg">
Could not identify nodes matching the rules [{ "shard":"*", "replica":"*", 
"freedisk":">24"}] tag values{ "server256:18983_solr":{"freedisk":24}, 
"server262:18983_solr":{"freedisk":24}, "server260:18983_solr":{"freedisk":24}, 
"server261:28983_solr":{"freedisk":24}, "server262:8983_solr":{"freedisk":24}, 
"server260:28983_solr":{"freedisk":24}, "server256:28983_solr":{"freedisk":24}, 
"server261:8983_solr":{"freedisk":24}, "server260:8983_solr":{"freedisk":24}, 
"server261:18983_solr":{"freedisk":24}, "server262:28983_solr":{"freedisk":24}, 
"server256:8983_solr":{"freedisk":24}}
</str>
<int name="rspCode">400</int>
</lst>
<lst name="error">
<str name="msg">
Could not identify nodes matching the rules [{ "shard":"*", "replica":"*", 
"freedisk":">24"}] tag values{ "server256:18983_solr":{"freedisk":24}, 
"server262:18983_solr":{"freedisk":24}, "server260:18983_solr":{"freedisk":24}, 
"server261:28983_solr":{"freedisk":24}, "server262:8983_solr":{"freedisk":24}, 
"server260:28983_solr":{"freedisk":24}, "server256:28983_solr":{"freedisk":24}, 
"server261:8983_solr":{"freedisk":24}, "server260:8983_solr":{"freedisk":24}, 
"server261:18983_solr":{"freedisk":24}, "server262:28983_solr":{"freedisk":24}, 
"server256:8983_solr":{"freedisk":24}}
</str>
<int name="code">400</int>
</lst>
</response>


The result is saying that there are 24GB of free disk on every server when they 
are different values, and the values are higher.

Any ideas?

Robert

Reply via email to