Mantis - Resin
Viewing Issue Advanced Details
6126 major always 01-09-18 00:45 01-15-18 14:07
cyflhn  
ferg  
normal  
closed 3.1.13  
fixed  
none    
none 3.1.17  
0006126: Weak alarm can not be handled forever if there is no idle thread pool item
If resin wants to invoke an Alarm, in the class of CoordinatorTask, it will extract an object of Alarm and invoke "ThreadPool.getThreadPool().startPriority(alarm)".(line 654 in Alarm.java). Then look at the file of ThreadPool.java, the method of "startPriority" will invoke the method of "schdule" of which the last paramter is false, which means that if _idleHead is NULL, the method of "schedule" returns, and this alarm will not be added to the queue so that the alarm will not be handler forever. There is a big chance that some alarms such as ConnectionPool will not be handled forever in this situation. Many database connections will not be released. This brings a greate damage to our system. This problem still exists in version of 3.1.14

There are no notes attached to this issue.