[
https://issues.apache.org/jira/browse/SOLR-4816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Joel Bernstein updated SOLR-4816:
---------------------------------
Attachment: SOLR-4816.patch
Latest patch is a version of CloudSolrServer that:
1)Does document routing
2)Sends requests to each shard in a separate thread
3) Uses javabin transport
4) Is backwards compatible with both the response and exception.
It does this all by default, no switches needed.
I accomplish this by returning a response or throwing an exception that
condenses the info from each shard into a single response or exception.
To get the full info for the response or exception you can down cast to either
RouteReponse or RouteException which gives you a detailed breakdown from each
of the shards.
Will update the ticket name and description accordingly.
> 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.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: [email protected]
For additional commands, e-mail: [email protected]