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.DruidNodeDiscoveryProviderto 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 forSegmentListerResource.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.ServerRemovedCallback
-
-
Field Summary
Fields Modifier and Type Field Description static com.fasterxml.jackson.core.type.TypeReference<ChangeRequestsSnapshot<DataSegmentChangeRequest>>SEGMENT_LIST_RESP_TYPE_REF
-
Constructor Summary
Constructors Constructor Description HttpServerInventoryView(com.fasterxml.jackson.databind.ObjectMapper smileMapper, org.apache.druid.java.util.http.client.HttpClient httpClient, DruidNodeDiscoveryProvider druidNodeDiscoveryProvider, com.google.common.base.Predicate<org.apache.druid.java.util.common.Pair<DruidServerMetadata,org.apache.druid.timeline.DataSegment>> defaultFilter, HttpServerInventoryViewConfig config, org.apache.druid.java.util.emitter.service.ServiceEmitter serviceEmitter, org.apache.druid.java.util.common.concurrent.ScheduledExecutorFactory executorFactory, String execNamePrefix)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<String,Object>getDebugInfo()This method returns the debugging information exposed byHttpServerInventoryViewResourceand meant for that use only.Collection<DruidServer>getInventory()DruidServergetInventoryValue(String containerKey)booleanisSegmentLoadedByServer(String serverKey, org.apache.druid.timeline.DataSegment segment)booleanisStarted()voidregisterSegmentCallback(Executor exec, ServerView.SegmentCallback callback)voidregisterSegmentCallback(Executor exec, ServerView.SegmentCallback callback, com.google.common.base.Predicate<org.apache.druid.java.util.common.Pair<DruidServerMetadata,org.apache.druid.timeline.DataSegment>> filter)voidregisterServerRemovedCallback(Executor exec, ServerView.ServerRemovedCallback callback)voidstart()voidstop()
-
-
-
Field Detail
-
SEGMENT_LIST_RESP_TYPE_REF
public static final com.fasterxml.jackson.core.type.TypeReference<ChangeRequestsSnapshot<DataSegmentChangeRequest>> SEGMENT_LIST_RESP_TYPE_REF
-
-
Constructor Detail
-
HttpServerInventoryView
public HttpServerInventoryView(com.fasterxml.jackson.databind.ObjectMapper smileMapper, org.apache.druid.java.util.http.client.HttpClient httpClient, DruidNodeDiscoveryProvider druidNodeDiscoveryProvider, com.google.common.base.Predicate<org.apache.druid.java.util.common.Pair<DruidServerMetadata,org.apache.druid.timeline.DataSegment>> defaultFilter, HttpServerInventoryViewConfig config, org.apache.druid.java.util.emitter.service.ServiceEmitter serviceEmitter, org.apache.druid.java.util.common.concurrent.ScheduledExecutorFactory executorFactory, String execNamePrefix)
-
-
Method Detail
-
start
public void start()
-
stop
public void stop()
-
registerSegmentCallback
public void registerSegmentCallback(Executor exec, ServerView.SegmentCallback callback, com.google.common.base.Predicate<org.apache.druid.java.util.common.Pair<DruidServerMetadata,org.apache.druid.timeline.DataSegment>> filter)
- Specified by:
registerSegmentCallbackin interfaceFilteredServerInventoryView
-
registerServerRemovedCallback
public void registerServerRemovedCallback(Executor exec, ServerView.ServerRemovedCallback callback)
- Specified by:
registerServerRemovedCallbackin interfaceFilteredServerInventoryView- Specified by:
registerServerRemovedCallbackin interfaceServerView
-
registerSegmentCallback
public void registerSegmentCallback(Executor exec, ServerView.SegmentCallback callback)
- Specified by:
registerSegmentCallbackin interfaceServerView
-
getInventoryValue
public DruidServer getInventoryValue(String containerKey)
- Specified by:
getInventoryValuein interfaceInventoryView
-
getInventory
public Collection<DruidServer> getInventory()
- Specified by:
getInventoryin interfaceInventoryView
-
getDebugInfo
public Map<String,Object> 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
public boolean isSegmentLoadedByServer(String serverKey, org.apache.druid.timeline.DataSegment segment)
- Specified by:
isSegmentLoadedByServerin interfaceInventoryView
-
-