From f4e6a27eef7332072a30f92d2895ba5ea087a48d Mon Sep 17 00:00:00 2001 From: Avi Kivity Date: Wed, 6 Jan 2016 18:29:46 +0200 Subject: [PATCH] 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. --- dist/redhat/systemd/scylla-jmx.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/redhat/systemd/scylla-jmx.service b/dist/redhat/systemd/scylla-jmx.service index 11f8d2a..5ce9969 100644 --- a/dist/redhat/systemd/scylla-jmx.service +++ b/dist/redhat/systemd/scylla-jmx.service @@ -10,7 +10,7 @@ User=scylla Group=scylla ExecStart=/usr/lib/scylla/jmx/scylla-jmx -l /usr/lib/scylla/jmx KillMode=process -Restart=always +Restart=on-abnormal [Install] WantedBy=multi-user.target