Looking on the logs of the other server, I see this:

SEVERE: org.apache.solr.common.SolrException: I was asked to wait on state 
recovering for 192.168.1.155:8983_solr but I still do not see the requested 
state. I see state: active live:true
   at 
org.apache.solr.handler.admin.CoreAdminHandler.handleWaitForStateAction(CoreAdminHandler.java:890)
   at 
org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:186)
   at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
   at 
org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:591)
   at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:192)
   at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:141)


----- Original Message -----
From: "Mark Olsen" <mol...@experts-exchange.com>
To: solr-user@lucene.apache.org
Sent: Monday, May 19, 2014 3:54:30 PM
Subject: Re: Error when creating collection

Shawn,

I set a shard ID however am still getting the same issue. The logs on the solr 
server are reporting the following:

The request is being performed on 192.168.1.155 and it is timing out when 
contacting another server in the zookeeper group (192.168.1.152). There are no 
firewall rules in place and I am able to lynx from 192.168.1.155 to 
192.168.1.152 on that port.

SEVERE: Error while trying to recover. 
core=collection1:org.apache.solr.client.solrj.SolrServerException: Timeout 
occured while waiting response from server at: http://192.168.1.152:8983/solr
        at 
org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:412)
        at 
org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:181)
        at 
org.apache.solr.cloud.RecoveryStrategy.sendPrepRecoveryCmd(RecoveryStrategy.java:202)
        at 
org.apache.solr.cloud.RecoveryStrategy.doRecovery(RecoveryStrategy.java:346)
        at org.apache.solr.cloud.RecoveryStrategy.run(RecoveryStrategy.java:223)
Caused by: java.net.SocketTimeoutException: Read timed out

Thanks,
Mark


----- Original Message -----
From: "Shawn Heisey" <s...@elyograg.org>
To: solr-user@lucene.apache.org
Sent: Wednesday, May 14, 2014 12:43:00 PM
Subject: Re: Error when creating collection

On 5/13/2014 4:39 PM, Mark Olsen wrote:
> I'm creating a collection via Java using this function call: 
>
> String collection = "profile-2"; 
> CoreAdminRequest.Create createRequest = new CoreAdminRequest.Create(); 
> createRequest.setCoreName(collection); 
> createRequest.setCollection(collection); 
> createRequest.setInstanceDir(collection); 
> createRequest.setNumShards(1); 
> createRequest.process(server); 
>
> It is timing out with this exception (from the solr.out logs): 
>
> SEVERE: org.apache.solr.common.SolrException: Error CREATEing SolrCore 
> 'profile-2': Could not get shard_id for core: profile-2 
> coreNodeName:192.168.1.152:8983_solr_profile-2 
> at 
> org.apache.solr.handler.admin.CoreAdminHandler.handleCreateAction(CoreAdminHandler.java:483)
>  
> at 
> org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:140)
>  
> at 
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
>  
> at 
> org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:591)
>  
> at 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:192)
>  
> at 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:141)
>  
> ... 
> Caused by: org.apache.solr.common.SolrException: Could not get shard_id for 
> core: profile-2 coreNodeName:192.168.1.152:8983_solr_profile-2 
> at 
> org.apache.solr.cloud.ZkController.doGetShardIdProcess(ZkController.java:1221)
>  
> at org.apache.solr.cloud.ZkController.preRegister(ZkController.java:1290) 
> at org.apache.solr.core.CoreContainer.registerCore(CoreContainer.java:861) 
>
> In a "development" environment the zookeeper/solr instances are running with 
> elevated permissions and this function worked without error. 
> In a "test" environment (which matches the "production" environment) the 
> permissions are more restricted. I made sure the group/owner of the 
> /usr/local/solr directory are set up to be the correct user. 

This is happening because you never set the shard ID.  See the "Caused
by" message above.  There is a setShardID method on the class that you
are using.  I believe this would typically get something like "shard1"
as a value.

The user that runs Solr must typically have write permissions to the
solr home and all of its descendants.

Note that with the CoreAdminRequest class, you are not creating a
collection.  You are creating a core.  If you want to create an entire
collection (which will typically create at least two cores on different
Solr instances), you need to use CollectionAdminRequest instead.

https://lucene.apache.org/solr/4_8_0/solr-solrj/org/apache/solr/client/solrj/request/CollectionAdminRequest.Create.html

http://wiki.apache.org/solr/SolrTerminology

Thanks,
Shawn

Reply via email to