Class ChangeRequestHistory<T>
java.lang.Object
org.apache.druid.server.coordination.ChangeRequestHistory<T>
This class keeps a bounded list of segment updates made on the server such as adding/dropping segments.
Clients call
addChangeRequest(T) or addChangeRequests(java.util.List<T>) to add updates (e. g. of segments).
Clients call getRequestsSince(org.apache.druid.server.coordination.ChangeRequestHistory.Counter) to get updates since given counter.-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddChangeRequest(T request) Add single segment change update.voidaddChangeRequests(List<T> requests) Add batch of segment changes update.com.google.common.util.concurrent.ListenableFuture<ChangeRequestsSnapshot<T>>Returns a Future that, on completion, returns list of segment updates and associated counter.voidstop()
-
Constructor Details
-
ChangeRequestHistory
public ChangeRequestHistory() -
ChangeRequestHistory
public ChangeRequestHistory(int maxSize)
-
-
Method Details
-
stop
public void stop() -
addChangeRequests
Add batch of segment changes update. -
addChangeRequest
Add single segment change update. -
getRequestsSince
public com.google.common.util.concurrent.ListenableFuture<ChangeRequestsSnapshot<T>> getRequestsSince(ChangeRequestHistory.Counter counter) Returns a Future that, on completion, returns list of segment updates and associated counter. If there are no update since given counter then Future completion waits till an updates is provided. If counter is older than max number of changes maintained thenChangeRequestsSnapshotis returned withChangeRequestsSnapshot.resetCounterset to True. If there were no updates to provide immediately then a future is created and returned to caller. This future is added to the "waitingFutures" list and all the futures in the list get resolved as soon as a segment update is provided. -
getLastCounter
-