: I'd still love to see a query lifecycle flowchart, but, in case it : helps any future users or in case this is still incorrect, here's how : I'm tackling this:
part of the problem is deciding what you mean by "lifecycle" - as far as the SolrCore is concerned, the lifecycle of hte request is it's execute method -- after that there is still respons writing, but SolrCore doesn't really care about that. >From the perspective of SolrDispatchFilter, the lifecycle is longer, as the REsponseWRiter is used to format the response. >From the perspective of the servlet container, the lifecycle might be even longer, as the client may be slow to read bytes off the wire, so the SolrDispatchFilter & ResponseWriter may be completley done with the response, but the ServletContainer may not yet have written all the bytes back to the client. That's why most people looking for the "full response time" usually get this info from the ServletContainer (logs), because it's the only place that knows for certain when the request is *DONE* done. : Please advise if: : - Flowcharts for any solr/lucene-related lifecycles exist Jan made a pretty decent stab at this a while back, which is good for an "end user" perspective but isn't super detailed... http://www.cominvent.com/nb/2011/04/04/solr-architecture-diagram/ : - There is a better way of doing this If i were attempting to solve this problem, i probably would have tried to implement it as a simple Servlet Filter that wrapped the ServletOutputStream in somethng that would have done hte logging on close(). (so that it could be re-used by any ResponseWriter) -Hos