[ 
https://issues.apache.org/jira/browse/SOLR-14566?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17153830#comment-17153830
 ] 

Jason Gerlowski commented on SOLR-14566:
----------------------------------------

There was a good bit of feedback on the PR in the links section above from 
David, Shalin, Jan, and others.  We settled on using a "rid" field with a 
default value of {{<coordinatorNodeHostname>-<requestCounter>}}.  An 
non-default value can be used by explicitly including the "rid" parameter in 
your request.  The "rid" behavior can be disabled by sending requests with a 
{{disableRequestId=true}} query param.

David brought up that really we should be taking this request-id and recording 
it using MDC, so that it's recorded on _all_ log messages for a given request.  
I agreed with him, but deferred on making that change here on grounds of 
"scope".  The MDC approach is more powerful, but also a much larger, more 
complex change.  That's why SOLR-8274 has been stalled out as long as it has, 
honestly.  Rather than let the perfect get in the way of the good, I committed 
the simpler "rid" approach as-is so that it's available to users while the much 
cooler MDC approach comes together.

> Record "request-id" on coordinator log messages
> -----------------------------------------------
>
>                 Key: SOLR-14566
>                 URL: https://issues.apache.org/jira/browse/SOLR-14566
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Jason Gerlowski
>            Assignee: Jason Gerlowski
>            Priority: Minor
>          Time Spent: 6h 10m
>  Remaining Estimate: 0h
>
> Currently, in SolrCore.java we log each search request that comes through 
> each core as it is finishing.  This includes the path, query-params, QTime, 
> and status.  In the case of a distributed search both the "coordinator" node 
> and each of the per-shard requests produce a log message.
> When Solr is fielding many identical queries, such as those created by a 
> healthcheck or dashboard, it can be hard when examining logs to link the 
> per-shard requests with the "cooordinator" request that came in upstream.
> One thing that would make this easier is if the {{NOW}} param added to 
> per-shard requests is also included in the log message from the 
> "coordinator".  While {{NOW}} isn't unique strictly speaking, it often is in 
> practice, and along with the query-params would allow debuggers to associate 
> shard requests with coordinator requests a large majority of the time.
> An alternative approach would be to create a {{qid}} or {{query-uuid}} when 
> the coordinator starts its work that can be logged everywhere.  This provides 
> a stronger expectation around uniqueness, but would require UUID generation 
> on the coordinator, which may be non-negligible work at high QPS (maybe? I 
> have no idea).  It also loses the neatness of reusing data already present on 
> the shard requests.  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to