Thanks Joel! :) On Tue, 3 May 2016, 23:37 Joel Bernstein, <joels...@gmail.com> wrote:
> Ryan, there is a patch (for the master branch) up on SOLR-9059 that > resolves the issue. This will be in 6.1 and 6.0.1 if there is one. Thanks > for the bug report! > > Joel Bernstein > http://joelsolr.blogspot.com/ > > On Tue, May 3, 2016 at 10:41 AM, Joel Bernstein <joels...@gmail.com> > wrote: > > > I opened SOLR-9059. > > > > Joel Bernstein > > http://joelsolr.blogspot.com/ > > > > On Tue, May 3, 2016 at 10:31 AM, Joel Bernstein <joels...@gmail.com> > > wrote: > > > >> What I believe is happening is that the core is closing on the reload, > >> which is triggering the closeHook and shutting down all the connections > in > >> SolrClientCache. > >> > >> When the core reopens the connections are all still closed because the > >> SolrClientCache is instantiated statically with the creation of the > >> StreamHandler. > >> > >> So I think the correct fix is to create the SolrClientCache in inform(), > >> that way it will get recreated with each reload. As long as the > closeHook > >> has closed the existing SolrClientCache this shouldn't cause any > connection > >> leaks with reloads. > >> > >> > >> > >> > >> Joel Bernstein > >> http://joelsolr.blogspot.com/ > >> > >> On Tue, May 3, 2016 at 10:01 AM, Joel Bernstein <joels...@gmail.com> > >> wrote: > >> > >>> I'll look into this today. > >>> > >>> Joel Bernstein > >>> http://joelsolr.blogspot.com/ > >>> > >>> On Tue, May 3, 2016 at 9:22 AM, Kevin Risden < > risd...@avalonconsult.com> > >>> wrote: > >>> > >>>> What I think is happening is that since the CloudSolrClient is from > the > >>>> SolrCache and the collection was reloaded. zkStateReader is actually > >>>> null > >>>> since there was no cloudSolrClient.connect() call after the reload. I > >>>> think > >>>> that would cause the NPE on anything that uses the zkStateReader like > >>>> getClusterState(). > >>>> > >>>> ZkStateReader zkStateReader = cloudSolrClient.getZkStateReader(); > >>>> ClusterState clusterState = zkStateReader.getClusterState(); > >>>> > >>>> > >>>> Kevin Risden > >>>> Apache Lucene/Solr Committer > >>>> Hadoop and Search Tech Lead | Avalon Consulting, LLC > >>>> <http://www.avalonconsult.com/> > >>>> M: 732 213 8417 > >>>> LinkedIn <http://www.linkedin.com/company/avalon-consulting-llc> | > >>>> Google+ > >>>> <http://www.google.com/+AvalonConsultingLLC> | Twitter > >>>> <https://twitter.com/avalonconsult> > >>>> > >>>> > >>>> > ------------------------------------------------------------------------------------------------------------- > >>>> This message (including any attachments) contains confidential > >>>> information > >>>> intended for a specific individual and purpose, and is protected by > >>>> law. If > >>>> you are not the intended recipient, you should delete this message. > Any > >>>> disclosure, copying, or distribution of this message, or the taking of > >>>> any > >>>> action based on it, is strictly prohibited. > >>>> > >>>> On Mon, May 2, 2016 at 9:58 PM, Joel Bernstein <joels...@gmail.com> > >>>> wrote: > >>>> > >>>> > Looks like the loop below is throwing a Null pointer. I suspect the > >>>> > collection has not yet come back online. In theory this should be > self > >>>> > healing and when the collection comes back online it should start > >>>> working > >>>> > again. If not then that would be a bug. > >>>> > > >>>> > for(String col : clusterState.getCollections()) { > >>>> > > >>>> > > >>>> > Joel Bernstein > >>>> > http://joelsolr.blogspot.com/ > >>>> > > >>>> > On Mon, May 2, 2016 at 10:06 PM, Ryan Yacyshyn < > >>>> ryan.yacys...@gmail.com> > >>>> > wrote: > >>>> > > >>>> > > Yes stack trace can be found here: > >>>> > > > >>>> > > http://pastie.org/10821638 > >>>> > > > >>>> > > > >>>> > > > >>>> > > On Mon, 2 May 2016 at 01:05 Joel Bernstein <joels...@gmail.com> > >>>> wrote: > >>>> > > > >>>> > > > Can you post your stack trace? I suspect this has to do with how > >>>> the > >>>> > > > Streaming API is interacting with SolrCloud. We can probably > also > >>>> > create > >>>> > > a > >>>> > > > jira ticket for this. > >>>> > > > > >>>> > > > Joel Bernstein > >>>> > > > http://joelsolr.blogspot.com/ > >>>> > > > > >>>> > > > On Sun, May 1, 2016 at 4:02 AM, Ryan Yacyshyn < > >>>> ryan.yacys...@gmail.com > >>>> > > > >>>> > > > wrote: > >>>> > > > > >>>> > > > > Hi all, > >>>> > > > > > >>>> > > > > I'm exploring with parallel SQL queries and found something > >>>> strange > >>>> > > after > >>>> > > > > reloading the collection: the same query will return a > >>>> > > > > java.lang.NullPointerException error. Here are my steps on a > >>>> fresh > >>>> > > > install > >>>> > > > > of Solr 6.0.0. > >>>> > > > > > >>>> > > > > *Start Solr in cloud mode with example* > >>>> > > > > bin/solr -e cloud -noprompt > >>>> > > > > > >>>> > > > > *Index some data* > >>>> > > > > bin/post -c gettingstarted example/exampledocs/*.xml > >>>> > > > > > >>>> > > > > *Send query, which works* > >>>> > > > > curl --data-urlencode 'stmt=select id,name from gettingstarted > >>>> where > >>>> > > > > inStock = true limit 2' > >>>> > http://localhost:8983/solr/gettingstarted/sql > >>>> > > > > > >>>> > > > > *Reload the collection* > >>>> > > > > curl ' > >>>> > > > > > >>>> > > > > > >>>> > > > > >>>> > > > >>>> > > >>>> > http://localhost:8983/solr/admin/collections?action=RELOAD&name=gettingstarted > >>>> > > > > ' > >>>> > > > > > >>>> > > > > After reloading, running the exact query above will return the > >>>> null > >>>> > > > pointer > >>>> > > > > exception error. Any idea why? > >>>> > > > > > >>>> > > > > If I stop all Solr severs and restart, then it's fine. > >>>> > > > > > >>>> > > > > *java -version* > >>>> > > > > java version "1.8.0_25" > >>>> > > > > Java(TM) SE Runtime Environment (build 1.8.0_25-b17) > >>>> > > > > Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed > mode) > >>>> > > > > > >>>> > > > > Thanks, > >>>> > > > > Ryan > >>>> > > > > > >>>> > > > > >>>> > > > >>>> > > >>>> > >>> > >>> > >> > > >