[ https://issues.apache.org/jira/browse/THRIFT-2650?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James E. King III closed THRIFT-2650. ------------------------------------- Resolution: Won't Fix Assignee: James E. King III Fix Version/s: (was: 1.0) TThreadPoolServer already handles rejected exceptions and implements a back-off mechanism to retry the request when the server is busy or hits the maximum thread count, or the server is stopped. > add LoggingRejectedExecutionHandler on ThreadPoolExecutor > --------------------------------------------------------- > > Key: THRIFT-2650 > URL: https://issues.apache.org/jira/browse/THRIFT-2650 > Project: Thrift > Issue Type: Improvement > Components: Java - Library > Affects Versions: 0.9.1 > Environment: Mac OS > Reporter: darion yaphet > Assignee: James E. King III > Priority: Major > Labels: patch > > Add a LoggingRejectedExecutionHandler on ThreadPoolExecutor. > When ThreadPoolExecutor Server received a unprocess message and make server > throw a exception . > Using RejectedExecutionHandler to avoid the service break down and logging it > . > The git diff as following : > diff --git a/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java > b/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java > index 488d17f..d0cb4e9 100755 > --- a/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java > +++ b/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java > @@ -95,11 +95,18 @@ public class TThreadPoolServer extends TServer { > private static ExecutorService createDefaultExecutorService(Args args) { > SynchronousQueue<Runnable> executorQueue = > new SynchronousQueue<Runnable>(); > + RejectedExecutionHandler loggingHandler = new RejectedExecutionHandler() > { > + @Override > + public void rejectedExecution(Runnable r,ThreadPoolExecutor > executor) { > + LOGGER.error("Executing Task Failed ..."); > + } > + > return new ThreadPoolExecutor(args.minWorkerThreads, > args.maxWorkerThreads, > 60, > TimeUnit.SECONDS, > - executorQueue); > + executorQueue, > + loggingHandler); > } > Please review and reply -- This message was sent by Atlassian JIRA (v7.6.3#76005)