[jboss-jira] [JBoss JIRA] Created: (JBCOMMON-47) BasicThreadPool is eating the real exception

Adrian Brock (JIRA) jira-events at lists.jboss.org
Mon Mar 31 06:22:40 EDT 2008


BasicThreadPool is eating the real exception
--------------------------------------------

                 Key: JBCOMMON-47
                 URL: http://jira.jboss.com/jira/browse/JBCOMMON-47
             Project: JBoss Common
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: common-core
            Reporter: Adrian Brock
             Fix For: 2.2.5.GA


When an execute() fails in the BasicThreadPool it is assuming this is because the ThreadPool is full.
In fact, there could be many different reasons why the execute failed, e.g. the thread was interrutped

21:08:53,080 WARN [BasicQueue] Caught unusual exception sending message to receiver.
org.jboss.util.threadpool.ThreadPoolFullException: java.lang.InterruptedException
at org.jboss.util.threadpool.BasicThreadPool.execute(BasicThreadPool.java:417)
at org.jboss.util.threadpool.BasicThreadPool.runTaskWrapper(BasicThreadPool.java:192)
at org.jboss.util.threadpool.BasicThreadPool.run(BasicThreadPool.java:212)
at org.jboss.util.threadpool.BasicThreadPool.run(BasicThreadPool.java:206) 

The error handling needs improving:

   protected void execute(TaskWrapper wrapper)
   {
      if( trace )
         log.trace("execute, wrapper="+wrapper);
      try
      {
         executor.execute(wrapper);
      }
      catch (Throwable t)
      {
-         wrapper.rejectTask(new ThreadPoolFullException(t.toString()));
+         wrapper.rejectTask(new ThreadPoolFullException(t));
      }
   }

Additionally, we should retry the on a Thread Interruption or mask the interruption status
before executing the wrapper.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list