I have a SOLR instance running as a proxy (no data of its own), it just uses multicore setup where each core has a shards parameter in the search handler.
So my setup looks like this: solr_proxy/ multicore/ /public - solrconfig.xml has "shards" pointing to some other SOLR instances with public data /private - solrconfig.xml has "shards" pointing to some other SOLR instances with private data I get the following error during a search if I specify shards parameter in my request. I have one core as the default, and then one returns data ok: http://localhost:8983/solr/select/?q=obama&rows=50 But if I specify as a shard I get this error: http://localhost:8983/solr/select/?q=obama&rows=50&shards=localhost:8983/solr/public HTTP ERROR 500 Problem accessing /solr/select/. Reason: null java.lang.NullPointerException null java.lang.NullPointerException request: http://localhost:8983/solr/public/select org.apache.solr.common.SolrException: null java.lang.NullPointerException null java.lang.NullPointerException request: http://localhost:8983/solr/public/select at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:432) at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:246) at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:421) at org.apache.solr.handler.component.HttpCommComponent$1.call(SearchHandler.java:393) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662)