Hendrik Haddorp created SOLR-13239:
--------------------------------------

             Summary: CollectionStateWatcher reports new collections before 
they really exist
                 Key: SOLR-13239
                 URL: https://issues.apache.org/jira/browse/SOLR-13239
             Project: Solr
          Issue Type: Bug
      Security Level: Public (Default Security Level. Issues are Public)
          Components: clients - java
    Affects Versions: 7.6
            Reporter: Hendrik Haddorp


A CollectionStateWatcher registered via 
org.apache.solr.common.cloud.ZkStateReader.registerCloudCollectionsListener 
gets invoked as soon as the CloudSolrClient detects a new collection. This is 
based on having a watch on the /collections znode. When the 
CollectionStateWatcher tries to read out information about the new collection 
via zkStateReader.getClusterState() there is a good chance that no 
DocCollection can be found. The reason for that is that a DocCollection is 
based on the state.json below the collection. As this znode is below the 
collection znode it does need to be created a bit later. So there is a race 
condition.

One can run into the same problem if one tries to register a 
CollectionStateWatcher via ZkStateReader.registerCollectionStateWatcher 
straight after a new collection is found. The watcher is then being invoked 
with the DocCollection set to null as it also can not find the DocCollection 
object. Null does however indicate that the collection was being deleted.

see also the mail thread about this:
https://www.mail-archive.com/[email protected]&q=subject:%22Re%5C%3A+CloudSolrClient+getDocCollection%22&o=newest&f=1



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to