Bug #24590 Multiple back-to-back setsockopt SO_RCVTIMEO calls?
Submitted: 25 Nov 2006 22:29 Modified: 16 Feb 2007 17:03
Reporter: Olaf van der Spek (Basic Quality Contributor) Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server Severity:S5 (Performance)
Version:5.0.26-3 OS:Linux (Debian)
Assigned to: CPU Architecture:Any

[25 Nov 2006 22:29] Olaf van der Spek
Description:
Hi,

What is the purpose of those repeated calls?
Isn't setting the receive and send timeouts once (directly) after socket creation not enough?

setsockopt(3, SOL_SOCKET, SO_SNDTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
write(3, "M\0\0\0\3select sid, wtime, valid, g"..., 81) = 81
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
read(3, "\1\0\0\1\0055\0\0\2\3def\3xcc\vxwi_serials\vxw"..., 16384) = 351
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
poll([{fd=3, events=POLLIN|POLLPRI}], 1, 0) = 0
setsockopt(3, SOL_SOCKET, SO_SNDTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
write(3, "\231\0\0\0\3select pass = md5(\'IzGcKbOa"..., 157) = 157
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
read(3, "\1\0\0\1\7,\0\0\2\3def\0\0\0\26pass = md5(\'IzG"..., 16384) = 471
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0

How to repeat:
-
[26 Nov 2006 12:48] Olaf van der Spek
It's far worse in another case where I count 900 calls between each recv. :(
[16 Feb 2007 16:01] Andreas Vierengel
Same for me.
even in latest version.

--Andy
[16 Feb 2007 17:03] Sergei Golubchik
This is a duplicate of BUG#22943