Class AbstractAsynchronousOperationHandlers.TriggerHandler<T extends RestfulGateway,B extends RequestBody,M extends MessageParameters>
- java.lang.Object
-
- org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandlerAdapter
-
- org.apache.flink.shaded.netty4.io.netty.channel.ChannelInboundHandlerAdapter
-
- org.apache.flink.shaded.netty4.io.netty.channel.SimpleChannelInboundHandler<RoutedRequest>
-
- org.apache.flink.runtime.rest.handler.LeaderRetrievalHandler<T>
-
- org.apache.flink.runtime.rest.handler.AbstractHandler<T,R,M>
-
- org.apache.flink.runtime.rest.handler.AbstractRestHandler<T,B,TriggerResponse,M>
-
- org.apache.flink.runtime.rest.handler.async.AbstractAsynchronousOperationHandlers.TriggerHandler<T,B,M>
-
- Type Parameters:
T- type of the gatewayB- type of the requestM- type of the message parameters
- All Implemented Interfaces:
AutoCloseable,org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandler,org.apache.flink.shaded.netty4.io.netty.channel.ChannelInboundHandler,org.apache.flink.util.AutoCloseableAsync
- Direct Known Subclasses:
ClusterDataSetDeleteHandlers.ClusterDataSetDeleteTriggerHandler,RescalingHandlers.RescalingTriggerHandler,SavepointDisposalHandlers.SavepointDisposalTriggerHandler
- Enclosing class:
- AbstractAsynchronousOperationHandlers<K extends OperationKey,R extends Serializable>
protected abstract class AbstractAsynchronousOperationHandlers.TriggerHandler<T extends RestfulGateway,B extends RequestBody,M extends MessageParameters> extends AbstractRestHandler<T,B,TriggerResponse,M>
Handler which is responsible for triggering an asynchronous operation. After the operation has been triggered, it stores the result future in theAbstractAsynchronousOperationHandlers.completedOperationCache.
-
-
Field Summary
-
Fields inherited from class org.apache.flink.runtime.rest.handler.AbstractHandler
log, MAPPER
-
Fields inherited from class org.apache.flink.runtime.rest.handler.LeaderRetrievalHandler
leaderRetriever, logger, responseHeaders, timeout
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedTriggerHandler(GatewayRetriever<? extends T> leaderRetriever, Duration timeout, Map<String,String> responseHeaders, MessageHeaders<B,TriggerResponse,M> messageHeaders)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract KcreateOperationKey(HandlerRequest<B> request)Create the operation key under which the result future of the asynchronous operation will be stored.CompletableFuture<TriggerResponse>handleRequest(HandlerRequest<B> request, T gateway)This method is called for every incoming request and returns aCompletableFuturecontaining a the response.protected abstract CompletableFuture<R>triggerOperation(HandlerRequest<B> request, T gateway)Trigger the asynchronous operation and return its future result.-
Methods inherited from class org.apache.flink.runtime.rest.handler.AbstractRestHandler
getMessageHeaders, respondToRequest
-
Methods inherited from class org.apache.flink.runtime.rest.handler.AbstractHandler
closeAsync, closeHandlerAsync, respondAsLeader
-
Methods inherited from class org.apache.flink.runtime.rest.handler.LeaderRetrievalHandler
channelRead0, getTimeout
-
Methods inherited from class org.apache.flink.shaded.netty4.io.netty.channel.SimpleChannelInboundHandler
acceptInboundMessage, channelRead
-
Methods inherited from class org.apache.flink.shaded.netty4.io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
-
Methods inherited from class org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharable
-
-
-
-
Constructor Detail
-
TriggerHandler
protected TriggerHandler(GatewayRetriever<? extends T> leaderRetriever, Duration timeout, Map<String,String> responseHeaders, MessageHeaders<B,TriggerResponse,M> messageHeaders)
-
-
Method Detail
-
handleRequest
public CompletableFuture<TriggerResponse> handleRequest(@Nonnull HandlerRequest<B> request, @Nonnull T gateway) throws RestHandlerException
Description copied from class:AbstractRestHandlerThis method is called for every incoming request and returns aCompletableFuturecontaining a the response.Implementations may decide whether to throw
RestHandlerExceptions or fail the returnedCompletableFuturewith aRestHandlerException.Failing the future with another exception type or throwing unchecked exceptions is regarded as an implementation error as it does not allow us to provide a meaningful HTTP status code. In this case a
HttpResponseStatus.INTERNAL_SERVER_ERRORwill be returned.- Specified by:
handleRequestin classAbstractRestHandler<T extends RestfulGateway,B extends RequestBody,TriggerResponse,M extends MessageParameters>- Parameters:
request- request that should be handledgateway- leader gateway- Returns:
- future containing a handler response
- Throws:
RestHandlerException- if the handling failed
-
triggerOperation
protected abstract CompletableFuture<R> triggerOperation(HandlerRequest<B> request, T gateway) throws RestHandlerException
Trigger the asynchronous operation and return its future result.- Parameters:
request- with which the trigger handler has been calledgateway- to the leader- Returns:
- Future result of the asynchronous operation
- Throws:
RestHandlerException- if something went wrong
-
createOperationKey
protected abstract K createOperationKey(HandlerRequest<B> request)
Create the operation key under which the result future of the asynchronous operation will be stored.- Parameters:
request- with which the trigger handler has been called.- Returns:
- Operation key under which the result future will be stored
-
-