Package com.linkedin.alpini.router
Class ScatterGatherRequestHandler4<H,P extends ResourcePath<K>,K,R>
- java.lang.Object
-
- com.linkedin.alpini.router.ScatterGatherRequestHandler<H,P,K,R>
-
- com.linkedin.alpini.router.ScatterGatherRequestHandlerImpl<H,P,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
- com.linkedin.alpini.router.ScatterGatherRequestHandler4<H,P,K,R>
-
- All Implemented Interfaces:
AsyncFullHttpRequestHandler.RequestHandler
public class ScatterGatherRequestHandler4<H,P extends ResourcePath<K>,K,R> extends ScatterGatherRequestHandlerImpl<H,P,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>> implements AsyncFullHttpRequestHandler.RequestHandler
-
-
Field Summary
Fields Modifier and Type Field Description static io.netty.util.AsciiStringX_STACKTRACE-
Fields inherited from class com.linkedin.alpini.router.ScatterGatherRequestHandler
_timeoutProcessor, LOG, NOP
-
-
Constructor Summary
Constructors Constructor Description ScatterGatherRequestHandler4(ScatterGatherHelper<H,P,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus> scatterGatherHelper, TimeoutProcessor timeoutProcessor, java.util.concurrent.Executor executor)Deprecated.ScatterGatherRequestHandler4(ScatterGatherHelper<H,P,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus> scatterGatherHelper, RouterTimeoutProcessor timeoutProcessor, java.util.concurrent.Executor executor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected io.netty.handler.codec.http.HttpResponseStatusbadRequest()protected io.netty.handler.codec.http.FullHttpResponsebuildErrorResponse(BasicFullHttpRequest request, io.netty.handler.codec.http.HttpResponseStatus status, java.lang.String contentMessage, java.lang.Throwable ex)protected io.netty.handler.codec.http.FullHttpResponsebuildResponse(BasicFullHttpRequest request, Metrics metrics, java.util.List<io.netty.handler.codec.http.FullHttpResponse> gatheredResponses)protected java.util.concurrent.Executorexecutor(io.netty.channel.ChannelHandlerContext ctx)protected io.netty.handler.codec.http.HttpResponseStatusgatewayTimeout()protected java.lang.StringgetReasonPhrase(io.netty.handler.codec.http.HttpResponseStatus httpResponseStatus)protected intgetResponseCode(io.netty.handler.codec.http.FullHttpResponse response)protected HeadersgetResponseHeaders(io.netty.handler.codec.http.FullHttpResponse response)protected intgetResponseReadable(io.netty.handler.codec.http.FullHttpResponse response)AsyncFuture<io.netty.handler.codec.http.FullHttpResponse>handler(io.netty.channel.ChannelHandlerContext ctx, io.netty.handler.codec.http.FullHttpRequest request)protected booleanhasErrorInStorageNodeResponse(io.netty.handler.codec.http.FullHttpResponse response)protected io.netty.handler.codec.http.HttpResponseStatusinternalServerError()protected booleanisRequestRetriable(P path, R role, io.netty.handler.codec.http.HttpResponseStatus httpResponseStatus)protected booleanisServiceUnavailable(io.netty.handler.codec.http.HttpResponseStatus httpResponseStatus)protected booleanisSuccessStatus(io.netty.handler.codec.http.HttpResponseStatus httpResponseStatus)protected booleanisTooLongFrameException(java.lang.Throwable cause)protected io.netty.handler.codec.http.HttpResponseStatusmultiStatus()protected booleanreleaseRequest(BasicFullHttpRequest request)protected booleanreleaseResponse(io.netty.handler.codec.http.FullHttpResponse response)protected BasicFullHttpRequestretainRequest(BasicFullHttpRequest request)protected io.netty.handler.codec.http.HttpResponseStatusserviceUnavailable()protected voidsetKeepAlive(io.netty.handler.codec.http.FullHttpResponse response, boolean keepAlive)protected io.netty.handler.codec.http.HttpResponseStatusstatusOf(int code)protected java.lang.Runnabletimeout(io.netty.channel.ChannelHandlerContext ctx, java.lang.Runnable task)protected io.netty.handler.codec.http.HttpResponseStatustooManyRequests()-
Methods inherited from class com.linkedin.alpini.router.ScatterGatherRequestHandlerImpl
appendError, appendErrorForEveryKey, appendErrorsForOfflinePartitions, buildExceptionResponse, dispatch, getScatterGatherHelper, handler, incrementTotalRetries, incrementTotalRetriesError, incrementTotalRetriesWinner, isLastAttempt, prepareRequest, prepareRetry, setMetric, timeout, timeout, unwrapCompletion
-
Methods inherited from class com.linkedin.alpini.router.ScatterGatherRequestHandler
make, make
-
-
-
-
Constructor Detail
-
ScatterGatherRequestHandler4
public ScatterGatherRequestHandler4(@Nonnull ScatterGatherHelper<H,P,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus> scatterGatherHelper, @Nonnull RouterTimeoutProcessor timeoutProcessor, @Nonnull java.util.concurrent.Executor executor)
-
ScatterGatherRequestHandler4
@Deprecated public ScatterGatherRequestHandler4(@Nonnull ScatterGatherHelper<H,P,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus> scatterGatherHelper, @Nonnull TimeoutProcessor timeoutProcessor, @Nonnull java.util.concurrent.Executor executor)Deprecated.
-
-
Method Detail
-
retainRequest
@Nonnull protected BasicFullHttpRequest retainRequest(@Nonnull BasicFullHttpRequest request)
- Overrides:
retainRequestin classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
releaseRequest
protected boolean releaseRequest(BasicFullHttpRequest request)
- Overrides:
releaseRequestin classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
releaseResponse
protected boolean releaseResponse(io.netty.handler.codec.http.FullHttpResponse response)
- Overrides:
releaseResponsein classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
handler
@Nonnull public AsyncFuture<io.netty.handler.codec.http.FullHttpResponse> handler(@Nonnull io.netty.channel.ChannelHandlerContext ctx, @Nonnull io.netty.handler.codec.http.FullHttpRequest request)
- Specified by:
handlerin interfaceAsyncFullHttpRequestHandler.RequestHandler
-
timeout
protected java.lang.Runnable timeout(io.netty.channel.ChannelHandlerContext ctx, java.lang.Runnable task)- Specified by:
timeoutin classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
executor
protected java.util.concurrent.Executor executor(io.netty.channel.ChannelHandlerContext ctx)
- Specified by:
executorin classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
statusOf
protected io.netty.handler.codec.http.HttpResponseStatus statusOf(int code)
- Specified by:
statusOfin classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
multiStatus
protected io.netty.handler.codec.http.HttpResponseStatus multiStatus()
- Specified by:
multiStatusin classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
badRequest
protected io.netty.handler.codec.http.HttpResponseStatus badRequest()
- Specified by:
badRequestin classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
gatewayTimeout
protected io.netty.handler.codec.http.HttpResponseStatus gatewayTimeout()
- Specified by:
gatewayTimeoutin classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
tooManyRequests
protected io.netty.handler.codec.http.HttpResponseStatus tooManyRequests()
- Specified by:
tooManyRequestsin classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
serviceUnavailable
protected io.netty.handler.codec.http.HttpResponseStatus serviceUnavailable()
- Specified by:
serviceUnavailablein classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
internalServerError
protected io.netty.handler.codec.http.HttpResponseStatus internalServerError()
- Specified by:
internalServerErrorin classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
isSuccessStatus
protected boolean isSuccessStatus(io.netty.handler.codec.http.HttpResponseStatus httpResponseStatus)
- Specified by:
isSuccessStatusin classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
isRequestRetriable
protected boolean isRequestRetriable(@Nonnull P path, @Nonnull R role, io.netty.handler.codec.http.HttpResponseStatus httpResponseStatus)- Specified by:
isRequestRetriablein classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
isServiceUnavailable
protected boolean isServiceUnavailable(io.netty.handler.codec.http.HttpResponseStatus httpResponseStatus)
- Specified by:
isServiceUnavailablein classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
getReasonPhrase
protected java.lang.String getReasonPhrase(io.netty.handler.codec.http.HttpResponseStatus httpResponseStatus)
- Specified by:
getReasonPhrasein classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
getResponseCode
protected int getResponseCode(io.netty.handler.codec.http.FullHttpResponse response)
- Specified by:
getResponseCodein classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
getResponseReadable
protected int getResponseReadable(io.netty.handler.codec.http.FullHttpResponse response)
- Specified by:
getResponseReadablein classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
hasErrorInStorageNodeResponse
protected boolean hasErrorInStorageNodeResponse(io.netty.handler.codec.http.FullHttpResponse response)
- Specified by:
hasErrorInStorageNodeResponsein classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
getResponseHeaders
protected Headers getResponseHeaders(io.netty.handler.codec.http.FullHttpResponse response)
- Specified by:
getResponseHeadersin classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
setKeepAlive
protected void setKeepAlive(io.netty.handler.codec.http.FullHttpResponse response, boolean keepAlive)- Specified by:
setKeepAlivein classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
buildResponse
@Nonnull protected io.netty.handler.codec.http.FullHttpResponse buildResponse(@Nonnull BasicFullHttpRequest request, Metrics metrics, @Nonnull java.util.List<io.netty.handler.codec.http.FullHttpResponse> gatheredResponses)- Specified by:
buildResponsein classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
isTooLongFrameException
protected boolean isTooLongFrameException(java.lang.Throwable cause)
- Specified by:
isTooLongFrameExceptionin classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
buildErrorResponse
@Nonnull protected io.netty.handler.codec.http.FullHttpResponse buildErrorResponse(@Nonnull BasicFullHttpRequest request, @Nonnull io.netty.handler.codec.http.HttpResponseStatus status, java.lang.String contentMessage, java.lang.Throwable ex)- Specified by:
buildErrorResponsein classScatterGatherRequestHandlerImpl<H,P extends ResourcePath<K>,K,R,io.netty.channel.ChannelHandlerContext,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus,ScatterGatherHelper<H,P extends ResourcePath<K>,K,R,BasicFullHttpRequest,io.netty.handler.codec.http.FullHttpResponse,io.netty.handler.codec.http.HttpResponseStatus>>
-
-