Package org.apache.solr.handler
Class ReplicationHandler
- java.lang.Object
-
- org.apache.solr.handler.RequestHandlerBase
-
- org.apache.solr.handler.ReplicationHandler
-
- All Implemented Interfaces:
ApiSupport,SolrInfoBean,NestedRequestHandler,SolrMetricProducer,SolrRequestHandler,SolrCoreAware
public class ReplicationHandler extends RequestHandlerBase implements SolrCoreAware
A Handler which provides a REST API for replication and serves replication requests from Slaves.
When running on the master, it provides the following commands
- Get the current replicable index version (command=indexversion)
- Get the list of files for a given index version (command=filelist&indexversion=<VERSION>)
- Get full or a part (chunk) of a given index or a config file (command=filecontent&file=<FILE_NAME>) You can optionally specify an offset and length to get that chunk of the file. You can request a configuration file by using "cf" parameter instead of the "file" parameter.
- Get status/statistics (command=details)
When running on the slave, it provides the following commands
- Perform an index fetch now (command=snappull)
- Get status/statistics (command=details)
- Abort an index fetch (command=abort)
- Enable/Disable polling the master for new versions (command=enablepoll or command=disablepoll)
- Since:
- solr 1.4
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceReplicationHandler.PollListener-
Nested 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
appends, defaults, httpCaching, initArgs, invariants, metricManager, registryName
-
Fields inherited from interface org.apache.solr.request.SolrRequestHandler
TYPE
-
-
Constructor Summary
Constructors Constructor Description ReplicationHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanabortFetch()voidclose()IndexFetcher.IndexFetchResultdoFetch(SolrParams solrParams, boolean forceReplication)SolrInfoBean.CategorygetCategory()Category of this componentStringgetDescription()Simple one or two line descriptionvoidhandleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp)voidinform(SolrCore core)voidinitializeMetrics(SolrMetricManager manager, String registry, String tag, String scope)Initializes metrics specific to this producer.voidsetPollListener(ReplicationHandler.PollListener pollListener)-
Methods inherited from class org.apache.solr.handler.RequestHandlerBase
getApis, getInitArgs, getMetricNames, getMetricRegistry, getName, getPluginInfo, getRequestHandler, getSolrParamsFromNamedList, getSubHandler, handleRequest, init, setPluginInfo
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.solr.api.ApiSupport
registerV1, registerV2
-
Methods inherited from interface org.apache.solr.core.SolrInfoBean
getMetricsSnapshot, registerMetricName
-
Methods inherited from interface org.apache.solr.metrics.SolrMetricProducer
initializeMetrics
-
-
-
-
Field Detail
-
PATH
public static final String PATH
- See Also:
- Constant Field Values
-
MASTER_URL
public static final String MASTER_URL
- See Also:
- Constant Field Values
-
FETCH_FROM_LEADER
public static final String FETCH_FROM_LEADER
- See Also:
- Constant Field Values
-
SKIP_COMMIT_ON_MASTER_VERSION_ZERO
public static final String SKIP_COMMIT_ON_MASTER_VERSION_ZERO
- See Also:
- Constant Field Values
-
STATUS
public static final String STATUS
- See Also:
- Constant Field Values
-
COMMAND
public static final String COMMAND
- See Also:
- Constant Field Values
-
CMD_DETAILS
public static final String CMD_DETAILS
- See Also:
- Constant Field Values
-
CMD_BACKUP
public static final String CMD_BACKUP
- See Also:
- Constant Field Values
-
CMD_RESTORE
public static final String CMD_RESTORE
- See Also:
- Constant Field Values
-
CMD_RESTORE_STATUS
public static final String CMD_RESTORE_STATUS
- See Also:
- Constant Field Values
-
CMD_FETCH_INDEX
public static final String CMD_FETCH_INDEX
- See Also:
- Constant Field Values
-
CMD_ABORT_FETCH
public static final String CMD_ABORT_FETCH
- See Also:
- Constant Field Values
-
CMD_GET_FILE_LIST
public static final String CMD_GET_FILE_LIST
- See Also:
- Constant Field Values
-
CMD_GET_FILE
public static final String CMD_GET_FILE
- See Also:
- Constant Field Values
-
CMD_DISABLE_POLL
public static final String CMD_DISABLE_POLL
- See Also:
- Constant Field Values
-
CMD_DISABLE_REPL
public static final String CMD_DISABLE_REPL
- See Also:
- Constant Field Values
-
CMD_ENABLE_REPL
public static final String CMD_ENABLE_REPL
- See Also:
- Constant Field Values
-
CMD_ENABLE_POLL
public static final String CMD_ENABLE_POLL
- See Also:
- Constant Field Values
-
CMD_INDEX_VERSION
public static final String CMD_INDEX_VERSION
- See Also:
- Constant Field Values
-
CMD_SHOW_COMMITS
public static final String CMD_SHOW_COMMITS
- See Also:
- Constant Field Values
-
CMD_DELETE_BACKUP
public static final String CMD_DELETE_BACKUP
- See Also:
- Constant Field Values
-
GENERATION
public static final String GENERATION
- See Also:
- Constant Field Values
-
OFFSET
public static final String OFFSET
- See Also:
- Constant Field Values
-
LEN
public static final String LEN
- See Also:
- Constant Field Values
-
FILE
public static final String FILE
- See Also:
- Constant Field Values
-
SIZE
public static final String SIZE
- See Also:
- Constant Field Values
-
MAX_WRITE_PER_SECOND
public static final String MAX_WRITE_PER_SECOND
- See Also:
- Constant Field Values
-
CONF_FILE_SHORT
public static final String CONF_FILE_SHORT
- See Also:
- Constant Field Values
-
TLOG_FILE
public static final String TLOG_FILE
- See Also:
- Constant Field Values
-
CHECKSUM
public static final String CHECKSUM
- See Also:
- Constant Field Values
-
ALIAS
public static final String ALIAS
- See Also:
- Constant Field Values
-
CONF_CHECKSUM
public static final String CONF_CHECKSUM
- See Also:
- Constant Field Values
-
CONF_FILES
public static final String CONF_FILES
- See Also:
- Constant Field Values
-
TLOG_FILES
public static final String TLOG_FILES
- See Also:
- Constant Field Values
-
REPLICATE_AFTER
public static final String REPLICATE_AFTER
- See Also:
- Constant Field Values
-
FILE_STREAM
public static final String FILE_STREAM
- See Also:
- Constant Field Values
-
POLL_INTERVAL
public static final String POLL_INTERVAL
- See Also:
- Constant Field Values
-
INTERVAL_ERR_MSG
public static final String INTERVAL_ERR_MSG
- See Also:
- Constant Field Values
-
PACKET_SZ
public static final int PACKET_SZ
- See Also:
- Constant Field Values
-
RESERVE
public static final String RESERVE
- See Also:
- Constant Field Values
-
COMPRESSION
public static final String COMPRESSION
- See Also:
- Constant Field Values
-
EXTERNAL
public static final String EXTERNAL
- See Also:
- Constant Field Values
-
INTERNAL
public static final String INTERNAL
- See Also:
- Constant Field Values
-
ERR_STATUS
public static final String ERR_STATUS
- See Also:
- Constant Field Values
-
OK_STATUS
public static final String OK_STATUS
- See Also:
- Constant Field Values
-
NEXT_EXECUTION_AT
public static final String NEXT_EXECUTION_AT
- See Also:
- Constant Field Values
-
NUMBER_BACKUPS_TO_KEEP_REQUEST_PARAM
public static final String NUMBER_BACKUPS_TO_KEEP_REQUEST_PARAM
- See Also:
- Constant Field Values
-
NUMBER_BACKUPS_TO_KEEP_INIT_PARAM
public static final String NUMBER_BACKUPS_TO_KEEP_INIT_PARAM
- See Also:
- Constant Field Values
-
WAIT
public static final String WAIT
Boolean param for tests that can be specified when usingCMD_FETCH_INDEXto force the current request to block until the fetch is complete. NOTE: This param is not advised for non-test code, since the the duration of the fetch for non-trivial indexes will likeley cause the request to time out.- See Also:
- Constant Field Values
- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
-
Method Detail
-
setPollListener
public void setPollListener(ReplicationHandler.PollListener pollListener)
-
handleRequestBody
public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception
- Specified by:
handleRequestBodyin classRequestHandlerBase- Throws:
Exception
-
abortFetch
public boolean abortFetch()
-
doFetch
public IndexFetcher.IndexFetchResult doFetch(SolrParams solrParams, boolean forceReplication)
-
getCategory
public SolrInfoBean.Category getCategory()
Description copied from interface:SolrInfoBeanCategory of this component- Specified by:
getCategoryin interfaceSolrInfoBean- Overrides:
getCategoryin classRequestHandlerBase
-
getDescription
public String getDescription()
Description copied from interface:SolrInfoBeanSimple one or two line description- Specified by:
getDescriptionin interfaceSolrInfoBean- Specified by:
getDescriptionin classRequestHandlerBase
-
initializeMetrics
public void initializeMetrics(SolrMetricManager manager, String registry, String tag, String scope)
Description copied from interface:SolrMetricProducerInitializes metrics specific to this producer.Note: for back-compatibility this method by default calls
SolrMetricProducer.initializeMetrics(SolrMetricManager, String, String).- Specified by:
initializeMetricsin interfaceSolrMetricProducer- Overrides:
initializeMetricsin classRequestHandlerBase- Parameters:
manager- an instance ofSolrMetricManagerregistry- registry name where metrics are registeredtag- symbolic tag that represents a group of related instances that have the same life-cycle. Parent component can use thetagwhen callingSolrMetricManager.unregisterGauges(String, String)to unregister metrics created by this instance of the producer.scope- scope of the metrics (eg. handler name) to separate metrics of instances of the same component executing in different contexts
-
inform
public void inform(SolrCore core)
- Specified by:
informin interfaceSolrCoreAware
-
close
public void close()
-
-