tomcucinotta / distwalk

Distributed processing emulation tool
GNU General Public License v3.0
1 stars 4 forks source link

Too many "Broken pipe" from dw_node #39

Closed tomcucinotta closed 6 months ago

tomcucinotta commented 6 months ago

Launching

./dw_node &
./dw_client -C 6000 -n 1000 -nt 2

then killing the client with Ctrl+C results in a flood of Broken pipe errors, as visible below.

tommaso@laptom:~/work/distwalk$ ./dw_node 
RECV Unexpected error: Connection reset by peer
SEND Unexpected error: Broken pipe
SEND Unexpected error: Broken pipe
SEND Unexpected error: Broken pipe
SEND Unexpected error: Broken pipe
...

Under these conditions, the server is "lagging behind" trying to process requests (on a single CPU) taking longer than their inter-arrival time, when the connection is abruptly closed, it's normal that the server might be trying to reply to them and have a send() failing. However, at that point, we would close_and_forget() the client connection, thus subsequent requests should NOT keep trying to send anything, as there's no more a connection to send to.

tomcucinotta commented 6 months ago

fixed in 01f4b5f3, closing