MySQL 4.1 allows only max_connections-1 connections instead of max_connections

MySQL 4.1 allows only max_connections-1 connections instead of max_connections

am 19.11.2002 16:39:57 von gbichot

Description:
mysqld allows only max_connections-1 connections instead of max_connections.
By the way, my "SELECT on myisam and innodb empty tables, with unique key, not null columns, fails
with error in MySQL4.1" bug report is still true with today's bitkeeper tree.

How-To-Repeat:
Start mysqld with --max_connections=1, and try to open a mysql client with a
not-SUPER-privileged user. You get "Too many connections". (max_user_connections is 0.)

Fix:
?

Originator: Guilhem Bichot
Synopsis: MySQL 4.1 allows only max_connections-1 connections instead of max_connections
Release: mysql-4.1.0-alpha (Source distribution) from bitkeeper tree pulled TODAY
Server version 4.1.0-alpha-debug-log
System: Linux localhost.localdomain 2.4.18-6mdk #1 Fri Mar 15 02:59:08 CET 2002 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-mandrake-linux-gnu/2.96/specs
gcc version 2.96 20000731 (Mandrake Linux 8.2 2.96-0.76mdk)
Compilation info: CC='gcc' CFLAGS='-Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W
-Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -mcpu=pentiumpro
-DUNIV_MUST_NOT_INLINE -DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DPEDANTIC_SAFEMALLOC
-DSAFE_MUTEX -O1' CXX='gcc' CXXFLAGS='-Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W
-Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual
-Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors
-fno-exceptions -fno-rtti -mcpu=pentiumpro -DUNIV_MUST_NOT_INLINE -DEXTRA_DEBUG
-DFORCE_INIT_OF_VARS -DSAFEMALLOC -DPEDANTIC_SAFEMALLOC -DSAFE_MUTEX -O1' LDFLAGS=''
LIBC:
lrwxrwxrwx 1 root root 13 Oct 4 22:32 /lib/libc.so.6 -> libc-2.2.4.so
-rwxr-xr-x 1 root root 1275300 Mar 7 2002 /lib/libc-2.2.4.so
-rw-r--r-- 1 root root 27274138 Mar 7 2002 /usr/lib/libc.a
-rw-r--r-- 1 root root 178 Mar 7 2002 /usr/lib/libc.so
Configure command: ./configure --prefix=/usr/local/mysql --enable-assembler
--with-extra-charsets=complex --enable-thread-safe-client --with-debug --enable-local-infile
'CFLAGS=-Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat
-Wparentheses -Wsign-compare -Wwrite-strings -Wunused -mcpu=pentiumpro -DUNIV_MUST_NOT_INLINE
-DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC -DPEDANTIC_SAFEMALLOC -DSAFE_MUTEX -O1'
'CXXFLAGS=-Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat
-Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wsign-promo -Wreorder
-Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti
-mcpu=pentiumpro -DUNIV_MUST_NOT_INLINE -DEXTRA_DEBUG -DFORCE_INIT_OF_VARS -DSAFEMALLOC
-DPEDANTIC_SAFEMALLOC -DSAFE_MUTEX -O1' CXX=gcc



___________________________________________________________
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Mail : http://fr.mail.yahoo.com

------------------------------------------------------------ ---------
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 bugs-thread13032@lists.mysql.com
To unsubscribe, e-mail

Re: MySQL 4.1 allows only max_connections-1 connections instead of max_connections

am 19.11.2002 17:11:09 von Sinisa Milivojevic

Guilhem Bichot writes:
> Description:
> mysqld allows only max_connections-1 connections instead of max_connections.
> By the way, my "SELECT on myisam and innodb empty tables, with unique key, not null columns, fails
> with error in MySQL4.1" bug report is still true with today's bitkeeper tree.
>
> How-To-Repeat:
> Start mysqld with --max_connections=1, and try to open a mysql client with a
> not-SUPER-privileged user. You get "Too many connections". (max_user_connections is 0.)
>
> Fix:
> ?
>

Yes, the behaviour was changed, as code says itself:

if (check_count)
{
VOID(pthread_mutex_lock(&LOCK_thread_count));
bool tmp=(thread_count - delayed_insert_threads >= max_connections &&
!(thd->master_access & SUPER_ACL));
VOID(pthread_mutex_unlock(&LOCK_thread_count));
...

We just have to document it. We shall have to put into our manual that
max_connection's thread is reserved for SUPER user.

--
Regards,
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Mr. Sinisa Milivojevic
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB, Fulltime Developer
/_/ /_/\_, /___/\___\_\___/ Larnaca, Cyprus
<___/ www.mysql.com


------------------------------------------------------------ ---------
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 bugs-thread13033@lists.mysql.com
To unsubscribe, e-mail