Class AbstractAsynchronousOperationHandlers.StatusHandler<T extends RestfulGateway,V,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,EmptyRequestBody,AsynchronousOperationResult<V>,M>
org.apache.flink.runtime.rest.handler.async.AbstractAsynchronousOperationHandlers.StatusHandler<T,V,M>
- Type Parameters:
T- type of the leader gatewayV- type of the operation resultM- type of the message headers
- 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.ClusterDataSetDeleteStatusHandler,RescalingHandlers.RescalingStatusHandler,SavepointDisposalHandlers.SavepointDisposalStatusHandler
- Enclosing class:
- AbstractAsynchronousOperationHandlers<K extends OperationKey,
R extends Serializable>
protected abstract class AbstractAsynchronousOperationHandlers.StatusHandler<T extends RestfulGateway,V,M extends MessageParameters>
extends AbstractRestHandler<T,EmptyRequestBody,AsynchronousOperationResult<V>,M>
Handler which will be polled to retrieve the asynchronous operation's result. The handler
returns a
AsynchronousOperationResult which indicates whether the operation is still
in progress or has completed. In case that the operation has been completed, the AsynchronousOperationResult contains the operation result.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandler
org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandler.Sharable -
Field Summary
Fields inherited from class org.apache.flink.runtime.rest.handler.AbstractHandler
log, MAPPERFields inherited from class org.apache.flink.runtime.rest.handler.LeaderRetrievalHandler
leaderRetriever, logger, responseHeaders, timeout -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedStatusHandler(GatewayRetriever<? extends T> leaderRetriever, Duration timeout, Map<String, String> responseHeaders, MessageHeaders<EmptyRequestBody, AsynchronousOperationResult<V>, M> messageHeaders) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract VexceptionalOperationResultResponse(Throwable throwable) Create an exceptional operation result from the givenThrowable.protected abstract KgetOperationKey(HandlerRequest<EmptyRequestBody> request) Extract the operation key under which the operation result future is stored.handleRequest(HandlerRequest<EmptyRequestBody> request, T gateway) This method is called for every incoming request and returns aCompletableFuturecontaining a the response.protected abstract VoperationResultResponse(R operationResult) Create the operation result from the given value.Methods inherited from class org.apache.flink.runtime.rest.handler.AbstractRestHandler
getMessageHeaders, respondToRequestMethods inherited from class org.apache.flink.runtime.rest.handler.AbstractHandler
closeAsync, respondAsLeaderMethods inherited from class org.apache.flink.runtime.rest.handler.LeaderRetrievalHandler
channelRead0, getTimeoutMethods inherited from class org.apache.flink.shaded.netty4.io.netty.channel.SimpleChannelInboundHandler
acceptInboundMessage, channelReadMethods inherited from class org.apache.flink.shaded.netty4.io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggeredMethods inherited from class org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharableMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.flink.util.AutoCloseableAsync
closeMethods inherited from interface org.apache.flink.shaded.netty4.io.netty.channel.ChannelHandler
handlerAdded, handlerRemoved
-
Constructor Details
-
StatusHandler
protected StatusHandler(GatewayRetriever<? extends T> leaderRetriever, Duration timeout, Map<String, String> responseHeaders, MessageHeaders<EmptyRequestBody, AsynchronousOperationResult<V>, M> messageHeaders)
-
-
Method Details
-
handleRequest
public CompletableFuture<AsynchronousOperationResult<V>> handleRequest(@Nonnull HandlerRequest<EmptyRequestBody> 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,EmptyRequestBody, AsynchronousOperationResult<V>, M extends MessageParameters> - Parameters:
request- request that should be handledgateway- leader gateway- Returns:
- future containing a handler response
- Throws:
RestHandlerException- if the handling failed
-
closeHandlerAsync
- Overrides:
closeHandlerAsyncin classAbstractHandler<T extends RestfulGateway,EmptyRequestBody, M extends MessageParameters>
-
getOperationKey
Extract the operation key under which the operation result future is stored.- Parameters:
request- with which the status handler has been called- Returns:
- Operation key under which the operation result future is stored
-
exceptionalOperationResultResponse
Create an exceptional operation result from the givenThrowable. This method is called if the asynchronous operation failed.- Parameters:
throwable- failure of the asynchronous operation- Returns:
- Exceptional operation result
-
operationResultResponse
Create the operation result from the given value.- Parameters:
operationResult- of the asynchronous operation- Returns:
- Operation result
-