Thanks Mark...I will use it with 4.1. For now, I used httpclient to call the
Collections api directly (do a Get on
http://127.0.0.1:8983/solr/admin/collections?action=CREATE etc). This is
working.


-----Original Message-----
From: Mark Miller [mailto:markrmil...@gmail.com] 
Sent: Tuesday, January 08, 2013 7:46 AM
To: solr-user@lucene.apache.org
Subject: Re: Solr 4 exceptions on trying to create a collection

If you are using 4.0 you can't use the CloudSolrServer with the collections
API - you have to pick a server and use the HttpSolrServer impl. In 4.1 you
can use the CloudSolrServer with the collections API.

- Mark

On Jan 6, 2013, at 8:42 PM, Jay Parashar <jparas...@itscape.com> wrote:

> The exception "No live SolrServers" is being thrown when trying to 
> create a new Collection ( code at end of this mail). On the
CloudSolrServer request method, we have this line
"ClientUtils.appendMap(coll, slices, clusterState.getSlices(coll));" where
"coll" is the new collection I am trying to create and hence
clusterState.getSlices(coll)); is returning null.
> And then the loop of the slices which adds to the urlList never happens
and hence the LBHttpSolrServer created in the CloudSolrServer has a null url
list in the constructor.
> This is giving the "No live SolrServers" exception.
> 
> What I am missing?
> 
> Instead of passing the CloudSolrServer to the create.process, if I pass
the LBHttpSolrServer  (server.getLbServer()), the collection gets created
but only on one server.
> 
> My code to create a new Cloud Server and new Collection:-
> 
> String[] urls = 
> {"http://127.0.0.1:8983/solr/","http://127.0.0.1:8900/solr/","http://1
> 27.0.0.1:7500/solr/","http://127.0.0.1:7574/solr/"};
> CloudSolrServer server = new CloudSolrServer("127.0.0.1:2181", new 
> LBHttpSolrServer(urls)); 
> server.getLbServer().getHttpClient().getParams().setParameter(CoreConn
> ectionPNames.CONNECTION_TIMEOUT, 5000); 
> server.getLbServer().getHttpClient().getParams().setParameter(CoreConn
> ectionPNames.SO_TIMEOUT, 20000); 
> server.setDefaultCollection(collectionName);
> server.connect();
> CoreAdminRequest.Create create = new CoreAdminRequest.Create(); 
> create.setCoreName("myColl"); create.setCollection("myColl"); 
> create.setInstanceDir("defaultDir");
> create.setDataDir("myCollData");
> create.setNumShards(2);
> create.process(server); //Exception No live SolrServers  is thrown 
> here
> 
> 
> Thanks
> Jay
> 
> 
> -----Original Message-----
> From: Alexandre Rafalovitch [mailto:arafa...@gmail.com]
> Sent: Friday, January 04, 2013 6:08 PM
> To: solr-user@lucene.apache.org
> Subject: Re: Solr 4 exceptions on trying to create a collection
> 
> Tried Wireshark yet to see what host/port it is trying to connect and why
it fails? It is a complex tool, but well worth learning.
> 
> Regards,
>  Alex.
> 
> Personal blog: http://blog.outerthoughts.com/
> LinkedIn: http://www.linkedin.com/in/alexandrerafalovitch
> - Time is the quality of nature that keeps events from happening all 
> at once. Lately, it doesn't seem to be working.  (Anonymous  - via GTD 
> book)
> 
> 
> On Fri, Jan 4, 2013 at 6:58 PM, Jay Parashar <jparas...@itscape.com>
wrote:
> 
>> Thanks! I had a different version of httpclient in the classpath. So 
>> the 2nd exception is gone but now I am  back to the first one "
>> org.apache.solr.client.solrj.SolrServerException: No live SolrServers 
>> available to handle this request"
>> 
>> -----Original Message-----
>> From: Alexandre Rafalovitch [mailto:arafa...@gmail.com]
>> Sent: Friday, January 04, 2013 4:21 PM
>> To: solr-user@lucene.apache.org
>> Subject: Re: Solr 4 exceptions on trying to create a collection
>> 
>> For the second one:
>> 
>> Wrong version of library on a classpath or multiple versions of 
>> library on the classpath which causes wrong classes with missing 
>> fields/variables? Or library interface baked in and the 
>> implementation is newer. Some sort of mismatch basically. Most probably
in Apache http library.
>> 
>> Regards,
>>   Alex.
>> 
>> Personal blog: http://blog.outerthoughts.com/
>> LinkedIn: http://www.linkedin.com/in/alexandrerafalovitch
>> - Time is the quality of nature that keeps events from happening all 
>> at once. Lately, it doesn't seem to be working.  (Anonymous  - via 
>> GTD
>> book)
>> 
>> 
>> On Fri, Jan 4, 2013 at 4:34 PM, Jay Parashar <jparas...@itscape.com>
>> wrote:
>> 
>>> 
>>> Hi All,
>>> 
>>> I am getting exceptions on trying to create a collection. Any help 
>>> is appreciated.
>>> 
>>> While trying to create a collection, I got this error Caused by:
>>> org.apache.solr.client.solrj.SolrServerException: No live 
>>> SolrServers available to handle this request
>>>        at
>>> 
>>> 
>>
org.apache.solr.client.solrj.impl.LBHttpSolrServer.request(LBHttpSolrServer.
>>> java:322)
>>>        at
>>> 
>>> org.apache.solr.client.solrj.impl.CloudSolrServer.request(CloudSolrS
>>> er
>>> ver.ja
>>> va:257)
>>>        at
>>> 
>>> org.apache.solr.client.solrj.request.CoreAdminRequest.process(CoreAd
>>> mi
>>> nReque
>>> st.java:423)
>>> 
>>> 
>>> On trying to increase the server timeout by
>>> 
>>> server.getLbServer().getHttpClient().getParams().setParameter(CoreCo
>>> nn
>>> ection
>>> PNames.CONNECTION_TIMEOUT, 5000);
>>> 
>>> server.getLbServer().getHttpClient().getParams().setParameter(CoreCo
>>> nn
>>> ection
>>> PNames.SO_TIMEOUT, 20000);
>>> 
>>> I get this...
>>> 
>>> SEVERE: The exception contained within MappableContainerException 
>>> could not be mapped to a response, re-throwing to the HTTP container
>>> java.lang.NoSuchFieldError: DEF_CONTENT_CHARSET
>>>        at
>>> 
>>> org.apache.http.impl.client.DefaultHttpClient.setDefaultHttpParams(D
>>> ef
>>> aultHt
>>> tpClient.java:175)
>>>        at
>>> 
>>> org.apache.http.impl.client.DefaultHttpClient.createHttpParams(Defau
>>> lt
>>> HttpCl
>>> ient.java:158)
>>>        at
>>> 
>>> 
>>
org.apache.http.impl.client.AbstractHttpClient.getParams(AbstractHttpClient.
>>> java:448)
>>> 
>>> Thanks
>>> Jay
>>> 
>>> 
>> 
>> 
> 

Reply via email to