You can also (I think) explicitly define the ping request handler in 
solrconfig.xml to do something else.

> On Aug 2, 2019, at 9:50 AM, Jörn Franke <jornfra...@gmail.com> wrote:
> 
> Not sure if this is possible, but why not create a query handler in Solr with 
> any custom query and you use that as ping replacement ?
> 
>> Am 02.08.2019 um 15:48 schrieb dinesh naik <dineshkumarn...@gmail.com>:
>> 
>> Hi all,
>> I have few clusters with huge data set and whenever a node goes down its
>> not able to recover due to below reasons:
>> 
>> 1. ping request handler is taking more than 10-15 seconds to respond. The
>> ping requesthandler however, expects it will return in less than 1 second
>> and fails a requestrecovery if it is not responded to in this time.
>> Therefore recoveries never would start.
>> 
>> 2. soft commit is very low ie. 5 sec. This is a business requirement so
>> not much can be done here.
>> 
>> As the standard/default admin/ping request handler is using *:* queries ,
>> the response time is much higher, and i am looking for an option to change
>> the same so that the ping handler returns the results within few
>> miliseconds.
>> 
>> here is an example for standard query time:
>> 
>> ----snip---
>> curl "
>> http://hostname:8983/solr/parts/select?indent=on&q=*:*&rows=0&wt=json&distrib=false&debug=timing
>> "
>> {
>> "responseHeader":{
>>   "zkConnected":true,
>>   "status":0,
>>   "QTime":16620,
>>   "params":{
>>     "q":"*:*",
>>     "distrib":"false",
>>     "debug":"timing",
>>     "indent":"on",
>>     "rows":"0",
>>     "wt":"json"}},
>> "response":{"numFound":1329638799,"start":0,"docs":[]
>> },
>> "debug":{
>>   "timing":{
>>     "time":16620.0,
>>     "prepare":{
>>       "time":0.0,
>>       "query":{
>>         "time":0.0},
>>       "facet":{
>>         "time":0.0},
>>       "facet_module":{
>>         "time":0.0},
>>       "mlt":{
>>         "time":0.0},
>>       "highlight":{
>>         "time":0.0},
>>       "stats":{
>>         "time":0.0},
>>       "expand":{
>>         "time":0.0},
>>       "terms":{
>>         "time":0.0},
>>       "block-expensive-queries":{
>>         "time":0.0},
>>       "slow-query-logger":{
>>         "time":0.0},
>>       "debug":{
>>         "time":0.0}},
>>     "process":{
>>       "time":16619.0,
>>       "query":{
>>         "time":16619.0},
>>       "facet":{
>>         "time":0.0},
>>       "facet_module":{
>>         "time":0.0},
>>       "mlt":{
>>         "time":0.0},
>>       "highlight":{
>>         "time":0.0},
>>       "stats":{
>>         "time":0.0},
>>       "expand":{
>>         "time":0.0},
>>       "terms":{
>>         "time":0.0},
>>       "block-expensive-queries":{
>>         "time":0.0},
>>       "slow-query-logger":{
>>         "time":0.0},
>>       "debug":{
>>         "time":0.0}}}}}
>> 
>> 
>> ----snap----
>> 
>> can we use query: _root_:abc in the ping request handler ? Tried this query
>> and its returning the results within few miliseconds and also the nodes are
>> able to recover without any issue.
>> 
>> we want to use _root_ field for querying as this field is available in all
>> our clusters with below definition:
>> <field name="_root_" type="string" omitNorms="true" indexed="true"
>> termOffsets="false" stored="false" termPayloads="false" termPositions=
>> "false" docValues="false" termVectors="false"/>
>> Could you please let me know if using _root_ for querying in
>> pingRequestHandler will cause any problem?
>> 
>> <requestHandler name="/admin/ping" class="solr.PingRequestHandler"> <lst
>> name="invariants"> <str name="qt">/select</str><!-- handler to delegate to
>> --> <str name="q">_root_:abc</str> </lst> </requestHandler>
>> 
>> 
>> -- 
>> Best Regards,
>> Dinesh Naik

Reply via email to