You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Mark Miller (JIRA)" <ji...@apache.org> on 2013/05/28 23:56:21 UTC

[jira] [Commented] (SOLR-4816) ConcurrentUpdateCloudSolrServer

    [ https://issues.apache.org/jira/browse/SOLR-4816?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13668722#comment-13668722 ] 

Mark Miller commented on SOLR-4816:
-----------------------------------

bq. The exception handling seems to be backwards compatible.

By the sound of it, you changed the runtime behavior in an incompat way - with a single thread you have very tight control and knowledge of what docs got accepted in and what docs failed and the exception for every fail. It's not so easy to get that same back compat behavior with multiple threads and by the description, it sounds like a break to me.

I think a multi threaded version cannot likely be back compat easily and so it begs a new class similiar to the non cloud servers.

I'll look at the code when I get a chance though.


                
> ConcurrentUpdateCloudSolrServer
> -------------------------------
>
>                 Key: SOLR-4816
>                 URL: https://issues.apache.org/jira/browse/SOLR-4816
>             Project: Solr
>          Issue Type: Improvement
>          Components: SolrCloud
>    Affects Versions: 4.3
>            Reporter: Joel Bernstein
>            Priority: Minor
>         Attachments: SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816.patch, SOLR-4816-sriesenberg.patch
>
>
> This issue adds a new Solr Cloud client called the ConcurrentUpdateCloudSolrServer. This Solr Cloud client implements document routing in the client so that document routing overhead is eliminated on the Solr servers. Documents are batched up for each shard and then each batch is sent in it's own thread. 
> With this client, Solr Cloud indexing throughput should scale linearly with cluster size.
> This client also has robust failover built-in because the actual requests are made using the LBHttpSolrServer. The list of urls used for the request to each shard begins with the leader and is followed by that shard's replicas. So the leader will be tried first and if it fails it will try the replicas.
> Sample usage:
> ConcurrentUpdateCloudServer client = new ConcurrentUpdateCloudSolrServer(zkHostAddress);
> UpdateRequest request = new UpdateRequest();
> SolrInputDocument doc = new SolrInputDocument();
> doc.addField("id", 2);
> doc.addField("manu","BMW");
> request.add(doc);
> NamedList response = client.request(request);
> NamedList exceptions = response.get("exceptions"); // contains any exceptions from the shards
> NamedList responses = response.get("responses"); // contains the responses from shards without exception.
>                 

--
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-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org