Class HealthCheckHandler
- All Implemented Interfaces:
AutoCloseable,ApiSupport,SolrInfoBean,NestedRequestHandler,SolrMetricProducer,SolrRequestHandler,PermissionNameProvider
For the Solr Cloud mode by default the handler returns status 200 OK if all
checks succeed, else it returns status 503 UNAVAILABLE:
- Cores container is active.
- Node connected to zookeeper.
- Node listed in
live_nodesin zookeeper.
The handler takes an optional request parameter requireHealthyCores=true which
will also require that all local cores that are part of an active shard are done
initializing, i.e. not in states RECOVERING or DOWN. This parameter is
designed to help during rolling restarts, to make sure each node is fully initialized and stable
before proceeding with restarting the next node, and thus reduce the risk of restarting the last
live replica of a shard.
For the legacy mode the handler returns status 200 OK if all the cores configured
as follower have successfully replicated index from their respective leader after startup. Note
that this is a weak check i.e. once a follower has caught up with the leader the health check
will keep reporting 200 OK even if the follower starts lagging behind. You should
specify the acceptable generation lag follower should be with respect to its leader using the
maxGenerationLag=<max_generation_lag> request parameter. If
maxGenerationLag is not provided then health check would simply return OK.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.solr.handler.RequestHandlerBase
RequestHandlerBase.HandlerMetricsNested classes/interfaces inherited from interface org.apache.solr.security.PermissionNameProvider
PermissionNameProvider.NameNested classes/interfaces inherited from interface org.apache.solr.core.SolrInfoBean
SolrInfoBean.Category, SolrInfoBean.Group -
Field Summary
Fields inherited from class org.apache.solr.handler.RequestHandlerBase
aggregateNodeLevelMetricsEnabled, appends, defaults, httpCaching, initArgs, invariants, metrics, publishCpuTime, REQUEST_CPU_TIMER_CONTEXT, solrMetricsContext, SOURCE_ATTRFields inherited from interface org.apache.solr.security.PermissionNameProvider
ANY, NULL, valuesFields inherited from interface org.apache.solr.metrics.SolrMetricProducer
CATEGORY_ATTR, HANDLER_ATTR, NAME_ATTR, OPERATION_ATTR, PLUGIN_NAME_ATTR, RESULT_ATTR, TYPE_ATTRFields inherited from interface org.apache.solr.request.SolrRequestHandler
TYPE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetApis()Returns any (non-JAX-RS annotated) APIs associated with this request handler.Category of this componentSimple one or two line descriptiongetPermissionName(AuthorizationContext request) voidfinal voidinit(org.apache.solr.common.util.NamedList<?> args) Initializes theSolrRequestHandlerby creating threeSolrParamsnamed.Whether this request handler must be made available at the /v2/ pathMethods inherited from class org.apache.solr.handler.RequestHandlerBase
getInitArgs, getMetricsForThisRequest, getName, getPluginInfo, getRequestHandler, getSolrMetricsContext, getSolrParamsFromNamedList, getSubHandler, handleRequest, initializeMetrics, isInternalShardRequest, processErrorMetricsOnException, processReceivedException, setPluginInfoMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.solr.api.ApiSupport
getJerseyResources, registerV1Methods inherited from interface org.apache.solr.metrics.SolrMetricProducer
close
-
Constructor Details
-
HealthCheckHandler
-
-
Method Details
-
init
public final void init(org.apache.solr.common.util.NamedList<?> args) Description copied from class:RequestHandlerBaseInitializes theSolrRequestHandlerby creating threeSolrParamsnamed.table of parameters Name Description defaults Contains all of the named arguments contained within the list element named "defaults". appends Contains all of the named arguments contained within the list element named "appends". invariants Contains all of the named arguments contained within the list element named "invariants". Example:
<lst name="defaults"> <str name="echoParams">explicit</str> <str name="qf">text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0</str> <str name="mm">2<-1 5<-2 6<90%</str> <str name="bq">incubationdate_dt:[* TO NOW/DAY-1MONTH]^2.2</str> </lst> <lst name="appends"> <str name="fq">inStock:true</str> </lst> <lst name="invariants"> <str name="facet.field">cat</str> <str name="facet.field">manu_exact</str> <str name="facet.query">price:[* TO 500]</str> <str name="facet.query">price:[500 TO *]</str> </lst>
- Specified by:
initin interfaceSolrRequestHandler- Overrides:
initin classRequestHandlerBase- Parameters:
args- TheNamedListto initialize from- See Also:
-
getCoreContainer
-
handleRequestBody
- Specified by:
handleRequestBodyin classRequestHandlerBase- Throws:
Exception
-
getDescription
Description copied from interface:SolrInfoBeanSimple one or two line description- Specified by:
getDescriptionin interfaceSolrInfoBean- Specified by:
getDescriptionin classRequestHandlerBase
-
getCategory
Description copied from interface:SolrInfoBeanCategory of this component- Specified by:
getCategoryin interfaceSolrInfoBean- Overrides:
getCategoryin classRequestHandlerBase
-
registerV2
Description copied from interface:ApiSupportWhether this request handler must be made available at the /v2/ path -
getApis
Description copied from interface:ApiSupportReturns any (non-JAX-RS annotated) APIs associated with this request handler.- Specified by:
getApisin interfaceApiSupport- Overrides:
getApisin classRequestHandlerBase- See Also:
-
getPermissionName
-