public class ServerHolder extends Object implements Comparable<ServerHolder>
ServerHolders are naturally ordered by available size, servers with more available size first.
| Constructor and Description |
|---|
ServerHolder(ImmutableDruidServer server,
LoadQueuePeon peon) |
ServerHolder(ImmutableDruidServer server,
LoadQueuePeon peon,
boolean isDecommissioning) |
ServerHolder(ImmutableDruidServer server,
LoadQueuePeon peon,
boolean isDecommissioning,
int maxSegmentsInLoadQueue,
int maxLifetimeInQueue)
Creates a new ServerHolder valid for a single coordinator run.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
cancelOperation(SegmentAction action,
DataSegment segment) |
boolean |
canLoadSegment(DataSegment segment)
Checks if the server can load the given segment.
|
int |
compareTo(ServerHolder serverHolder) |
boolean |
equals(Object o) |
SegmentAction |
getActionOnSegment(DataSegment segment) |
long |
getAvailableSize() |
List<DataSegment> |
getLoadingSegments()
Segments that are currently in the queue for being loaded on this server.
|
long |
getMaxSize() |
int |
getNumLoadingReplicas() |
int |
getNumMovingSegments() |
LoadQueuePeon |
getPeon() |
double |
getPercentUsed() |
SegmentCountsPerInterval |
getProjectedSegments()
Segments that are expected to be loaded on this server once all the
operations in progress have completed.
|
Map<DataSegment,SegmentAction> |
getQueuedSegments()
Segments queued for load, drop or move on this server.
|
Collection<DataSegment> |
getServedSegments()
Segments that are currently loaded on this server.
|
ImmutableDruidServer |
getServer() |
long |
getSizeUsed() |
int |
hashCode() |
boolean |
hasSegmentLoaded(SegmentId segmentId) |
boolean |
isDecommissioning() |
boolean |
isDroppingSegment(DataSegment segment) |
boolean |
isLoadingSegment(DataSegment segment) |
boolean |
isProjectedSegment(DataSegment segment) |
boolean |
isRealtimeServer() |
boolean |
isServingSegment(DataSegment segment)
Returns true if this server has the segment loaded and is not dropping it.
|
boolean |
startOperation(SegmentAction action,
DataSegment segment) |
String |
toString() |
public ServerHolder(ImmutableDruidServer server, LoadQueuePeon peon)
public ServerHolder(ImmutableDruidServer server, LoadQueuePeon peon, boolean isDecommissioning)
public ServerHolder(ImmutableDruidServer server, LoadQueuePeon peon, boolean isDecommissioning, int maxSegmentsInLoadQueue, int maxLifetimeInQueue)
server - Underlying Druid serverpeon - Load queue peon for this serverisDecommissioning - Whether the server is decommissioningmaxSegmentsInLoadQueue - Max number of segments that can be present in
the load queue at any point. If this is 0, the
load queue can have an unlimited number of segments.maxLifetimeInQueue - Number of coordinator runs after a which a segment
in load/drop queue is considered to be stuck.public ImmutableDruidServer getServer()
public LoadQueuePeon getPeon()
public long getMaxSize()
public long getSizeUsed()
public double getPercentUsed()
public boolean isDecommissioning()
public long getAvailableSize()
public boolean canLoadSegment(DataSegment segment)
A load is possible only if the server meets all of the following criteria:
public SegmentAction getActionOnSegment(DataSegment segment)
public Map<DataSegment,SegmentAction> getQueuedSegments()
public SegmentCountsPerInterval getProjectedSegments()
public boolean isProjectedSegment(DataSegment segment)
public List<DataSegment> getLoadingSegments()
public Collection<DataSegment> getServedSegments()
public boolean isServingSegment(DataSegment segment)
public boolean isLoadingSegment(DataSegment segment)
public boolean isDroppingSegment(DataSegment segment)
public int getNumMovingSegments()
public int getNumLoadingReplicas()
public boolean startOperation(SegmentAction action, DataSegment segment)
public boolean cancelOperation(SegmentAction action, DataSegment segment)
public boolean hasSegmentLoaded(SegmentId segmentId)
public boolean isRealtimeServer()
public int compareTo(ServerHolder serverHolder)
compareTo in interface Comparable<ServerHolder>Copyright © 2011–2023 The Apache Software Foundation. All rights reserved.