1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
samba-mirror/ctdb/config
Ralph Boehme 6e419dda71 ctdb: increase TasksMax limit, the systemd default is just 512
In 2015 systemd introduced a TasksMax which limits the number of processes in a
unit:

https://lists.freedesktop.org/archives/systemd-devel/2015-November/035006.html

The default of 512 may be too low in certain situations leading to vfork()
failing with errno=EAGAIN when trying to spawn lock-helper processes.

With the default for LockProcessesPerDB being 200 the increased TasksMax limit
should cover the problematic scenario.

Additional background: the failing vfork()s have been seen on production
clusters and were tracked down to being logged in the context of ctdb calling
tdb_repack().

Links:

9ded9cd14c
https://www.suse.com/support/kb/doc/?id=000015901
https://success.docker.com/article/how-to-reserve-resource-temporarily-unavailable-errors-due-to-tasksmax-setting
https://www.percona.com/blog/2019/01/02/tasksmax-another-setting-that-can-cause-mysql-error-messages/

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Martin Schwenke <martin@meltin.net>

Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Wed May 13 13:30:12 UTC 2020 on sn-devel-184
2020-05-13 13:30:12 +00:00
..
events ctdb-scripts: Change CTDB_SERVICE_NMB default value to 'nmb' 2020-02-27 06:07:41 +00:00
nfs-checks.d ctdb-scripts: Stop/start mount/rquotad/status via NFS call-out 2019-03-31 10:45:20 +00:00
ctdb-crash-cleanup.sh ctdb-scripts: Use load_script_options() in miscellaneous scripts 2018-05-12 06:11:17 +02:00
ctdb.conf ctdb-config: Change example recovery lock setting to one that fails 2019-02-25 02:12:16 +01:00
ctdb.init ctdb-scripts: Split CTDB configuration loading 2018-03-28 02:57:20 +02:00
ctdb.service ctdb: increase TasksMax limit, the systemd default is just 512 2020-05-13 13:30:12 +00:00
ctdb.sudoers ctdb-scripts: Update important installed files to use build-time defaults 2015-09-15 08:56:21 +02:00
ctdb.sysconfig ctdb-config: Add default ctdb.sysconfig file, update ctdb.service 2018-05-12 06:11:17 +02:00
ctdb.tunables ctdb-scripts: Tunables are now loaded from ctdb.tunables 2018-03-28 02:57:21 +02:00
ctdbd_wrapper ctdb: Drop configuration file ctdbd.conf 2018-05-17 07:03:04 +02:00
debug_locks.sh ctdb-scripts: Provide a gstack function if gstack is not available 2018-07-11 14:47:21 +02:00
debug-hung-script.sh ctdb-scripts: Use load_script_options() in miscellaneous scripts 2018-05-12 06:11:17 +02:00
functions ctdb-scripts: Strip square brackets when gathering connection info 2020-01-02 22:36:34 +00:00
nfs-linux-kernel-callout ctdb-scripts: Fix tcp_tw_recycle existence check 2019-06-04 23:31:24 +00:00
notification.README ctdb-scripts: Change directory for notifications to events/notification 2018-06-05 17:47:26 +02:00
notify.sh ctdb-scripts: Change directory for notifications to events/notification 2018-06-05 17:47:26 +02:00
README ctdb-scripts: Move event scripts to events/legacy/ directory 2018-06-05 17:47:26 +02:00
script.options ctdb-scripts: Drop event script CTDB_MANAGED_<service> variables 2018-07-11 11:48:39 +02:00
statd-callout ctdb-scripts: Update statd-callout to try several configuration files 2019-03-31 10:45:20 +00:00

This directory contains run-time support scripts for CTDB.

Selected highlights:

  ctdb.init

    An initscript for starting ctdbd at boot time.

  events/

    Eventscripts.  See events/README for more details.

  functions

    Support functions, sourced by eventscripts and other scripts.

  statd-callout

    rpc.statd high-availability callout to support lock migration on
    failover.

Notes:

* All of these scripts are written in POSIX Bourne shell.  Please
  avoid bash-isms, including the use of "local" variables (which are
  not available in POSIX shell).

* Do not use absolute paths for commands.  Unit tests attempt to
  replace many commands with stubs and can not do this if commands are
  specified with absolute paths.  The functions file controls $PATH so
  absolute paths should not be required.