Dick Snippe
2002-May-16 04:53 UTC
possible bug rsync-2.5.5 rsyncd.conf option "max connections"
Hello, I think i may have found a bug in the "max clients" option in rsyncd.conf [we use rsync-2.5.5; All platforms I tried (Irix-6.5.14 and various linux flavours) show the behaviour explained below] The manpage says: |max connections | The "max connections" option allows you to specify | the maximum number of simultaneous connections you | will allow to this module of your rsync server. Any ------------------^^^^^^^^^^^^^^ However, it appears that the check also counts connections to other modules. Simple example: /etc/syncd.conf |[foo] | path = / | max connections = 1 |[bar] | path = / | max connections = 2 Now try these two modules in parallel, where the first line is started before the second line: |shell1 $ rsync -an server::foo /tmp/foo |<starts spewing output> |shell2 $ rsync -an server::bar /tmp/bar |<starts spewing output> This works, as expected. Now for a new experiment: |shell2 $ rsync -an server::bar /tmp/bar |<starts spewing output> |shell1 $ rsync -an server::foo /tmp/foo |@ERROR: max connections (1) reached - try again later Imho module foo complains about the connection to module bar; Could this be a bug? After some browsing in the code I guess that the problem might be that only one lockfile /var/run/rsyncd.lock) is used for all modules. -- Dick Snippe Unix Beheerder/Specialist NOS Internet beheer: beheer@omroep.nl \ fight war Gateway C -- Kamer 110 -- 035 6774093 \ not wars Infosite http://intra.omroep.nl/info/ []()
tim.conway@philips.com
2002-May-16 12:04 UTC
possible bug rsync-2.5.5 rsyncd.conf option "max connections"
lock file
The "lock file" option specifies the file to use to
support the "max connections" option. The rsync server
uses record locking on this file to ensure that the max
connections limit is not exceeded. The default is
/var/run/rsyncd.lock.
SunOS 5.7 Last change: 12 Feb 1999 4
Headers, Environments, and Macros rsyncd.conf(5)
If you don't specify a lock file for each module, they all will share one
lockfile, and all the locks will count together.
Tim Conway
tim.conway@philips.com
303.682.4917
Philips Semiconductor - Longmont TC
1880 Industrial Circle, Suite D
Longmont, CO 80501
Available via SameTime Connect within Philips, n9hmg on AIM
perl -e 'print pack(nnnnnnnnnnnn,
19061,29556,8289,28271,29800,25970,8304,25970,27680,26721,25451,25970),
".\n" '
"There are some who call me.... Tim?"
Dick Snippe <Dick.Snippe@tech.omroep.nl>
Sent by: rsync-admin@lists.samba.org
05/16/2002 05:46 AM
To: rsync@lists.samba.org
cc: (bcc: Tim Conway/LMT/SC/PHILIPS)
Subject: possible bug rsync-2.5.5 rsyncd.conf option "max
connections"
Classification:
Hello,
I think i may have found a bug in the "max clients" option in
rsyncd.conf
[we use rsync-2.5.5; All platforms I tried (Irix-6.5.14 and various linux
flavours) show the behaviour explained below]
The manpage says:
|max connections
| The "max connections" option allows you to specify
| the maximum number of simultaneous connections you
| will allow to this module of your rsync server. Any
------------------^^^^^^^^^^^^^^
However, it appears that the check also counts connections to other
modules.
Simple example:
/etc/syncd.conf
|[foo]
| path = /
| max connections = 1
|[bar]
| path = /
| max connections = 2
Now try these two modules in parallel, where the first line is
started before the second line:
|shell1 $ rsync -an server::foo /tmp/foo
|<starts spewing output>
|shell2 $ rsync -an server::bar /tmp/bar
|<starts spewing output>
This works, as expected.
Now for a new experiment:
|shell2 $ rsync -an server::bar /tmp/bar
|<starts spewing output>
|shell1 $ rsync -an server::foo /tmp/foo
|@ERROR: max connections (1) reached - try again later
Imho module foo complains about the connection to module bar;
Could this be a bug?
After some browsing in the code I guess that the problem might be that
only one lockfile /var/run/rsyncd.lock) is used for all modules.
--
Dick Snippe Unix Beheerder/Specialist
NOS Internet beheer: beheer@omroep.nl \ fight war
Gateway C -- Kamer 110 -- 035 6774093 \ not wars
Infosite http://intra.omroep.nl/info/ []()
--
To unsubscribe or change options:
http://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.tuxedo.org/~esr/faqs/smart-questions.html
Dave Dykstra
2002-May-16 14:09 UTC
possible bug rsync-2.5.5 rsyncd.conf option "max connections"
Documentation bug. I changed it to say:
max connections
The "max connections" option allows you to specify the
maximum number of simultaneous connections you will
allow. Any clients connecting when the maximum has
been reached will receive a message telling them to try
later. The default is 0 which means no limit. See
also the "lock file" option.
lock file
The "lock file" option specifies the file to use to
support the "max connections" option. The rsync server
uses record locking on this file to ensure that the max
connections limit is not exceeded for the modules shar-
ing the lock file. The default is /var/run/rsyncd.lock.
- Dave Dykstra
On Thu, May 16, 2002 at 01:46:29PM +0200, Dick Snippe
wrote:> Hello,
>
> I think i may have found a bug in the "max clients" option in
rsyncd.conf
> [we use rsync-2.5.5; All platforms I tried (Irix-6.5.14 and various linux
> flavours) show the behaviour explained below]
>
> The manpage says:
>
> |max connections
> | The "max connections" option allows you to specify
> | the maximum number of simultaneous connections you
> | will allow to this module of your rsync server. Any
> ------------------^^^^^^^^^^^^^^
>
> However, it appears that the check also counts connections to other
modules.
>
> Simple example:
>
> /etc/syncd.conf
> |[foo]
> | path = /
> | max connections = 1
> |[bar]
> | path = /
> | max connections = 2
>
> Now try these two modules in parallel, where the first line is
> started before the second line:
> |shell1 $ rsync -an server::foo /tmp/foo
> |<starts spewing output>
> |shell2 $ rsync -an server::bar /tmp/bar
> |<starts spewing output>
>
> This works, as expected.
> Now for a new experiment:
>
> |shell2 $ rsync -an server::bar /tmp/bar
> |<starts spewing output>
> |shell1 $ rsync -an server::foo /tmp/foo
> |@ERROR: max connections (1) reached - try again later
>
> Imho module foo complains about the connection to module bar;
> Could this be a bug?
>
> After some browsing in the code I guess that the problem might be that
> only one lockfile /var/run/rsyncd.lock) is used for all modules.
>
> --
> Dick Snippe Unix Beheerder/Specialist
> NOS Internet beheer: beheer@omroep.nl \ fight war
> Gateway C -- Kamer 110 -- 035 6774093 \ not wars
> Infosite http://intra.omroep.nl/info/ []()
>
> --
> To unsubscribe or change options:
http://lists.samba.org/mailman/listinfo/rsync
> Before posting, read: http://www.tuxedo.org/~esr/faqs/smart-questions.html