Package org.apache.druid.client
Class HttpServerInventoryView
java.lang.Object
org.apache.druid.client.HttpServerInventoryView
- All Implemented Interfaces:
FilteredServerInventoryView,InventoryView,ServerInventoryView,ServerView
public class HttpServerInventoryView
extends Object
implements ServerInventoryView, FilteredServerInventoryView
This class uses internal-discovery i.e.
DruidNodeDiscoveryProvider to discover various queryable nodes in the
cluster such as historicals and realtime peon processes.
For each queryable server, it uses HTTP GET /druid-internal/v1/segments (see docs for SegmentListerResource.getSegments(long, long, long, javax.servlet.http.HttpServletRequest)), to keep sync'd state of segments served by those
servers.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.druid.client.ServerView
ServerView.BaseSegmentCallback, ServerView.CallbackAction, ServerView.SegmentCallback, ServerView.ServerCallback -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final com.fasterxml.jackson.core.type.TypeReference<ChangeRequestsSnapshot<DataSegmentChangeRequest>> -
Constructor Summary
ConstructorsConstructorDescriptionHttpServerInventoryView(com.fasterxml.jackson.databind.ObjectMapper smileMapper, HttpClient httpClient, DruidNodeDiscoveryProvider druidNodeDiscoveryProvider, com.google.common.base.Predicate<Pair<DruidServerMetadata, DataSegment>> defaultFilter, HttpServerInventoryViewConfig config, ServiceEmitter serviceEmitter, ScheduledExecutorFactory executorFactory, String execNamePrefix) -
Method Summary
Modifier and TypeMethodDescriptionThis method returns the debugging information exposed byHttpServerInventoryViewResourceand meant for that use only.getInventoryValue(String containerKey) booleanisSegmentLoadedByServer(String serverKey, DataSegment segment) booleanvoidregisterSegmentCallback(Executor exec, ServerView.SegmentCallback callback) voidregisterSegmentCallback(Executor exec, ServerView.SegmentCallback callback, com.google.common.base.Predicate<Pair<DruidServerMetadata, DataSegment>> filter) voidregisterServerCallback(Executor exec, ServerView.ServerCallback callback) voidstart()voidstop()
-
Field Details
-
SEGMENT_LIST_RESP_TYPE_REF
public static final com.fasterxml.jackson.core.type.TypeReference<ChangeRequestsSnapshot<DataSegmentChangeRequest>> SEGMENT_LIST_RESP_TYPE_REF
-
-
Constructor Details
-
HttpServerInventoryView
public HttpServerInventoryView(com.fasterxml.jackson.databind.ObjectMapper smileMapper, HttpClient httpClient, DruidNodeDiscoveryProvider druidNodeDiscoveryProvider, com.google.common.base.Predicate<Pair<DruidServerMetadata, DataSegment>> defaultFilter, HttpServerInventoryViewConfig config, ServiceEmitter serviceEmitter, ScheduledExecutorFactory executorFactory, String execNamePrefix)
-
-
Method Details
-
start
public void start() -
stop
public void stop() -
registerSegmentCallback
public void registerSegmentCallback(Executor exec, ServerView.SegmentCallback callback, com.google.common.base.Predicate<Pair<DruidServerMetadata, DataSegment>> filter) - Specified by:
registerSegmentCallbackin interfaceFilteredServerInventoryView
-
registerServerCallback
- Specified by:
registerServerCallbackin interfaceFilteredServerInventoryView- Specified by:
registerServerCallbackin interfaceServerView
-
registerSegmentCallback
- Specified by:
registerSegmentCallbackin interfaceServerView
-
getInventoryValue
- Specified by:
getInventoryValuein interfaceInventoryView
-
getInventory
- Specified by:
getInventoryin interfaceInventoryView
-
getDebugInfo
This method returns the debugging information exposed byHttpServerInventoryViewResourceand meant for that use only. It must not be used for any other purpose. -
isStarted
public boolean isStarted()- Specified by:
isStartedin interfaceInventoryView
-
isSegmentLoadedByServer
- Specified by:
isSegmentLoadedByServerin interfaceInventoryView
-