OK, I tried to reproduce it on trunk, and I can't (i.e. everything is looking fine).
rm -rf example/solr/zoo_data cp -rp example example2 cp -rp example example3 cd example java -Dbootstrap_confdir=./solr/collection1/conf -Dcollection.configName=myconf -DzkRun -DnumShards=1 -jar start.jar cd example2 java -Djetty.port=7574 -DzkHost=localhost:9983 -jar start.jar cd example3 java -Djetty.port=8900 -DzkHost=localhost:9983 -jar start.jar #index some docs cd example/exampledocs ./post.sh *xml Looking at http://localhost:8983/solr/#/~cloud?view=tree I can see the clusterstate.json is now {"collection1":{ "properties":{"router":"compositeId"}, "shard1":{ "range":"80000000-7fffffff", "replicas":{ "192.168.1.109:8983_solr_collection1":{ "shard":"shard1", "roles":null, "state":"active", "core":"collection1", "collection":"collection1", "node_name":"192.168.1.109:8983_solr", "base_url":"http://192.168.1.109:8983/solr", "leader":"true"}, "192.168.1.109:7574_solr_collection1":{ "shard":"shard1", "roles":null, "state":"active", "core":"collection1", "collection":"collection1", "node_name":"192.168.1.109:7574_solr", "base_url":"http://192.168.1.109:7574/solr"}, "192.168.1.109:8900_solr_collection1":{ "shard":"shard1", "roles":null, "state":"active", "core":"collection1", "collection":"collection1", "node_name":"192.168.1.109:8900_solr", "base_url":"http://192.168.1.109:8900/solr"}}}}} curl "http://localhost:8983/solr/query?q=*:*" Single log line in example: Dec 11, 2012 4:14:48 PM org.apache.solr.core.SolrCore execute INFO: [collection1] webapp=/solr path=/query params={q=*:*} hits=0 status=0 QTime=4 curl "http://localhost:7574/solr/query?q=*:*" Single log line in example2: Dec 11, 2012 4:15:59 PM org.apache.solr.core.SolrCore execute INFO: [collection1] webapp=/solr path=/query params={q=*:*} hits=0 status=0 QTime=3 curl "http://localhost:8983/solr/query?q=*:*&shortCircuit=false" 3 log lines.... in example2: Dec 11, 2012 4:18:48 PM org.apache.solr.core.SolrCore execute INFO: [collection1] webapp=/solr path=/query params={q=*:*&shortCircuit=false} hits=32 status=0 QTime=42 in example: Dec 11, 2012 4:18:48 PM org.apache.solr.core.SolrCore execute INFO: [collection1] webapp=/solr path=/select params={distrib=false&wt=javabin&version=2&rows=10&NOW=1355260728098&shard.url=192.168.1.109:8983/solr/collection1/|192.168.1.109:7574/solr/collection1/|192.168.1.109:8900/solr/collection1/&fl=id,score&df=text&start=0&q=*:*&isShard=true&fsv=true&shortCircuit=false} hits=32 status=0 QTime=10 Dec 11, 2012 4:18:48 PM org.apache.solr.core.SolrCore execute INFO: [collection1] webapp=/solr path=/select params={df=text&shard.url=192.168.1.109:8983/solr/collection1/|192.168.1.109:7574/solr/collection1/|192.168.1.109:8900/solr/collection1/&NOW=1355260728098&q=*:*&ids=SP2514N,GB18030TEST,apple,F8V7067-APL-KIT,adata,6H500F0,MA147LL/A,ati,IW-02,asus&distrib=false&isShard=true&wt=javabin&shortCircuit=false&version=2} status=0 QTime=6 Notice that before I introduced short-circuiting as part of document routing ( https://issues.apache.org/jira/browse/SOLR-2592 ) You would see 3 log lines for each distributed request - 2 for the two sub-queries as standard phases of distributed search, and one for the top level request that encompasses the two sub-requests. -Yonik http://lucidworks.com