dist: do not always restart jmx on shutdown

Restart=always leads to the following loop:

 1. scylla terminates abnormally
 2. scylla-jmx sees that, and terminates
 3. systemd sees that scylla-jmx terminated, and restarts it.
 4. scylla-jmx requires scylla, so systemd starts it.
 5. goto 1.

To prevent the loop, set Restart=on-abnormal; systemd will restart scylla-jmx
if some JVM bug got it killed, but not otherwise.

The downside to this patch is that if scylla-server goes down, so does
scylla-jmx, but if scylla-server is then restarted, scylla-jmx stays down.
To get scylla and scylla-jmx to start together, we need to create
scylla.service that requires both of them.
This commit is contained in:
Avi Kivity 2016-01-06 18:29:46 +02:00 committed by Pekka Enberg
parent 6528ae8b9e
commit f4e6a27eef

View File

@ -10,7 +10,7 @@ User=scylla
Group=scylla Group=scylla
ExecStart=/usr/lib/scylla/jmx/scylla-jmx -l /usr/lib/scylla/jmx ExecStart=/usr/lib/scylla/jmx/scylla-jmx -l /usr/lib/scylla/jmx
KillMode=process KillMode=process
Restart=always Restart=on-abnormal
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target