Bugs item #832880, was opened at 2003-10-30 00:19
Message generated for change (Comment added) made by thetooth
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=832880&group_id=22866

Category: JBossServer
Group: v3.2
Status: Open
Resolution: None
Priority: 9
Submitted By: Brian Hogue (thetooth)
Assigned to: Adrian Brock (ejort)
Summary: JNDI lookup does not return after/under moderate load

Initial Comment:
After upgrading from 2.4.4 to 3.2.1(Tomcat bundle) our 
client applications began failing when attempting a jndi 
Context lookup via, Object ref = (myHome)
jndiContext.lookup("foo/myData"); where jndiContext is 
an InitialContext derived from

("java.naming.factory.initial", "org.jnp.interfaces.NamingC
ontextFactory");
("java.naming.provider.url", "myServer:1099");
("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp
.interfaces");

The application makes heavy use of SLSB's accessed 
from remote clients, of which the above mentioned line 
of code handles the lookup.

The failure is manifested by the above call not returning 
after the server has been up for a few hours and has 
experienced moderate load.  The 2.4.4 server *never* 
exhibited this behavior under extreme load.  The only 
changes with the upgrade was 3.2.1 JBoss and 1.4.2 
java.  The call does not seem to timeout but rather 
to 'hang'.  We are attempting to upgrade to 3.2.2, 
hoping for a fix.  

This is occuring on multiple servers; (compaq DL-380's) 
running RH Linux 7.3 (Linux 2.4.18-19.7.xsmp) with 
Hotspot VM (1.4.2_01).  Apache is integrated via 
mod_jk .  The servers have 2 GB of ram with 1.5 
available and dedicated to the VM.

The server socket on 1099 goes into and stays in a 
SYN_RECV state.  To remove the LAN/WAN as a possible 
culprit we have replicated the problem (once the 
problem starts occuring on a server) by trying to do the 
context lookup from the server itself to itself, using 
127.0.0.1 to make sure nothing is externally routed.

There are no memory consumption issues within the JVM 
or at the OS level. CPU usage and load points are very 
low.  HTTP/servlet request servicing remains unaffected 
when JBoss gets into the described state.  Once JBoss is 
restarted, it will behave normally for a time.

We are using the 'Standard Stateless SessionBean' 
container with the ssl-invoker.

----------------------------------------------------------------------

>Comment By: Brian Hogue (thetooth)
Date: 2003-10-30 07:08

Message:
Logged In: YES 
user_id=897950

Thank you for the follow-up.  The next time the problem 
occurs I will collect all the information you suggest.  This is 
what I can answer now:

1).  I could telnet to 1099 while it was in the afore-mentioned 
state, just got the typical

Trying 67.105.52.45...^M
Connected to 67.105.52.45.^M
Escape character is '^]'.^M
[EMAIL PROTECTED]@^Yjava.rmi.MarshalledObject|½^^~Wícü>^B^@
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]&[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@^Thttp://0.0.0.0:8083/[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL 
PROTECTED]
@[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]@^Esr^@ 
[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]
[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED] 
[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL 
PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]
@[EMAIL PROTECTED] closed by foreign host.^M

Also of note, while the server is in the described condition, I 
was able to run a simple (non-jboss) rmi client-server test 
designed to lookup and object on 1099 and pass data to and 
from it.  That seems to work even when nothing is getting 
through for jboss on 1099.

2.) Nothing at all special on the Checkpoint firewall or TCP-IP 
config.  Our TCP params are stock, if there are any in 
particular you'd like to know about, let me know.  There are 
no overruns, errors, or drops reported by the adapters on the 
boxes or the firewall.  To eliminate the network variable i ran 
a Jboss client test from the Jboss server itself using 127.0.0.1 
as the target host to make sure there was no external routing 
and got the same failure.

3.) will collect
4.) will collect

5.) No error messages in server.log (nor in /var/log/messages) 
at all.

6.) will collect
7.) will collect

----------------------------------------------------------------------

Comment By: Adrian Brock (ejort)
Date: 2003-10-30 04:10

Message:
Logged In: YES 
user_id=9459

A SYN_RECV means the socket has sent a SYN_ACK to the client
but hasn't recieved the third phase connect from the client.
The client will be stored in a backlog queue until the
connection
times out.

Some things to investigate:
1) Can you telnet to port 1099? What do you see?
2) Firewall and TCP/IP configuration
3) tcpdump -i eth0
4) How many threads is jboss using?
see jboss.server:service=ServerInfo on the jmx-console
or pstree -p
5) Error messages in log/server.log
6) Configure log4j on the client and enable trace logging for
org.jnp
7) Thread dumps on the client and server ctrl-\ or kill -3
${pid}

Regards,
Adrian 

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=832880&group_id=22866


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to