And if it's impossible for more than one thread to be using the class, why bother to synchronize?
Or am I misreading things totally? On Thu, Aug 10, 2017 at 4:21 PM, Erick Erickson <[email protected]> wrote: > What prevents one thread from calling a get operation while another is > closing out from underneath? Or is it impossible that more than one thread > have access to this object? > > > On Aug 10, 2017 2:32 PM, "Joel Bernstein" <[email protected]> wrote: > > Just took a look at the class and it seems OK. All methods are synchronized, > so we shouldn't have any race conditions. What are your concerns? > > Joel Bernstein > http://joelsolr.blogspot.com/ > > On Thu, Aug 10, 2017 at 4:32 PM, Tomas Fernandez Lobbe <[email protected]> > wrote: >> >> You mean, remove the synchronization from the method and synchronize the >> whole thing on solrClients? How is that different? >> >> >> > On Aug 10, 2017, at 12:48 PM, Erick Erickson <[email protected]> >> > wrote: >> > >> > All the methods are synchronized, but they all operate on the >> > >> > private final Map<String, SolrClient> solrClients; >> > >> > member variable, including code like this: >> > >> > if (solrClients.containsKey(host)) { >> > client = (HttpSolrClient) solrClients.get(host); >> > }.... >> > >> > But the close method goes through the list closing all the entries in >> > solrClients. Seems like these ought to be synchronized blocks on >> > solrClients >> > >> > I have another place that needs updating too that I was investigating >> > when I saw this so I'll do them both at once if so (SOLR-11224) >> > >> > Erick >> > >> > --------------------------------------------------------------------- >> > To unsubscribe, e-mail: [email protected] >> > For additional commands, e-mail: [email protected] >> > >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
