Rainer --

I am using out of the box JBOSS 4.21 -- no special connector, and no firewall 
between the httpd tier and the other tier.

Indeed, I agree that the FIN packet from the back end is missing.  It seems to 
come much later in the dump (exactly 4 minutes later).  I can't help but think 
this is an issue on the JBOSS side, but I'm not sure where to go to try to 
debug that.

I will send you the full capture file separately by private Mail.

Larry


-----Original Message-----
From: Rainer Jung [mailto:[EMAIL PROTECTED] 
Sent: Sunday, November 25, 2007 4:35 PM
To: Tomcat Developers List
Subject: Re: Delays in mod_jk

Hi Larry,

I'm again investigating your problem report concerning 2 second pauses 
during socket shutdown in JK maintenance. Sorry for the long pause, but 
I want to see, if there is something we need to fix before 1.2.26 
related to this case.

I couldn't reproduce the behaviour on Linux. Do you use a special 
connector for AJP in JBoss, like Tomcats APR connector, or is it just 
the plain Coyote connector? Is there a firewall in between httpd and 
JBoss? If so, would it be possible to sniff again on both sides?

Larry Reisler wrote:
> I got a trace using some of the settings you have below.  I'm not
> quite sure how to get the whole thing to you, as it is fairly large,
> and I don't wish to post it to the mailing list.

If you like, you can send it by private Mail.

> In any event the relevant lines from one example of an interaction I
> am attaching below.  10.45.3.22 is the apache 2.2 server and
> 10.45.3.21 and 10.45.3.24 are the tomcat servers.  The trace was
> taken from the apache server.  There are numerous other examples of
> this type of interaction.
> 
> 02:49:04.329952 IP 10.45.3.22.34977 > 10.45.3.21.8009: F
> 2991069804:2991069804(0) ack 1909717451 win 8244 <nop,nop,timestamp
> 865633671 2700468480> 02:49:04.370343 IP 10.45.3.21.8009 >
> 10.45.3.22.34977: . ack 1 win 1448 <nop,nop,timestamp 2700815038
> 865633671> 02:49:06.329558 IP 10.45.3.22.34972 > 10.45.3.24.8009: F
> 2991428814:2991428814(0) ack 330342931 win 4624 <nop,nop,timestamp
> 865635671 4202573488> 02:49:06.369533 IP 10.45.3.24.8009 >
> 10.45.3.22.34972: . ack 1 win 2269 <nop,nop,timestamp 4202873970
> 865635671> 02:49:08.329843 IP 10.45.3.22.35008 > 10.45.3.24.8009: S
> 3372523679:3372523679(0) win 5840 <mss 1460,sackOK,timestamp
> 865637671 0,nop,wscale 2> 02:49:08.329961 IP 10.45.3.24.8009 >
> 10.45.3.22.35008: S 707449532:707449532(0) ack 3372523680 win 5792
> <mss 1460,sackOK,timestamp 4202875930 865637671,nop,wscale 2> 
> 02:49:08.329972 IP 10.45.3.22.35008 > 10.45.3.24.8009: . ack 1 win
> 1460 <nop,nop,timestamp 865637671 4202875930> 02:49:08.330001 IP
> 10.45.3.22.35008 > 10.45.3.24.8009: P 1:821(820) ack 1 win 1460
> <nop,nop,timestamp 865637671 4202875930> 02:49:08.330023 IP
> 10.45.3.22.35008 > 10.45.3.24.8009: P 821:921(100) ack 1 win 1460
> <nop,nop,timestamp 865637671 4202875930>
> 
> My analysis of this is as follows: 1) A request comes in to the
> apache server, which has two timed out socket connections to the
> tomcat servers on ports 34977 and 34972.  At 02:49:04.329952 it sends
> a FIN packet to the tomcat server and receives a response at
> 02:49:04.370343.  It then waits two seconds from the time it sent the
> FIN packet. 2) At 02:49:06.329558 it sends a FIN packet to the other
> tomcat server and receives a response at 02:49:06.369533.  It then
> waits two seconds from the time it sent the FIN packet, and then
> creates a new socket (35008) on which it successfully sends the
> transaction.

The tcpdump excerpt seems to be incomplete. After the FIN and the 
accompanying ACK, the final FIN/ACK from the backend is missing. Does it 
occur later in the dump? If not, there should be a RST or the connection 
should still be in CLOSE_WAIT on the JBoss machine.

Regards,

Rainer

Reply via email to