You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jmeter.apache.org by "v-barros (via GitHub)" <gi...@apache.org> on 2023/06/03 16:58:25 UTC

[GitHub] [jmeter] v-barros opened a new issue, #5964: TCP Sampler trying to reuse closed connection

v-barros opened a new issue, #5964:
URL: https://github.com/apache/jmeter/issues/5964

   ### Expected behavior
   
   JMeter is trying to send a [PSH,ACK] to a previously closed connection, and it's showing this try as a success.
   I think the 2nd and 3rd samplers should have the same result, either JMeter should try to reopen the closed connection before sending the data or it should get the same failure for both requests as the connection is closed anyway. 
   
   ### Actual behavior
   
   
   server is running on port 1234. 
   Black marked lines are packets sent from server to JMeter, gray lines are JMeter to server
   ![image](https://github.com/apache/jmeter/assets/42453088/e8b706fa-a435-4a86-96a9-90a28bbc9fc9)
   
   
   As we can see, the first packet is a [SYN] sent by JMeter, initiating the connection, followed by an [SYN,ACK] from server. 
   Then, JMeter sends another [ACK], followed by the actual data packet with [PSH,ACK].
   The server sends an [ACK] and waits 5 seconds to close the timed out connection.
    
   The server sends a [FYN] packet to JMeter, asking to close the connection, and JMeter's answer is an [ACK], so I expect JMeter actually knows that the connection is now closed and try to reopen the connection when sending the following sampler, but actually it is sending a [PSH,ACK] as if the connection was still opened.
   
   Not only JMeter is trying to connect to a broken pipe, but it actually shows this unsuccessful sampler as a success, even though the server didn't send anything but a [RST].
   ![image](https://github.com/apache/jmeter/assets/42453088/e7b72e7b-016a-4b4f-842e-3bb28471ddcb)
   
   Then the 3rd sampler gets a broken pipe exception, different from the second sampler... 
   ![image](https://github.com/apache/jmeter/assets/42453088/4041a472-fd61-4aed-8e4c-132fd42778a0)
   
   
   
   
   
   ### Steps to reproduce the problem
   
    I've been working on a personal project to develop a simple event loop and when using JMeter to test this server I noticed a weird behavior.
    
   I'm using a very simple scenario, its just one single TCP Sampler, configured as below, expecting to receive a "OK\0" as response:
   ![Screenshot from 2023-06-03 13-10-07](https://github.com/apache/jmeter/assets/42453088/2b932a78-7b4a-4ea0-b53e-cc9c0743a2bd)
   
   I'm using a regular Thread Group with 1 thread, 1 sec ramp up and Loop count 3.
   ![Screenshot from 2023-06-03 13-16-04](https://github.com/apache/jmeter/assets/42453088/b89df928-a27c-4608-b95b-5191cc26cb40)
   
   There's a constant timer delaying the sampler by 6 seconds.
   ![image](https://github.com/apache/jmeter/assets/42453088/ec568252-6651-4855-84bd-679b51a2b90a)
   
   My server is set to close timed out connections after 5 seconds.
   
   
   ### JMeter Version
   
   5.5
   
   ### Java Version
   
   OpenJDK Runtime Environment (build 17.0.7+7-Ubuntu-0ubuntu122.04.2)
   
   ### OS Version
   
   Ubuntu 22.04.02


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@jmeter.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [jmeter] v-barros commented on issue #5964: TCP Sampler trying to reuse closed connection

Posted by "v-barros (via GitHub)" <gi...@apache.org>.
v-barros commented on issue #5964:
URL: https://github.com/apache/jmeter/issues/5964#issuecomment-1605179585

   Well, then it's not an issue after all.  
   
   Thanks @vlsi. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@jmeter.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [jmeter] vlsi commented on issue #5964: TCP Sampler trying to reuse closed connection

Posted by "vlsi (via GitHub)" <gi...@apache.org>.
vlsi commented on issue #5964:
URL: https://github.com/apache/jmeter/issues/5964#issuecomment-1575697083

   See https://docs.oracle.com/javase/8/docs/technotes/guides/net/articles/connection_release.html
   
   > Sending a TCP FIN message means "I am finished sending"
   >...
   > So what happens, for example, when A attempts an orderly release by closing the socket, but B continues to send data? This is perfectly allowable in the TCP specification, because as far as TCP is concerned only one half of the connection has been closed
   
   In other words, `FIN` from server does not tell the connection is fully closed.
   
   I am afraid there's no reliable way to tell if the connection is workable, and the only way we could detect is to write data.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@jmeter.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [jmeter] v-barros closed issue #5964: TCP Sampler trying to reuse closed connection

Posted by "v-barros (via GitHub)" <gi...@apache.org>.
v-barros closed issue #5964: TCP Sampler trying to reuse closed connection 
URL: https://github.com/apache/jmeter/issues/5964


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@jmeter.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org