public class CdcrRequestHandler extends RequestHandlerBase implements SolrCoreAware
This request handler implements the CDCR API and is responsible of the execution of the
CdcrReplicator
threads.
It relies on three classes, CdcrLeaderStateManager
,
CdcrBufferStateManager
and CdcrProcessStateManager
to synchronise the state of the CDCR across all the nodes.
The CDCR process can be either CdcrParams.ProcessState.STOPPED
or CdcrParams.ProcessState.STARTED
by using the
actions CdcrParams.CdcrAction.STOP
and CdcrParams.CdcrAction.START
respectively. If a node is leader and the process
state is CdcrParams.ProcessState.STARTED
, the CdcrReplicatorManager
will
start the CdcrReplicator
threads. If a node becomes non-leader or if the process state becomes
CdcrParams.ProcessState.STOPPED
, the CdcrReplicator
threads are stopped.
The CDCR can be switched to a "buffering" mode, in which the update log will never delete old transaction log
files. Such a mode can be enabled or disabled using the action CdcrParams.CdcrAction.ENABLEBUFFER
and
CdcrParams.CdcrAction.DISABLEBUFFER
respectively.
Known limitations: The source and target clusters must have the same topology. Replication between clusters with a different number of shards will likely results in an inconsistent index.
SolrInfoBean.Category, SolrInfoBean.Group
appends, defaults, httpCaching, initArgs, invariants, metricManager, registryName
TYPE
Constructor and Description |
---|
CdcrRequestHandler() |
Modifier and Type | Method and Description |
---|---|
SolrInfoBean.Category |
getCategory()
Category of this component
|
String |
getDescription()
Simple one or two line description
|
void |
handleRequestBody(SolrQueryRequest req,
SolrQueryResponse rsp) |
void |
inform(SolrCore core) |
void |
init(NamedList args)
Initializes the
SolrRequestHandler by creating three SolrParams named. |
getApis, getInitArgs, getMetricNames, getMetricRegistry, getName, getPluginInfo, getRequestHandler, getSolrParamsFromNamedList, getSubHandler, handleRequest, initializeMetrics, setPluginInfo
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getMetricsSnapshot, registerMetricName
registerV1, registerV2
public void init(NamedList args)
RequestHandlerBase
SolrRequestHandler
by creating three SolrParams
named.
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". |
<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>
init
in interface SolrRequestHandler
init
in class RequestHandlerBase
args
- The NamedList
to initialize fromRequestHandlerBase.handleRequest(org.apache.solr.request.SolrQueryRequest, org.apache.solr.response.SolrQueryResponse)
,
RequestHandlerBase.handleRequestBody(org.apache.solr.request.SolrQueryRequest, org.apache.solr.response.SolrQueryResponse)
,
SolrPluginUtils.setDefaults(org.apache.solr.request.SolrQueryRequest, org.apache.solr.common.params.SolrParams, org.apache.solr.common.params.SolrParams, org.apache.solr.common.params.SolrParams)
,
See also the example solrconfig.xml located in the Solr codebase (example/solr/conf).
public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception
handleRequestBody
in class RequestHandlerBase
Exception
public void inform(SolrCore core)
inform
in interface SolrCoreAware
public String getDescription()
SolrInfoBean
getDescription
in interface SolrInfoBean
getDescription
in class RequestHandlerBase
public SolrInfoBean.Category getCategory()
SolrInfoBean
getCategory
in interface SolrInfoBean
getCategory
in class RequestHandlerBase
Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.