[jboss-jira] [JBoss JIRA] (JGRP-1663) TimeScheduler3 could spawn too many threads
Igor Mazur (JIRA)
jira-events at lists.jboss.org
Fri Jul 19 15:54:26 EDT 2013
[ https://issues.jboss.org/browse/JGRP-1663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12791114#comment-12791114 ]
Igor Mazur commented on JGRP-1663:
----------------------------------
We have quite big cluster with several datacenters and connection between datacenters sometimes fall. And between datacenters we use TCP.
It is probably first time when we got such error. Below a piece of thread dump:
Timer temp thread-19917,global,_index-subscriber tid=20526 [WAITING] [DAEMON]
java.util.concurrent.locks.ReentrantLock.lockInterruptibly()
org.jgroups.blocks.TCPConnectionMap$Mapper.getConnection(Address)
org.jgroups.blocks.TCPConnectionMap.send(Address, byte[], int, int)
org.jgroups.protocols.TCP.send(Address, byte[], int, int)
org.jgroups.protocols.BasicTCP.sendUnicast(PhysicalAddress, byte[], int, int)
org.jgroups.protocols.TP.sendToSingleMember(Address, byte[], int, int)
org.jgroups.protocols.TP.doSend(Buffer, Address, boolean)
org.jgroups.protocols.TP.send(Message, Address, boolean)
org.jgroups.protocols.TP.down(Event)
org.jgroups.protocols.Discovery$1.run()
org.jgroups.util.TimeScheduler3$Task.run()
java.lang.Thread.run()
Timer temp thread-19918,global,_index-subscriber tid=20527 [WAITING] [DAEMON]
java.util.concurrent.locks.ReentrantLock.lockInterruptibly()
org.jgroups.blocks.TCPConnectionMap$Mapper.getConnection(Address)
org.jgroups.blocks.TCPConnectionMap.send(Address, byte[], int, int)
org.jgroups.protocols.TCP.send(Address, byte[], int, int)
org.jgroups.protocols.BasicTCP.sendUnicast(PhysicalAddress, byte[], int, int)
org.jgroups.protocols.TP.sendToSingleMember(Address, byte[], int, int)
org.jgroups.protocols.TP.doSend(Buffer, Address, boolean)
org.jgroups.protocols.TP.send(Message, Address, boolean)
org.jgroups.protocols.TP.down(Event)
org.jgroups.protocols.Discovery$1.run()
org.jgroups.util.TimeScheduler3$Task.run()
java.lang.Thread.run()
> 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
More information about the jboss-jira
mailing list