[
https://issues.apache.org/jira/browse/SOLR-12814?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16630978#comment-16630978
]
Jan Høydahl commented on SOLR-12814:
------------------------------------
Think I found the place where the huge GET request is created
{code:java}
First MetricsHistoryHandler wants to collect global metrics:
collectGlobalMetrics:481, MetricsHistoryHandler ->
getReplicaInfo:169, SolrClientNodeStateProvider ->
fetchReplicaMetrics:186, SolrClientNodeStateProvider ->
fetchReplicaMetrics:195, SolrClientNodeStateProvider
params.add("key", metricsKeyVsTag.keySet().toArray(new String[0])); <--- This
keyset is huge and overruns the limit
...
SimpleSolrResponse rsp = ctx.invoke(solrNode, CommonParams.METRICS_PATH,
params); <--- Invoke the request
...
GenericSolrRequest request = new GenericSolrRequest(SolrRequest.METHOD.GET,
path, params); <--- Which uses get{code}
[~ab] and [~noble.paul] you may know this part of the code. Below is screenshot
from debug session where you see {{SolrClientNodeStateProvider}} class trying
to invoke a huge request with 150 metric keys:
!screenshot-debug.png|width=900!
> Metrics page causing "HttpParser URI is too large >8192"
> --------------------------------------------------------
>
> Key: SOLR-12814
> URL: https://issues.apache.org/jira/browse/SOLR-12814
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Components: metrics, SolrCloud
> Affects Versions: 7.5
> Environment: 3x zookeeper and 3x solr cloud servers,
> 50 test collections with 0 data in them
> Reporter: matthew medway
> Priority: Major
> Labels: URI, header, http, httpparser, large, metrics, solr,
> solrcloud, too, uri
> Attachments: longmetricsquery.txt, screencapture-cloud-graph.png,
> screencapture-nodes-actual-IP.png, screenshot-debug.png
>
>
> If you have a lot of collections, like 50 or more, the new metrics page in
> version 7.5 can't run its queries because the default
> solr.jetty.request.header.size and solr.jetty.response.header.size values are
> too small.
> If I up the header values from 8192 to 65536 the commands will work.
> command to change the defaults:
> {code:java}
> sed -i 's/\"solr.jetty.request.header.size\"
> default=\"8192\"/\"solr.jetty.request.header.size\" default=\"65536\"/g'
> /opt/solr/server/etc/jetty.xml
> sed -i 's/\"solr.jetty.response.header.size\"
> default=\"8192\"/\"solr.jetty.response.header.size\" default=\"65536\"/g'
> /opt/solr/server/etc/jetty.xml
> {code}
> before changing the header size log:
> {code:java}
> 2018-09-27 13:06:45.434 INFO (qtp534906248-14) [ ] o.a.s.s.HttpSolrCall
> [admin] webapp=null path=/admin/metrics
> params={wt=javabin&version=2&key=solr.jvm:os.processCpuLoad&key=solr.node:CONTAINER.fs.coreRoot.usableSpace&key=solr.jvm:os.systemLoadAverage&key=solr.jvm:memory.heap.used}
> status=0 QTime=0
> 2018-09-27 13:07:45.527 WARN (qtp534906248-17) [ ] o.e.j.h.HttpParser URI is
> too large >8192
> 2018-09-27 13:07:45.530 INFO (qtp534906248-16) [ ] o.a.s.s.HttpSolrCall
> [admin] webapp=null path=/admin/metrics
> params={wt=javabin&version=2&key=solr.jvm:os.processCpuLoad&key=solr.node:CONTAINER.fs.coreRoot.usableSpace&key=solr.jvm:os.systemLoadAverage&key=solr.jvm:memory.heap.used}
> status=0 QTime=0
> 2018-09-27 13:08:45.621 WARN (qtp534906248-20) [ ] o.e.j.h.HttpParser URI is
> too large >8192
> 2018-09-27 13:08:45.625 INFO (qtp534906248-15) [ ] o.a.s.s.HttpSolrCall
> [admin] webapp=null path=/admin/metrics
> params={wt=javabin&version=2&key=solr.jvm:os.processCpuLoad&key=solr.node:CONTAINER.fs.coreRoot.usableSpace&key=solr.jvm:os.systemLoadAverage&key=solr.jvm:memory.heap.used}
> status=0 QTime=0
> 2018-09-27 13:09:45.725 WARN (qtp534906248-20) [ ] o.e.j.h.HttpParser URI is
> too large >8192
> {code}
> After changing the header size log:
> {code:java}
> attached as a file because its very long and ugly{code}
> Is it possible to break up this command into batches so that it can run
> without modifying the header sizes?
> Thanks!
> -Matt
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]