Solr admin client crash - caused by too many fields

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Solr admin client crash - caused by too many fields

ruby
I have 60 thousand fields in schema. When I go to the Analysis page to
analyze a field content

http://localhost:8983/solr/#/collection1/analysis?analysis.fieldvalue=xyz&analysis.query=xyz&analysis.fieldname=field1&verbose_output=0

the admin panel crashes and shows error: Connection to Solr lost. Please see
Solr instance.

The Solr log shows following error:

2018-08-10 09:37:49.745 INFO  (qtp870698190-19) [   x:collection1]
o.a.s.c.S.Request [collection1]  webapp=/solr path=/admin/luke
params={show=schema&wt=json&_=1533908056267} status=0 QTime=17709
2018-08-10 09:37:49.748 INFO  (qtp870698190-19) [   x:collection1]
o.a.s.s.HttpSolrCall Unable to write response, client closed connection or
we are shutting down
org.eclipse.jetty.io.EofException
        at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:197)
        at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:419)
        at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:313)
        at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:141)
        at
org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:732)
        at
org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241)
        at
org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224)
        at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:512)


Any idea how to fix this issue?

Thanks



--
Sent from: http://lucene.472066.n3.nabble.com/Solr-User-f472068.html
Reply | Threaded
Open this post in threaded view
|

Re: Solr admin client crash - caused by too many fields

Shawn Heisey-2
On 8/10/2018 7:38 AM, ruby wrote:

> I have 60 thousand fields in schema. When I go to the Analysis page to
> analyze a field content
>
> http://localhost:8983/solr/#/collection1/analysis?analysis.fieldvalue=xyz&analysis.query=xyz&analysis.fieldname=field1&verbose_output=0
>
> the admin panel crashes and shows error: Connection to Solr lost. Please see
> Solr instance.
>
> The Solr log shows following error:
>
> 2018-08-10 09:37:49.745 INFO  (qtp870698190-19) [   x:collection1]
> o.a.s.c.S.Request [collection1]  webapp=/solr path=/admin/luke
> params={show=schema&wt=json&_=1533908056267} status=0 QTime=17709
> 2018-08-10 09:37:49.748 INFO  (qtp870698190-19) [   x:collection1]
> o.a.s.s.HttpSolrCall Unable to write response, client closed connection or
> we are shutting down
> org.eclipse.jetty.io.EofException

EofException is an indication that a TCP connection was closed by the
other side, which eventually gets noticed when this side tries to send
data down the connection.  Since idle timeouts that haven't been changed
are typically either 50 or 60 seconds, this would indicate that
something took a VERY long time to happen, so one end or the other
eventually gave up.  It takes a bit of time to transfer information
about 60000 fields, but even with that many I would not expect the admin
UI's processes to take long enough for EofException to occur.

What is the heap size on your Solr install?  You might be running into a
situation where the heap is too small and Java is spending a HUGE amount
of time doing garbage collection - long enough for idle timeouts to be
exceeded.  The default heap size that Solr uses out of the box is 512MB,
which is very small.

Thanks,
Shawn

Reply | Threaded
Open this post in threaded view
|

Re: Solr admin client crash - caused by too many fields

Erick Erickson
The analysis page is not all that efficient and can take a long time
to execute, especially with 60K fields.

Having that many fields is almost always a cause to revisit your
design and cut the number of fields down. Solr can cope (well, except
for the analysis page and some other edge cases), but having that many
fields is usually an anti-pattern.

FWIW,
Erick

On Fri, Aug 10, 2018 at 8:34 AM, Shawn Heisey <[hidden email]> wrote:

> On 8/10/2018 7:38 AM, ruby wrote:
>>
>> I have 60 thousand fields in schema. When I go to the Analysis page to
>> analyze a field content
>>
>>
>> http://localhost:8983/solr/#/collection1/analysis?analysis.fieldvalue=xyz&analysis.query=xyz&analysis.fieldname=field1&verbose_output=0
>>
>> the admin panel crashes and shows error: Connection to Solr lost. Please
>> see
>> Solr instance.
>>
>> The Solr log shows following error:
>>
>> 2018-08-10 09:37:49.745 INFO  (qtp870698190-19) [   x:collection1]
>> o.a.s.c.S.Request [collection1]  webapp=/solr path=/admin/luke
>> params={show=schema&wt=json&_=1533908056267} status=0 QTime=17709
>> 2018-08-10 09:37:49.748 INFO  (qtp870698190-19) [   x:collection1]
>> o.a.s.s.HttpSolrCall Unable to write response, client closed connection or
>> we are shutting down
>> org.eclipse.jetty.io.EofException
>
>
> EofException is an indication that a TCP connection was closed by the other
> side, which eventually gets noticed when this side tries to send data down
> the connection.  Since idle timeouts that haven't been changed are typically
> either 50 or 60 seconds, this would indicate that something took a VERY long
> time to happen, so one end or the other eventually gave up.  It takes a bit
> of time to transfer information about 60000 fields, but even with that many
> I would not expect the admin UI's processes to take long enough for
> EofException to occur.
>
> What is the heap size on your Solr install?  You might be running into a
> situation where the heap is too small and Java is spending a HUGE amount of
> time doing garbage collection - long enough for idle timeouts to be
> exceeded.  The default heap size that Solr uses out of the box is 512MB,
> which is very small.
>
> Thanks,
> Shawn
>
Reply | Threaded
Open this post in threaded view
|

Re: Solr admin client crash - caused by too many fields

Toke Eskildsen-2
In reply to this post by ruby
On Fri, 2018-08-10 at 06:38 -0700, ruby wrote:
> I have 60 thousand fields in schema. When I go to the Analysis page
> to analyze a field content
>
> http://localhost:8983/solr/#/collection1/analysis?analysis.fieldvalue
> =xyz&analysis.query=xyz&analysis.fieldname=field1&verbose_output=0
>
> the admin panel crashes and shows error: Connection to Solr lost.
> Please see Solr instance. 

The default Admin GUI timeout is 10 seconds. You can raise it by
locating server/solr-webapp/webapp/js/angular/app.js and changing
config.timeout = 10000;
to
config.timeout = 100000000;
Then reload the Admin GUI.

I don't know why the Admin GUI has a timeout at all. It seems to me
that anyone capable of using that GUI is also capable of pressing
reload if Solr takes too long to respond. But I digress.


What Shawn & Erick says still stands: Having 60K fields is an outlier
in Solr Land and as such warrants caution and consideration.

- Toke Eskildsen, Royal Danish Library

Reply | Threaded
Open this post in threaded view
|

Re: Solr admin client crash - caused by too many fields

ruby
In reply to this post by Erick Erickson
Thanks for your answer.
In previous Solr version (5.0) I had same number of fields and didn't run
into this issue. Did anything change in Solr 6.0 above?

Thanks



--
Sent from: http://lucene.472066.n3.nabble.com/Solr-User-f472068.html