Short version:

How can I extend (or remove) the startup timeout for a single systemd
service?


Longer version:

I'm running a galera cluster of three mariadb servers.  It's been
brought down twice because one node has detected an inconsistency,
killed itself, and then systemd automatically restarted it.  This is all
good so far.

The problem comes in when it tries to restart and, because it shut down
in an inconsistent state, it wants to do a full state transfer to get
back in sync with the rest of the cluster, which involves copying
(potentially) 24G of data.  Performing this transfer takes long enough
that systemd times out, assumes the restart failed, and kills it, so
it's not possible to bring the node back online without bypassing
systemd and running mysqld_safe manually.

Based on some web searches, I've tried using `systemctl edit mysql` to
set "TimeoutStartUSec=infinity", but this does not appear to actually
have any effect, even after reloading the systemd daemon:

# systemctl edit mysql
<add the setting using vim>
# systemctl show mysql -p TimeoutStartUSec
TimeoutStartUSec=1min 30s
# systemctl daemon-reload
# systemctl show mysql -p TimeoutStartUSec
TimeoutStartUSec=1min 30s
# systemctl daemon-reexec
# systemctl show mysql -p TimeoutStartUSec
TimeoutStartUSec=1min 30s

What do I need to do to make this actually work?  Or is it possible to
tell systemd to use a different method of determining whether mysqld has
started successfully, so that it will recognize "SST in progress" as a
valid "started" state?

-- 
Dave Sherohman

Reply via email to