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