class ChunkFetchRequestHandler extends SimpleChannelInboundHandler[ChunkFetchRequest]
A dedicated ChannelHandler for processing ChunkFetchRequest messages. When sending response of ChunkFetchRequest messages to the clients, the thread performing the I/O on the underlying channel could potentially be blocked due to disk contentions. If several hundreds of clients send ChunkFetchRequest to the server at the same time, it could potentially occupying all threads from TransportServer's default EventLoopGroup for waiting for disk reads before it can send the block data back to the client as part of the ChunkFetchSuccess messages. As a result, it would leave no threads left to process other RPC messages, which takes much less time to process, and could lead to client timing out on either performing SASL authentication, registering executors, or waiting for response for an OpenBlocks messages.
- Alphabetic
- By Inheritance
- ChunkFetchRequestHandler
- SimpleChannelInboundHandler
- ChannelInboundHandlerAdapter
- ChannelInboundHandler
- ChannelHandlerAdapter
- ChannelHandler
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new ChunkFetchRequestHandler(client: TransportClient, streamManager: StreamManager, maxChunksBeingTransferred: Long, syncModeEnabled: Boolean)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
acceptInboundMessage(arg0: Any): Boolean
- Definition Classes
- SimpleChannelInboundHandler
- Annotations
- @throws( classOf[java.lang.Exception] )
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
channelActive(arg0: ChannelHandlerContext): Unit
- Definition Classes
- ChannelInboundHandlerAdapter → ChannelInboundHandler
- Annotations
- @throws( classOf[java.lang.Exception] ) @Skip()
-
def
channelInactive(arg0: ChannelHandlerContext): Unit
- Definition Classes
- ChannelInboundHandlerAdapter → ChannelInboundHandler
- Annotations
- @throws( classOf[java.lang.Exception] ) @Skip()
-
def
channelRead(arg0: ChannelHandlerContext, arg1: Any): Unit
- Definition Classes
- SimpleChannelInboundHandler → ChannelInboundHandlerAdapter → ChannelInboundHandler
- Annotations
- @throws( classOf[java.lang.Exception] )
-
def
channelRead0(ctx: ChannelHandlerContext, msg: ChunkFetchRequest): Unit
- Attributes
- protected[server]
- Definition Classes
- ChunkFetchRequestHandler → SimpleChannelInboundHandler
- Annotations
- @Override()
-
def
channelReadComplete(arg0: ChannelHandlerContext): Unit
- Definition Classes
- ChannelInboundHandlerAdapter → ChannelInboundHandler
- Annotations
- @throws( classOf[java.lang.Exception] ) @Skip()
-
def
channelRegistered(arg0: ChannelHandlerContext): Unit
- Definition Classes
- ChannelInboundHandlerAdapter → ChannelInboundHandler
- Annotations
- @throws( classOf[java.lang.Exception] ) @Skip()
-
def
channelUnregistered(arg0: ChannelHandlerContext): Unit
- Definition Classes
- ChannelInboundHandlerAdapter → ChannelInboundHandler
- Annotations
- @throws( classOf[java.lang.Exception] ) @Skip()
-
def
channelWritabilityChanged(arg0: ChannelHandlerContext): Unit
- Definition Classes
- ChannelInboundHandlerAdapter → ChannelInboundHandler
- Annotations
- @throws( classOf[java.lang.Exception] ) @Skip()
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
ensureNotSharable(): Unit
- Attributes
- protected[channel]
- Definition Classes
- ChannelHandlerAdapter
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
exceptionCaught(ctx: ChannelHandlerContext, cause: Throwable): Unit
- Definition Classes
- ChunkFetchRequestHandler → ChannelInboundHandlerAdapter → ChannelInboundHandler → ChannelHandlerAdapter → ChannelHandler
- Annotations
- @Override()
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
handlerAdded(arg0: ChannelHandlerContext): Unit
- Definition Classes
- ChannelHandlerAdapter → ChannelHandler
- Annotations
- @throws( classOf[java.lang.Exception] )
-
def
handlerRemoved(arg0: ChannelHandlerContext): Unit
- Definition Classes
- ChannelHandlerAdapter → ChannelHandler
- Annotations
- @throws( classOf[java.lang.Exception] )
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isSharable(): Boolean
- Definition Classes
- ChannelHandlerAdapter
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def processFetchRequest(channel: Channel, msg: ChunkFetchRequest): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
userEventTriggered(arg0: ChannelHandlerContext, arg1: Any): Unit
- Definition Classes
- ChannelInboundHandlerAdapter → ChannelInboundHandler
- Annotations
- @throws( classOf[java.lang.Exception] ) @Skip()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()