We're in the process of upgrading from SolrCloud 4.10 to 5.5, and we
noticed a change in how distributed queries get logged.
In Solr 4.10 we noted that the original node receiving the query logged the
query with a full hit count and elapsed time for the entire query, using
the original request handler (we don't use the default /select handler).
The other nodes logged the queries sent out from the original node, using
the /select request handler. These entries just included the query stats
from that particular node/shard.
This made it easy when log-diving to differentiate between the stats for
the entire query completion, vs the individual stats for each shard, and we
were also able to detect any unexpected network latencies between the
But now we are finding in Solr 5.5 that each shard just logs its own stats,
using the original request handler and there's no log entry for the query
as a whole. This is making some of our existing log analysis difficult
when we try to tie it back to our other application logs.
So, I have 2 questions:
- is there a way to force a log entry for the complete query?
- is there some definitive way to link together all the log entries for a
query across the shards, e.g. some query parameter placed there by Solr?
(In some cases our applications due add a custom param with a transaction
ID, but it's not consistent and I wonder if Solr is doing something or can
be configured to add something)