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
,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 protected
TriggerHandler(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 K
createOperationKey(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 aCompletableFuture
containing 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.util.AutoCloseableAsync
close
-
-
-
-
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:AbstractRestHandler
This method is called for every incoming request and returns aCompletableFuture
containing a the response.Implementations may decide whether to throw
RestHandlerException
s or fail the returnedCompletableFuture
with 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_ERROR
will be returned.- Specified by:
handleRequest
in 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
-
-