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 void
close()
Implementations should always callSolrMetricProducer.super.close()
to ensure that metrics with the same life-cycle as this component are properly unregistered.SolrInfoBean.Category
getCategory()
Category of this componentint
getConnectionTimeout()
org.apache.http.impl.conn.PoolingHttpClientConnectionManager
getDefaultConnectionManager()
org.apache.http.client.HttpClient
getDefaultHttpClient()
String
getDescription()
Simple one or two line descriptionSet<String>
getMetricNames()
Modifiable set of metric names that this component reports (default is null, which means none).String
getName()
Simple common usage name, e.g.ExecutorService
getRecoveryExecutor()
org.apache.http.impl.conn.PoolingHttpClientConnectionManager
getRecoveryOnlyConnectionManager()
org.apache.http.client.HttpClient
getRecoveryOnlyHttpClient()
int
getSocketTimeout()
SolrMetricsContext
getSolrMetricsContext()
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.ExecutorService
getUpdateExecutor()
This method returns an executor that is meant for non search related tasks.Http2SolrClient
getUpdateOnlyHttpClient()
void
initializeMetrics(SolrMetricsContext parentContext, String scope)
Initialize metrics specific to this producer.void
setSecurityBuilder(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:SolrInfoBean
Simple common usage name, e.g. BasicQueryHandler, or fully qualified class name.- Specified by:
getName
in interfaceSolrInfoBean
-
initializeMetrics
public void initializeMetrics(SolrMetricsContext parentContext, String scope)
Description copied from interface:SolrMetricProducer
Initialize metrics specific to this producer.- Specified by:
initializeMetrics
in 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)
passingthis
as the child.scope
- component scope
-
getDescription
public String getDescription()
Description copied from interface:SolrInfoBean
Simple one or two line description- Specified by:
getDescription
in interfaceSolrInfoBean
-
getCategory
public SolrInfoBean.Category getCategory()
Description copied from interface:SolrInfoBean
Category of this component- Specified by:
getCategory
in interfaceSolrInfoBean
-
getMetricNames
public Set<String> getMetricNames()
Description copied from interface:SolrInfoBean
Modifiable 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:
getMetricNames
in interfaceSolrInfoBean
-
getSolrMetricsContext
public SolrMetricsContext getSolrMetricsContext()
Description copied from interface:SolrMetricProducer
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.- Specified by:
getSolrMetricsContext
in 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:SolrMetricProducer
Implementations 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:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceSolrMetricProducer
-
getSocketTimeout
public int getSocketTimeout()
-
getConnectionTimeout
public int getConnectionTimeout()
-
setSecurityBuilder
public void setSecurityBuilder(HttpClientBuilderPlugin builder)
-
-