Hello everybody,
i have some doubts about the current behaviour of DebugComponent at
coordinator level in a sharded environment.
I'm actually using Solr 1.4
While trying to test our current system using debugQuery=on i have seen that
at coordinator level the timing element contains riduculous values if
comparedwith the QTime value sticked inside the header.
It basically reports only a subset of the time spent in executing the
distributed query and sincerely i think that it doesn't make so much sense.

After a quick debugging session i've discovered that the timing is
calcultated only on the last request executed by the coordinator to every
single node.
The request is the one that contains only specific docIds and therefore the
response time is usually fast.
Digging inside the code i've seen that the method called modifyRequest takes
care of setting debugQuery=false during the first request from the
coordionator to every node.

The question is:
is there a specific reason why modifyRequest "turns off" debugQuery?

I have started changing the code of this component.
I've changed code of modifyRequest so that now it never disables the debug.
Then i've sorted out how to retrieve timing values (divided per phase and
component) for each node. Every group of information is identifiedy by the
shard name.
I've setted these information inside the standard timing element.

I don't know if these information can be usuful to someone else, in case i
can provide a patch,
but most important i would like to be sure that changing modifyRequest does
not affect the search (it shouldn't but i really appreciate a confirmation )

Thank you,

Edo

Reply via email to