Package org.apache.bookkeeper.proto
Class BookieRequestProcessor
- java.lang.Object
-
- org.apache.bookkeeper.proto.BookieRequestProcessor
-
- All Implemented Interfaces:
java.lang.AutoCloseable,RequestProcessor
public class BookieRequestProcessor extends java.lang.Object implements RequestProcessor
An implementation of the RequestProcessor interface.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.concurrent.SemaphoreaddsSemaphore(package private) io.netty.channel.group.ChannelGroupallChannels(package private) java.util.Optional<com.google.common.cache.Cache<io.netty.channel.Channel,java.lang.Boolean>>blacklistedChannels(package private) BookiebookieThis is the Bookie instance that is used to handle all read and write requests.(package private) java.util.function.Consumer<io.netty.channel.Channel>onResponseTimeout(package private) java.util.concurrent.SemaphorereadsSemaphorestatic java.lang.StringTLS_HANDLER_NAME
-
Constructor Summary
Constructors Constructor Description BookieRequestProcessor(ServerConfiguration serverCfg, Bookie bookie, StatsLogger statsLogger, SecurityHandlerFactory shFactory, io.netty.buffer.ByteBufAllocator allocator, io.netty.channel.group.ChannelGroup allChannels)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidblacklistChannel(io.netty.channel.Channel channel)voidclose()Close the request processor.(package private) java.util.concurrent.SemaphoregetAddsSemaphore()(package private) io.netty.channel.group.ChannelGroupgetAllChannels()(package private) io.netty.buffer.ByteBufAllocatorgetAllocator()(package private) BKStatsgetBkStats()(package private) java.util.Optional<com.google.common.cache.Cache<io.netty.channel.Channel,java.lang.Boolean>>getBlacklistedChannels()(package private) BookiegetBookie()This is the Bookie instance that is used to handle all read and write requests.(package private) OrderedExecutorgetHighPriorityThreadPool()The threadpool used to execute high priority requests.(package private) OrderedExecutorgetLongPollThreadPool()The threadpool used to execute all long poll requests issued to this server after they are done waiting.(package private) java.util.function.Consumer<io.netty.channel.Channel>getOnResponseTimeout()(package private) java.util.concurrent.SemaphoregetReadsSemaphore()(package private) OrderedExecutorgetReadThreadPool()The threadpool used to execute all read entry requests issued to this server.(package private) RequestStatsgetRequestStats()(package private) io.netty.util.HashedWheelTimergetRequestTimer()The Timer used to time out requests for long polling.(package private) ServerConfigurationgetServerCfg()The server configuration.(package private) SecurityHandlerFactorygetShFactory()TLS management.longgetWaitTimeoutOnBackpressureMillis()(package private) OrderedExecutorgetWriteThreadPool()The threadpool used to execute all add entry requests issued to this server.voidhandleNonWritableChannel(io.netty.channel.Channel channel)voidinvalidateBlacklist(io.netty.channel.Channel channel)booleanisBlacklisted(io.netty.channel.Channel channel)(package private) booleanisPreserveMdcForTaskExecution()(package private) booleanisStatsEnabled()(package private) booleanisThrottleReadResponses()(package private) intmaxAddsInProgressCount()(package private) intmaxReadsInProgressCount()protected voidonAddRequestFinish()protected voidonAddRequestStart(io.netty.channel.Channel channel)protected voidonReadRequestFinish()protected voidonReadRequestStart(io.netty.channel.Channel channel)voidprocessRequest(java.lang.Object msg, BookieRequestHandler requestHandler)Process request.
-
-
-
Field Detail
-
TLS_HANDLER_NAME
public static final java.lang.String TLS_HANDLER_NAME
- See Also:
- Constant Field Values
-
bookie
final Bookie bookie
This is the Bookie instance that is used to handle all read and write requests.
-
addsSemaphore
final java.util.concurrent.Semaphore addsSemaphore
-
readsSemaphore
final java.util.concurrent.Semaphore readsSemaphore
-
allChannels
final io.netty.channel.group.ChannelGroup allChannels
-
blacklistedChannels
final java.util.Optional<com.google.common.cache.Cache<io.netty.channel.Channel,java.lang.Boolean>> blacklistedChannels
-
onResponseTimeout
final java.util.function.Consumer<io.netty.channel.Channel> onResponseTimeout
-
-
Constructor Detail
-
BookieRequestProcessor
public BookieRequestProcessor(ServerConfiguration serverCfg, Bookie bookie, StatsLogger statsLogger, SecurityHandlerFactory shFactory, io.netty.buffer.ByteBufAllocator allocator, io.netty.channel.group.ChannelGroup allChannels) throws SecurityException
- Throws:
SecurityException
-
-
Method Detail
-
onAddRequestStart
protected void onAddRequestStart(io.netty.channel.Channel channel)
-
onAddRequestFinish
protected void onAddRequestFinish()
-
onReadRequestStart
protected void onReadRequestStart(io.netty.channel.Channel channel)
-
onReadRequestFinish
protected void onReadRequestFinish()
-
maxAddsInProgressCount
int maxAddsInProgressCount()
-
maxReadsInProgressCount
int maxReadsInProgressCount()
-
close
public void close()
Description copied from interface:RequestProcessorClose the request processor.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfaceRequestProcessor
-
processRequest
public void processRequest(java.lang.Object msg, BookieRequestHandler requestHandler)Description copied from interface:RequestProcessorProcess request.- Specified by:
processRequestin interfaceRequestProcessor- Parameters:
msg- request to processrequestHandler- channel received the given request r
-
getWaitTimeoutOnBackpressureMillis
public long getWaitTimeoutOnBackpressureMillis()
-
blacklistChannel
public void blacklistChannel(io.netty.channel.Channel channel)
-
invalidateBlacklist
public void invalidateBlacklist(io.netty.channel.Channel channel)
-
isBlacklisted
public boolean isBlacklisted(io.netty.channel.Channel channel)
-
handleNonWritableChannel
public void handleNonWritableChannel(io.netty.channel.Channel channel)
-
getServerCfg
ServerConfiguration getServerCfg()
The server configuration. We use this for getting the number of add and read worker threads.
-
isPreserveMdcForTaskExecution
boolean isPreserveMdcForTaskExecution()
-
getBookie
Bookie getBookie()
This is the Bookie instance that is used to handle all read and write requests.
-
getReadThreadPool
OrderedExecutor getReadThreadPool()
The threadpool used to execute all read entry requests issued to this server.
-
getWriteThreadPool
OrderedExecutor getWriteThreadPool()
The threadpool used to execute all add entry requests issued to this server.
-
getShFactory
SecurityHandlerFactory getShFactory()
TLS management.
-
getLongPollThreadPool
OrderedExecutor getLongPollThreadPool()
The threadpool used to execute all long poll requests issued to this server after they are done waiting.
-
getHighPriorityThreadPool
OrderedExecutor getHighPriorityThreadPool()
The threadpool used to execute high priority requests.
-
getRequestTimer
io.netty.util.HashedWheelTimer getRequestTimer()
The Timer used to time out requests for long polling.
-
getBkStats
BKStats getBkStats()
-
isStatsEnabled
boolean isStatsEnabled()
-
getRequestStats
RequestStats getRequestStats()
-
getAddsSemaphore
java.util.concurrent.Semaphore getAddsSemaphore()
-
getReadsSemaphore
java.util.concurrent.Semaphore getReadsSemaphore()
-
getAllChannels
io.netty.channel.group.ChannelGroup getAllChannels()
-
getBlacklistedChannels
java.util.Optional<com.google.common.cache.Cache<io.netty.channel.Channel,java.lang.Boolean>> getBlacklistedChannels()
-
getOnResponseTimeout
java.util.function.Consumer<io.netty.channel.Channel> getOnResponseTimeout()
-
getAllocator
io.netty.buffer.ByteBufAllocator getAllocator()
-
isThrottleReadResponses
boolean isThrottleReadResponses()
-
-