Funny created THRIFT-1584: ----------------------------- Summary: Error: could not SetMinThreads in ThreadPool Key: THRIFT-1584 URL: https://issues.apache.org/jira/browse/THRIFT-1584 Project: Thrift Issue Type: Bug Affects Versions: 0.8 Environment: Hardware: Single-Core CPU, System: CentOS system, Coding Language: mono Reporter: Funny Priority: Minor
On a linux system with single cpu core, TThreadPoolServer(csharp) might throw an exception like "Error: could not SetMinThreads in ThreadPool". According to SetMinThreads description in MSDN: If you specify a negative number or a number larger than the maximum number of active thread pool threads (obtained using GetMaxThreads), SetMinThreads returns false and does not change either of the minimum values. The default DEFAULT_MIN_THREADS value is 10, while GetMaxThreads obtains 100 and 4 on a single-cpu computer. This make SetMinThreads function failed. The number obtained by GetMaxThreads is associated with the number of cpu core. So I suggest to change the order of SetMinThreads and SetMaxThreads, like: {quote} if (!ThreadPool.SetMaxThreads(maxThreadPoolThreads, maxThreadPoolThreads)) throw new Exception("Error: could not SetMaxThreads in ThreadPool"); if (!ThreadPool.SetMinThreads(minThreadPoolThreads, minThreadPoolThreads)) throw new Exception("Error: could not SetMinThreads in ThreadPool"); {quote} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira