Alexey Serba created SOLR-8804:
----------------------------------

             Summary: Race condition in ClusterStatus.getClusterStatus
                 Key: SOLR-8804
                 URL: https://issues.apache.org/jira/browse/SOLR-8804
             Project: Solr
          Issue Type: Bug
          Components: SolrCloud
    Affects Versions: 5.3.1
            Reporter: Alexey Serba
            Priority: Trivial


Reading cluster state information using {{/collections?action=CLUSTERSTATUS}} 
can fail if there's a concurrent {{/collections?action=DELETE}} operation.

The code in {{ClusterStatus.getClusterStatus}} 
# gets collection names
# for every collection reads its cluster state info using 
{{ClusterState.getCollection}}

The problem is that if there's a {{DELETE}} operation in between then 
{{ClusterState.getCollection}} can fail thus causing the whole operation to 
fail. It seems that it would be better to call 
{{ClusterState.getCollectionOrNull}} and skip/ignore that collection if the 
result is null.

{noformat}
19:49:32.479 [qtp1531448569-881] ERROR org.apache.solr.core.SolrCore - 
org.apache.solr.common.SolrException: Could not find collection : collection
    at 
org.apache.solr.common.cloud.ClusterState.getCollection(ClusterState.java:165)
    at 
org.apache.solr.handler.admin.ClusterStatus.getClusterStatus(ClusterStatus.java:110)
    at 
org.apache.solr.handler.admin.CollectionsHandler$CollectionOperation$19.call(CollectionsHandler.java:614)
    at 
org.apache.solr.handler.admin.CollectionsHandler.handleRequestBody(CollectionsHandler.java:166)
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to