>Description:
        netinet/ip.h and netinet/tcp.h are not included during compilation.
 This causes extremely slow remote access if the last data packet is smaller
than MTU of underlying network layer, because TCP_NODELAY socket option
is not set.

>How-To-Repeat:
 1. Get 3.23.33 source code from mysql.com
 2. expand the tar ball
 3. ./configure
 4. make
 5. Then you get a server and client programs without TCP_NODELAY on sockets.

 This problem repeats on
   * RedHat 6.2 default installation
   * FreeBSD R4.1 default installation
   * Kondara 1.1 Linux default installation

>Fix:
 Just ADD following 2 lines

#include <netinet/ip.h>
#include <netinet/tcp.h>

in libmysql/violite.c and sql/violite.c.

because TCP_NODELAY is defined in netinet/tcp.h, and also
IPTOS_THROUGHPUT is defined in netinet/ip.h.
IPTOS_THROUGHPUT seems to be necessary to use TCP_NODELAY.


>Submitter-Id:  <submitter ID>
>Originator:    
>Organization:
 <organization of PR author (multiple lines)>
>MySQL support: none
>Synopsis:      TCP_NODELAY is not used when I compile mysql source code
>Severity:       serious 
>Priority:       medium 
>Category:      mysql remote access
>Class:          sw-bug 
>Release:       mysql-3.23.33 (Source distribution)
>Server: /usr/local/bin/mysqladmin  Ver 8.7 Distrib 3.23.21-beta, for pc-linux-gnu on 
>i686
TCX Datakonsult AB, by Monty

Server version          3.23.21-beta
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /tmp/mysql.sock
Uptime:                 21 days 30 min 10 sec

Threads: 1  Questions: 54501558  Slow queries: 19  Opens: 8827  Flush tables: 1  Open 
tables: 7 Queries per second avg: 30.008
>Environment:
        <machine, os, target, libraries (multiple lines)>
System: Linux roo 2.2.14-5k4 #1 Sun Mar 12 15:33:30 PST 2000 i686 unknown
Architecture: i686

Some paths:  /usr/bin/perl /usr/bin/make /usr/bin/gmake /usr/bin/gcc /usr/bin/cc
GCC: Reading specs from /usr/lib/gcc-lib/i586-redhat-linux/2.95.3/specs
gcc version 2.95.3 19991030 (prerelease)
Compilation info: CC='gcc'  CFLAGS=''  CXX='c++'  CXXFLAGS=''  LDFLAGS=''
LIBC: 
lrwxrwxrwx   1 root     root           13 Jun 14  2000 /lib/libc.so.6 -> libc-2.1.3.so
-rwxr-xr-x   1 root     root      5224080 Mar 10  2000 /lib/libc-2.1.3.so
-rw-r--r--   1 root     root     20568374 Mar 10  2000 /usr/lib/libc.a
-rw-r--r--   1 root     root          178 Mar 10  2000 /usr/lib/libc.so
Configure command: ./configure 
Perl: This is perl, version 5.005_03 built for i586-linux


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to