I'm pretty sure a sharded query/response gets tagged in a special way that might be incompatible with multiple tiers like this.
Had you considered a single tier that consisted of a load-balanced pool of 'aggregator' servers? Michael Della Bitta ------------------------------------------------ Appinions, Inc. -- Where Influence Isn’t a Game. http://www.appinions.com On Thu, Jul 12, 2012 at 5:36 PM, Peter Markey <sudoma...@gmail.com> wrote: > Hello, > > I am trying to do a distributed search with solr and for some reason I get > an internal server error. The set up is like this: I have 4 solr servers > that index data (say daily each with 10 cores) and I use another bunch of > solr instances (lets call one of them as L1aggregator) that does a > distributed request to all the 40 cores of 4 solr servers. I also have > another solr instance (lets call it L2aggregator) that would be collecting > data from multiple L1aggregator solr instances. Its like a multi-level > structure. I am just trying out an architecture which has daily solr > servers at the lowest level followed by aggregators at each level. Hence, > an aggregator node does not have data of its own. The problem is while the > L1aggregator seem to work perfectly fine, the L2Aggregator seem to throw > internal server error (stack trace posted below). I specify the address of > shards in the aggregator's config file. Also, all the documents have a > unique ids. While I was trying to debug the error, I noticed that a L2 > aggregator solr makes two calls to L1 aggregator: one to get the docs' ids > and the other to get data for thos doc ids. While the first call works, the > second call seems to throw the error pasted below. Any help would be highly > appreciated. Thanks > > > > > > HTTP Status 500 - Internal Server Error Internal Server Error request: > http://l1aggregator:8080/solr/core-00/selectorg.apache.solr.common.SolrException: > Internal Server Error Internal Server > Error request: http://l1aggregator:8080/solr/core-00/select at > org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:427) > at > org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:249) > at > org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:129) > at > org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:103) > 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) > ------------------------------ > > *type* Status report > > *message* *Internal Server Error Internal Server Error request: > http://l1aggregator:8080/solr/core-00/selectorg.apache.solr.common.SolrException: > Internal Server Error Internal Server > Error request: http://**l1aggregator**:8080/solr/core-00/select at > org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:427) > at > org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:249) > at > org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:129) > at > org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:103) > 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)* > > *description* *The server encountered an internal error (Internal Server > Error Internal Server Error request: > http://**l1aggregator**:8080/solr/core-00/select > org.apache.solr.common.SolrException: Internal Server Error Internal Server > Error request: http://**l1aggregator**:8080/solr/core-00/select at > org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:427) > at > org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:249) > at > org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:129) > at > org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:103) > 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) ) that prevented it from > fulfilling this request.* > * > *