Create collection with wt=json does not return all created cores

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Create collection with wt=json does not return all created cores

Shai Erera
Hi

I usually use Solr with wt=json, and only today I noticed that when you create a collection, the output differs if you request for JSON output, vs XML. Even if I start the "cloud wizard": bin/solr -e cloud, creating 2 shards and rf=2, I get this output:

http://localhost:8983/solr/admin/collections?action=CREATE&name=gettingstarted&numShards=2&replicationFactor=2&maxShardsPerNode=2&collection.configName=gettingstarted

{
  "responseHeader": { ... },
  "success": {
    "": {
      "responseHeader": { ... },
      "core": "gettingstarted_shard2_replica2"
    }
  }
}

Notice how there's only one core listed? While if I issue this request:

http://localhost:8983/solr/admin/collections?action=CREATE&name=test&numShards=2&replicationFactor=2&maxShardsPerNode=2&collection.configName=gettingstarted

I get the following:

<response>
  <lst name="responseHeader">...</lst>
  <lst name="success">
    <lst><lst name="responseHeader">...</lst><str name="core">test_shard2_replica2</str></lst>
    <lst><lst name="responseHeader">...</lst><str name="core">test_shard1_replica2</str></lst>
    <lst><lst name="responseHeader">...</lst><str name="core">test_shard1_replica1</str></lst>
    <lst><lst name="responseHeader">...</lst><str name="core">test_shard2_replica1</str></lst>
  </lst>
</response>

Is that intentional? It feels like a bug to me, maybe because the way we generate the NamedList, it gets translated into a Map with each entry having the empty key, and therefore they override each other (gettingstarted_shard2_replica2 is the 4th created replica...).

Shai

Reply | Threaded
Open this post in threaded view
|

Re: Create collection with wt=json does not return all created cores

Mark Miller-3
Sounds like a bug to me.

- Mark

On Mon, Jan 11, 2016 at 9:25 AM Shai Erera <[hidden email]> wrote:
Hi

I usually use Solr with wt=json, and only today I noticed that when you create a collection, the output differs if you request for JSON output, vs XML. Even if I start the "cloud wizard": bin/solr -e cloud, creating 2 shards and rf=2, I get this output:

http://localhost:8983/solr/admin/collections?action=CREATE&name=gettingstarted&numShards=2&replicationFactor=2&maxShardsPerNode=2&collection.configName=gettingstarted

{
  "responseHeader": { ... },
  "success": {
    "": {
      "responseHeader": { ... },
      "core": "gettingstarted_shard2_replica2"
    }
  }
}

Notice how there's only one core listed? While if I issue this request:

http://localhost:8983/solr/admin/collections?action=CREATE&name=test&numShards=2&replicationFactor=2&maxShardsPerNode=2&collection.configName=gettingstarted

I get the following:

<response>
  <lst name="responseHeader">...</lst>
  <lst name="success">
    <lst><lst name="responseHeader">...</lst><str name="core">test_shard2_replica2</str></lst>
    <lst><lst name="responseHeader">...</lst><str name="core">test_shard1_replica2</str></lst>
    <lst><lst name="responseHeader">...</lst><str name="core">test_shard1_replica1</str></lst>
    <lst><lst name="responseHeader">...</lst><str name="core">test_shard2_replica1</str></lst>
  </lst>
</response>

Is that intentional? It feels like a bug to me, maybe because the way we generate the NamedList, it gets translated into a Map with each entry having the empty key, and therefore they override each other (gettingstarted_shard2_replica2 is the 4th created replica...).

Shai

--