Package org.apache.druid.client
Class FilteringSegmentCallback
java.lang.Object
org.apache.druid.client.FilteringSegmentCallback
- All Implemented Interfaces:
ServerView.SegmentCallback
A SegmentCallback that is called only when the given filter satisfies.
segmentViewInitialized() is an exception and always called
when the view is initialized without using the filter.
Callback methods return ServerView.CallbackAction.CONTINUE when the filter does not satisfy.-
Constructor Summary
ConstructorsConstructorDescriptionFilteringSegmentCallback(ServerView.SegmentCallback callback, com.google.common.base.Predicate<Pair<DruidServerMetadata, DataSegment>> filter) -
Method Summary
Modifier and TypeMethodDescriptionsegmentAdded(DruidServerMetadata server, DataSegment segment) Called when a segment is added to a server.segmentRemoved(DruidServerMetadata server, DataSegment segment) Called when a segment is removed from a server.segmentSchemasAnnounced(SegmentSchemas segmentSchemas) Called when segment schema is announced.
-
Constructor Details
-
FilteringSegmentCallback
public FilteringSegmentCallback(ServerView.SegmentCallback callback, com.google.common.base.Predicate<Pair<DruidServerMetadata, DataSegment>> filter)
-
-
Method Details
-
segmentAdded
Description copied from interface:ServerView.SegmentCallbackCalled when a segment is added to a server. The return value indicates if this callback has completed its work. Note that even if this callback indicates that it should be unregistered, it is not possible to guarantee that this callback will not get called again. There is a race condition between when this callback runs and other events that can cause the callback to be queued for running. Thus, callbacks shouldn't assume that they will not get called again after they are done. The contract is that the callback will eventually be unregistered, enforcing a happens-before relationship is not part of the contract.- Specified by:
segmentAddedin interfaceServerView.SegmentCallback- Parameters:
server- The server that added a segmentsegment- The segment that was added- Returns:
- UNREGISTER if the callback has completed its work and should be unregistered. CONTINUE if the callback should remain registered.
-
segmentRemoved
Description copied from interface:ServerView.SegmentCallbackCalled when a segment is removed from a server. The return value indicates if this callback has completed its work. Note that even if this callback indicates that it should be unregistered, it is not possible to guarantee that this callback will not get called again. There is a race condition between when this callback runs and other events that can cause the callback to be queued for running. Thus, callbacks shouldn't assume that they will not get called again after they are done. The contract is that the callback will eventually be unregistered, enforcing a happens-before relationship is not part of the contract.- Specified by:
segmentRemovedin interfaceServerView.SegmentCallback- Parameters:
server- The server that removed a segmentsegment- The segment that was removed- Returns:
- UNREGISTER if the callback has completed its work and should be unregistered. CONTINUE if the callback should remain registered.
-
segmentViewInitialized
- Specified by:
segmentViewInitializedin interfaceServerView.SegmentCallback
-
segmentSchemasAnnounced
Description copied from interface:ServerView.SegmentCallbackCalled when segment schema is announced.- Specified by:
segmentSchemasAnnouncedin interfaceServerView.SegmentCallback- Parameters:
segmentSchemas- segment schema- Returns:
- continue or unregister
-