Date: Thu, 20 Nov 2003 17:49:47 -0500
Hi all!
Description:
When slave_net_timeout expires slave mysqld opens new connection
to master and doesn't close old one.
How to repeate:
Setup replication. Set slave_net_timeout to1 sec.
Run lsof and take a look at lines like this:
mysqld 38794 mysql 13u KQUEUE 0xc9ee0600 count=0,
state=0
Later mysqld will run out of descriptors and you will get "Too many open files"
error
message.
Mysql ver: 4.0.16
OS: FreeBSD 5.1 (release)
Hi,
I checked on Linux first:
ulimit -n 20
then started the slave mysqld.
"show variables like 'open_files_limit'" reported 20 as expected.
Started slave with slave_net_timeout=1. I also set master_connect_retry
to 1 (but it should not change anything, as the slave's code, when it
sees a broken connection (every slave_net_timeout seconds), tries to
reconnect immediately, and only if this fails it will wait
master_connect_retry seconds).
As expected the slave disconnected and reconnected every second, but got
no "too many open files".
I did the same test on one FreeBSD (FreeBSD 5.1-CURRENT) machine and it
also showed no error message.
So I don't know what is going wrong in your case.
Regards,
Guilhem