[JBoss JIRA] Created: (JBREM-822) Avoid deadlock when Connector shuts down while callback client invoker is in handleConnect()
by Ron Sigal (JIRA)
Avoid deadlock when Connector shuts down while callback client invoker is in handleConnect()
--------------------------------------------------------------------------------------------
Key: JBREM-822
URL: http://jira.jboss.com/jira/browse/JBREM-822
Project: JBoss Remoting
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 2.2.2.SP2, 2.2.2.GA_CP01, 2.4.0.Beta1 (Pinto)
Reporter: Ron Sigal
Assigned To: Ron Sigal
Fix For: 2.4.0.Beta1 (Pinto)
Clebert Suconic has experienced a deadlock while shutting down the Application Server.
The thread dump shows that the AS has called Connector.stop(), which leads to a call to the synchronized method org.jboss.remoting.MicroRemoteClientInvoker.disconnect() on the callback org.jboss.remoting.transport.bisocket.BisocketClientInvoker. However, all this happens at the same time that a callback handler is being installed, which leads to a call to the synchronized method MicroRemoteClientInvoker.connect() on *the same* callback BisocketClientInvoker. The BisocketClientInvoker is in BisocketClientInvoker.handleConnect(), where it is waiting (with, in the case of JBossMessaging, a timeout of 0) to get a control socket. As a result, MicroRemoteClientInvoker.disconnect() is blocked and cannot execute.
This situation needs careful study. Do MicroRemoteClientInvoker.connect() and MicroRemoteClientInvoker.disconnect() need to be fully synchronized?
--
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
16 years, 11 months
[JBoss JIRA] Created: (JBREM-821) JBoss Remoting fails under load
by Ovidiu Feodorov (JIRA)
JBoss Remoting fails under load
-------------------------------
Key: JBREM-821
URL: http://jira.jboss.com/jira/browse/JBREM-821
Project: JBoss Remoting
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 2.2.2.SP1
Reporter: Ovidiu Feodorov
Assigned To: Trustin Lee
Priority: Blocker
This is a duplicate of JBMESSAGING-1114 present here to remind Remoting people that Messaging has this urgent need.
Phrasing belongs to Tim:
JBoss Remoting fails with various different errors when under extreme load.
To replicate this, set up two clustered server nodes, using a MySQL database.
These can both be on the same machine, using ServiceBindingManager.
On a second machine run Ovidiu's messkit toolki, first to send some messages:
mess -stat send -size 10240 50000
And then to receive them back using 50 concurrent consumers:
mess -stat -sessions 50 receive all
You will notice that JBoss Remoting fails with errors:
I believe this is due to remoting incorrectly thinking a connection has failed and shutting down the connection. Perhaps due to the load, the ping does not get through in time to refresh the lease?
I would like a remoting solution that *does not ping* from server to client - for us this is unnecessary.
It also seems remoting is continually timing out and recreating connections - this could also be a source of error.
How do we configure remoting so it does not do this?
--
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
16 years, 11 months
[JBoss JIRA] Created: (JBCACHE-1165) Endless loop in PessimisticLockInterceptor
by Jacek Halat (JIRA)
Endless loop in PessimisticLockInterceptor
------------------------------------------
Key: JBCACHE-1165
URL: http://jira.jboss.com/jira/browse/JBCACHE-1165
Project: JBoss Cache
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 1.4.1.SP4
Environment: Windows XP, Sun jdk150_06
Solaris 10
Reporter: Jacek Halat
Assigned To: Manik Surtani
When 2 Threads are simulatanous putting/removing values from this same node TreeCache hang's up and goes into endless loop.
Main loop looks like:
for (int x = 0; x < 1000; x++) {
tm.begin();
System.out.println("R" + Thread.currentThread().getName());
//inside transaction
cache.remove("/a");
System.out.println("AR" + Thread.currentThread().getName());
tm.commit();
//outside transaction
System.out.println("P" + Thread.currentThread().getName());
cache.put("/a/b/c/d", "text"+x,"b");
System.out.println("AP" + Thread.currentThread().getName());
}
--
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
16 years, 11 months
[JBoss JIRA] Created: (JBAS-4997) Package StatefulPassivationActivationUnitTestCase with its own HAPartition
by Brian Stansberry (JIRA)
Package StatefulPassivationActivationUnitTestCase with its own HAPartition
--------------------------------------------------------------------------
Key: JBAS-4997
URL: http://jira.jboss.com/jira/browse/JBAS-4997
Project: JBoss Application Server
Issue Type: Task
Security Level: Public (Everyone can see)
Components: Clustering, Test Suite
Reporter: Brian Stansberry
Assigned To: Brian Stansberry
Priority: Minor
This test does thousands of invocations from a single thread. This makes it prone to timeout if nagling or JGroups message bundling are enabled on the HAPartition channel, since the single thread doesn't generate enough *concurrent* load to trigger prompt message transmission.
We should deploy the test with a partition with its own channel so we don't have to factor this test into whether or not we want nagling/bundling on the standard channel.
--
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
16 years, 11 months
[JBoss JIRA] Created: (EJBTHREE-853) Partial StringProperty replacement in ejb 3 container
by Roland R?z (JIRA)
Partial StringProperty replacement in ejb 3 container
-----------------------------------------------------
Key: EJBTHREE-853
URL: http://jira.jboss.com/jira/browse/EJBTHREE-853
Project: EJB 3.0
Issue Type: Feature Request
Affects Versions: EJB 3.0 RC9 - FD
Reporter: Roland R?z
I tried to change the messageSelector in an EJB 3.0 MDB in the ejb.jar.xml containing partial System Property references (aaa${xyz}bbb). Sadly this didn't work as with ejb 2.1.
I think fully supporting system property replacement as with ejb 2.x in EJB 3.0 would be a nice feature.
The method org.jboss.ejb3.metamodel.EjbJarDDObjectFactory.getValue(String name, String value)
could be changed to
{
value = org.jboss.util.StringPropertyReplacer.replaceProperties(value);
}
I would suggest, to implement the string property replacement even better in the class org.jboss.metamodel.descriptor.DDObjectFactory.getValue()
and remove the getValue method from JBossDDObjectFactory and EjbJarDDObjectFactory.
The idea of using an MBean abstraction to replace system properties is fine but the nice syntax of the StringPropertyReplacer should be still supported (${v1,v2:default}). Returning always the replaced property is one possibility (currently it is not done this way) but probably a new method "getReplaced" would be less surprising.
--
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
16 years, 11 months
[JBoss JIRA] Created: (JGRP-375) Paralellize discovery phase
by Bela Ban (JIRA)
Paralellize discovery phase
---------------------------
Key: JGRP-375
URL: http://jira.jboss.com/jira/browse/JGRP-375
Project: JGroups
Issue Type: Feature Request
Affects Versions: 2.4
Reporter: Bela Ban
Assigned To: Bela Ban
Fix For: 2.6
With TCPPING, if we have 10 servers defined in the list, we sequentially send a GET_MBRS_REQ to each. However, if that server is not reachable, we will timeout out on the socket connect call. Also, DNS lookup might take some time, so we might time out if we cannot contact all servers. Example: servers 1 - 10. 1-9 are down or not reachable, plus we have a slow DNS, 10 is running. So before we get to 10, the discovery will timeout and we will become a singleton node.
SOLUTION: use threads from the common (global) thread pool in JGroups to parallelize the sending of requests to all 10 servers.
--
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
16 years, 11 months