Gus Heck created SOLR-13418:
-------------------------------

             Summary: ZkStateReader.PropsWatcher synchronizes on a string value 
& doesn't track zk version
                 Key: SOLR-13418
                 URL: https://issues.apache.org/jira/browse/SOLR-13418
             Project: Solr
          Issue Type: Bug
      Security Level: Public (Default Security Level. Issues are Public)
          Components: SolrCloud
    Affects Versions: 8.0, master (9.0)
            Reporter: Gus Heck
            Assignee: Gus Heck


While contemplating adding better caching to collection properties to avoid 
repeated calls to ZK from code that wishes to consult collection properties, I 
noticed that the existing PropsWatcher class is synchronizing on a string value 
for the name of a collection. Synchronizing on strings is bad practice, given 
that you never know if the string might have been interned, and therefore 
someone else might also synchronizing on the same object without your knowledge 
creating contention or even deadlocks. Also this code doesn't seem to be doing 
anything to check ZK version information, so it seems possible that out of 
order processing by threads could wind up caching out of date data. 



--
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