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
- Protected
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: AnyRef): 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: AnyRef): 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(classOf[java.lang.CloneNotSupportedException]) @native()
- def ensureNotSharable(): Unit
- Attributes
- protected[channel]
- Definition Classes
- ChannelHandlerAdapter
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): 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[_ <: AnyRef]
- 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: AnyRef): Unit
- Definition Classes
- ChannelInboundHandlerAdapter → ChannelInboundHandler
- Annotations
- @throws(classOf[java.lang.Exception]) @Skip()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()