summaryrefslogtreecommitdiff
path: root/ctdb
diff options
context:
space:
mode:
authorRalph Boehme <slow@samba.org>2020-05-12 15:30:05 +0200
committerMartin Schwenke <martins@samba.org>2020-05-13 13:30:12 +0000
commit6e419dda718cdb931f1d7d30926ed418a169415f (patch)
tree2b0a89f6280c1ec96a98f937bbf81af34ce6fafe /ctdb
parent393da520e43bd3a28feb231bcd9fd5308a3daa4a (diff)
downloadsamba-6e419dda718cdb931f1d7d30926ed418a169415f.tar.gz
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: https://github.com/systemd/systemd/commit/9ded9cd14cc03c67291b10a5c42ce5094ba0912f 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
Diffstat (limited to 'ctdb')
-rw-r--r--ctdb/config/ctdb.service1
1 files changed, 1 insertions, 0 deletions
diff --git a/ctdb/config/ctdb.service b/ctdb/config/ctdb.service
index fd81c38e26d..dbe35281f56 100644
--- a/ctdb/config/ctdb.service
+++ b/ctdb/config/ctdb.service
@@ -8,6 +8,7 @@ ConditionFileNotEmpty=/etc/ctdb/nodes
Type=forking
LimitCORE=infinity
LimitNOFILE=1048576
+TasksMax=4096
PIDFile=/run/ctdb/ctdbd.pid
ExecStart=/usr/sbin/ctdbd_wrapper start
ExecStop=/usr/sbin/ctdbd_wrapper stop