[ 
https://issues.apache.org/jira/browse/SOLR-3920?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Grzegorz Sobczyk updated SOLR-3920:
-----------------------------------

    Description: 
With one instance of CloudSolrServer I can't add documents to multiple 
collections, for example:

{code}
@Test
public void shouldCommitToTwoCores() throws Exception {
        //given
        try {
                CloudSolrServer server = new CloudSolrServer("localhost:9983");
                UpdateRequest commit1 = new UpdateRequest();
                commit1.setAction(ACTION.COMMIT, true, true);
                commit1.setParam("collection", "collection1");
                //this commit is bug's cause
                commit1.process(server);
                
                SolrInputDocument doc = new SolrInputDocument();
                doc.addField("id", "id");
                doc.addField("name", "name");
                
                UpdateRequest update2 = new UpdateRequest();
                update2.setParam("collection", "collection2");
                update2.add(doc);
                update2.process(server);
                
                UpdateRequest commit2 = new UpdateRequest();
                commit2.setAction(ACTION.COMMIT, true, true);
                commit2.setParam("collection", "collection2");
                commit2.process(server);

                SolrQuery q1 = new SolrQuery("id:id");
                q1.set("collection", "collection1");
                SolrQuery q2 = new SolrQuery("id:id");
                q2.set("collection", "collection2");
                
                //when
                QueryResponse resp1 = server.query(q1);
                QueryResponse resp2 = server.query(q2);
                
                //then
                Assert.assertEquals(0L, resp1.getResults().getNumFound());
                Assert.assertEquals(1L, resp2.getResults().getNumFound());
        } finally {
                CloudSolrServer server1 = new CloudSolrServer("localhost:9983");
                server1.setDefaultCollection("collection1");
                server1.deleteByQuery("id:id");
                server1.commit(true, true);
                
                CloudSolrServer server2 = new CloudSolrServer("localhost:9983");
                server2.setDefaultCollection("collection2");
                server2.deleteByQuery("id:id");
                server2.commit(true, true);
        }
}
{code}

Second update goes to first collection.

  was:
With one instance of CloudSolrServer I can't add documents to multiple 
collections, for example:

{code}
@Test
public void shouldCommitToTwoCores() throws Exception {
        //given
        try {
                CloudSolrServer server = new CloudSolrServer("localhost:9983");
                UpdateRequest commit1 = new UpdateRequest();
                commit1.setAction(ACTION.COMMIT, true, true);
                commit1.setParam("collection", "collection1");
                //this commit is bug's cause
                commit1.process(server);
                
                SolrInputDocument doc = new SolrInputDocument();
                doc.addField("id", "id");
                doc.addField("name", "name");
                
                UpdateRequest update2 = new UpdateRequest();
                update2.setParam("collection", "collection2");
                update2.add(doc);
                update2.process(server);
                
                UpdateRequest commit2 = new UpdateRequest();
                commit2.setAction(ACTION.COMMIT, true, true);
                commit2.setParam("collection", "collection2");
                commit2.process(server);

                SolrQuery q1 = new SolrQuery("id:id");
                q1.set("collection", "collection1");
                SolrQuery q2 = new SolrQuery("id:id");
                q2.set("collection", "collection2");
                
                //when
                QueryResponse resp1 = server.query(q1);
                QueryResponse resp2 = server.query(q2);
                
                //then
                Assert.assertEquals(0L, resp1.getResults().getNumFound());
                Assert.assertEquals(0L, resp2.getResults().getNumFound());
        } finally {
                CloudSolrServer server1 = new CloudSolrServer("localhost:9983");
                server1.setDefaultCollection("collection1");
                server1.deleteByQuery("id:id");
                server1.commit(true, true);
                
                CloudSolrServer server2 = new CloudSolrServer("localhost:9983");
                server2.setDefaultCollection("collection2");
                server2.deleteByQuery("id:id");
                server2.commit(true, true);
        }
}
{code}

Second update goes to first collection.

    
> CloudSolrServer doesn't allow to index multiple collections with one instance 
> of server
> ---------------------------------------------------------------------------------------
>
>                 Key: SOLR-3920
>                 URL: https://issues.apache.org/jira/browse/SOLR-3920
>             Project: Solr
>          Issue Type: Bug
>          Components: SolrCloud
>    Affects Versions: 4.0-BETA
>            Reporter: Grzegorz Sobczyk
>
> With one instance of CloudSolrServer I can't add documents to multiple 
> collections, for example:
> {code}
> @Test
> public void shouldCommitToTwoCores() throws Exception {
>       //given
>       try {
>               CloudSolrServer server = new CloudSolrServer("localhost:9983");
>               UpdateRequest commit1 = new UpdateRequest();
>               commit1.setAction(ACTION.COMMIT, true, true);
>               commit1.setParam("collection", "collection1");
>               //this commit is bug's cause
>               commit1.process(server);
>               
>               SolrInputDocument doc = new SolrInputDocument();
>               doc.addField("id", "id");
>               doc.addField("name", "name");
>               
>               UpdateRequest update2 = new UpdateRequest();
>               update2.setParam("collection", "collection2");
>               update2.add(doc);
>               update2.process(server);
>               
>               UpdateRequest commit2 = new UpdateRequest();
>               commit2.setAction(ACTION.COMMIT, true, true);
>               commit2.setParam("collection", "collection2");
>               commit2.process(server);
>               SolrQuery q1 = new SolrQuery("id:id");
>               q1.set("collection", "collection1");
>               SolrQuery q2 = new SolrQuery("id:id");
>               q2.set("collection", "collection2");
>               
>               //when
>               QueryResponse resp1 = server.query(q1);
>               QueryResponse resp2 = server.query(q2);
>               
>               //then
>               Assert.assertEquals(0L, resp1.getResults().getNumFound());
>               Assert.assertEquals(1L, resp2.getResults().getNumFound());
>       } finally {
>               CloudSolrServer server1 = new CloudSolrServer("localhost:9983");
>               server1.setDefaultCollection("collection1");
>               server1.deleteByQuery("id:id");
>               server1.commit(true, true);
>               
>               CloudSolrServer server2 = new CloudSolrServer("localhost:9983");
>               server2.setDefaultCollection("collection2");
>               server2.deleteByQuery("id:id");
>               server2.commit(true, true);
>       }
> }
> {code}
> Second update goes to first collection.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to