[
https://issues.jboss.org/browse/JGRP-1663?page=com.atlassian.jira.plugin....
]
Bela Ban commented on JGRP-1663:
--------------------------------
A timer usually has only a few tasks in it, so additional threads are spawned to handle
tasks if the pool is full. It is critical that a timer task (1) never blocks and (2) is
never lost, so we cannot simply discard it.
What do you do to end up with 19'000 threads in the timer ?
TimeScheduler3 could spawn too many threads
-------------------------------------------
Key: JGRP-1663
URL:
https://issues.jboss.org/browse/JGRP-1663
Project: JGroups
Issue Type: Bug
Affects Versions: 3.3.3
Reporter: Igor Mazur
Assignee: Bela Ban
Priority: Optional
Fix For: 3.4
With default timer thread pool settings this code could spawn thousands of threads:
protected void submitToPool(final Task entry) {
try {
pool.execute(entry);
}
catch(RejectedExecutionException rejected) { // only thrown if rejection policy
is "abort"
Thread thread=timer_thread_factory != null?
timer_thread_factory.newThread(entry, "Timer temp thread")
: new Thread(entry, "Timer temp thread");
thread.start();
}
}
On my environment I got 19000 threads.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira