Package org.apache.solr.update
Class UpdateShardHandler
- java.lang.Object
-
- org.apache.solr.update.UpdateShardHandler
-
- All Implemented Interfaces:
AutoCloseable,SolrInfoBean,SolrMetricProducer
public class UpdateShardHandler extends Object implements SolrMetricProducer, SolrInfoBean
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.solr.core.SolrInfoBean
SolrInfoBean.Category, SolrInfoBean.Group
-
-
Constructor Summary
Constructors Constructor Description UpdateShardHandler(UpdateShardHandlerConfig cfg)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Implementations should always callSolrMetricProducer.super.close()to ensure that metrics with the same life-cycle as this component are properly unregistered.SolrInfoBean.CategorygetCategory()Category of this componentintgetConnectionTimeout()org.apache.http.impl.conn.PoolingHttpClientConnectionManagergetDefaultConnectionManager()org.apache.http.client.HttpClientgetDefaultHttpClient()StringgetDescription()Simple one or two line descriptionSet<String>getMetricNames()Modifiable set of metric names that this component reports (default is null, which means none).StringgetName()Simple common usage name, e.g.ExecutorServicegetRecoveryExecutor()org.apache.http.impl.conn.PoolingHttpClientConnectionManagergetRecoveryOnlyConnectionManager()org.apache.http.client.HttpClientgetRecoveryOnlyHttpClient()intgetSocketTimeout()SolrMetricsContextgetSolrMetricsContext()Implementing classes should override this method to provide the context obtained inSolrMetricProducer.initializeMetrics(SolrMetricsContext, String)to ensure proper cleanup of metrics at the end of the life-cycle of this component.ExecutorServicegetUpdateExecutor()This method returns an executor that is meant for non search related tasks.Http2SolrClientgetUpdateOnlyHttpClient()voidinitializeMetrics(SolrMetricsContext parentContext, String scope)Initialize metrics specific to this producer.voidsetSecurityBuilder(HttpClientBuilderPlugin builder)-
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.core.SolrInfoBean
getMetricRegistry, getMetricsSnapshot, registerMetricName
-
Methods inherited from interface org.apache.solr.metrics.SolrMetricProducer
initializeMetrics
-
-
-
-
Constructor Detail
-
UpdateShardHandler
public UpdateShardHandler(UpdateShardHandlerConfig cfg)
-
-
Method Detail
-
getName
public String getName()
Description copied from interface:SolrInfoBeanSimple common usage name, e.g. BasicQueryHandler, or fully qualified class name.- Specified by:
getNamein interfaceSolrInfoBean
-
initializeMetrics
public void initializeMetrics(SolrMetricsContext parentContext, String scope)
Description copied from interface:SolrMetricProducerInitialize metrics specific to this producer.- Specified by:
initializeMetricsin interfaceSolrMetricProducer- Parameters:
parentContext- parent metrics context. If this component has the same life-cycle as the parent it can simply use the parent context, otherwise it should obtain a child context usingSolrMetricsContext.getChildContext(Object)passingthisas the child.scope- component scope
-
getDescription
public String getDescription()
Description copied from interface:SolrInfoBeanSimple one or two line description- Specified by:
getDescriptionin interfaceSolrInfoBean
-
getCategory
public SolrInfoBean.Category getCategory()
Description copied from interface:SolrInfoBeanCategory of this component- Specified by:
getCategoryin interfaceSolrInfoBean
-
getMetricNames
public Set<String> getMetricNames()
Description copied from interface:SolrInfoBeanModifiable set of metric names that this component reports (default is null, which means none). If not null then this set is used bySolrInfoBean.registerMetricName(String)to capture what metrics names are reported from this component.NOTE: this set has to allow iteration under modifications.
- Specified by:
getMetricNamesin interfaceSolrInfoBean
-
getSolrMetricsContext
public SolrMetricsContext getSolrMetricsContext()
Description copied from interface:SolrMetricProducerImplementing classes should override this method to provide the context obtained inSolrMetricProducer.initializeMetrics(SolrMetricsContext, String)to ensure proper cleanup of metrics at the end of the life-cycle of this component.- Specified by:
getSolrMetricsContextin interfaceSolrMetricProducer
-
getDefaultHttpClient
public org.apache.http.client.HttpClient getDefaultHttpClient()
-
getUpdateOnlyHttpClient
public Http2SolrClient getUpdateOnlyHttpClient()
-
getRecoveryOnlyHttpClient
public org.apache.http.client.HttpClient getRecoveryOnlyHttpClient()
-
getUpdateExecutor
public ExecutorService getUpdateExecutor()
This method returns an executor that is meant for non search related tasks.- Returns:
- an executor for update side related activities.
-
getDefaultConnectionManager
public org.apache.http.impl.conn.PoolingHttpClientConnectionManager getDefaultConnectionManager()
-
getRecoveryOnlyConnectionManager
public org.apache.http.impl.conn.PoolingHttpClientConnectionManager getRecoveryOnlyConnectionManager()
-
getRecoveryExecutor
public ExecutorService getRecoveryExecutor()
- Returns:
- executor for recovery operations
-
close
public void close()
Description copied from interface:SolrMetricProducerImplementations should always callSolrMetricProducer.super.close()to ensure that metrics with the same life-cycle as this component are properly unregistered. This prevents obscure memory leaks. from: https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html While this interface method is declared to throw Exception, implementers are strongly encouraged to declare concrete implementations of the close method to throw more specific exceptions, or to throw no exception at all if the close operation cannot fail.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceSolrMetricProducer
-
getSocketTimeout
public int getSocketTimeout()
-
getConnectionTimeout
public int getConnectionTimeout()
-
setSecurityBuilder
public void setSecurityBuilder(HttpClientBuilderPlugin builder)
-
-