From 9e0318706fe9ecd8e0e0ecbdb8b3090035bfd210 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Tue, 12 Mar 2019 11:49:56 +0530 Subject: [PATCH 1/3] systemd: Fix -Dpid arg passing to systemd usage service This fixes regression introduced by refactoring PR #3163 where `-Dpid` was incorrectly passed string `$$` instead of parent PID integer. Signed-off-by: Rohit Yadav --- packaging/systemd/cloudstack-usage.default | 5 ++++- packaging/systemd/cloudstack-usage.service | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packaging/systemd/cloudstack-usage.default b/packaging/systemd/cloudstack-usage.default index 26f552859f37..089f3eec09cd 100644 --- a/packaging/systemd/cloudstack-usage.default +++ b/packaging/systemd/cloudstack-usage.default @@ -15,8 +15,11 @@ # specific language governing permissions and limitations # under the License. -JAVA_OPTS="-Dpid=$$ -Xms256m -Xmx2048m" +JAVA_OPTS="-Xms256m -Xmx2048m" CLASSPATH="/usr/share/cloudstack-usage/*:/usr/share/cloudstack-usage/lib/*:/usr/share/cloudstack-mysql-ha/lib/*:/etc/cloudstack/usage:/usr/share/java/mysql-connector-java.jar" JAVA_CLASS=com.cloud.usage.UsageServer + +# Enable the following to enable remote socket based debugging: +#JAVA_DEBUG="-agentlib:jdwp=transport=dt_socket,address=8001,server=y,suspend=n" diff --git a/packaging/systemd/cloudstack-usage.service b/packaging/systemd/cloudstack-usage.service index f8874867c69a..083068531f1e 100644 --- a/packaging/systemd/cloudstack-usage.service +++ b/packaging/systemd/cloudstack-usage.service @@ -24,7 +24,8 @@ After=network.target network-online.target [Service] Type=simple EnvironmentFile=/etc/default/cloudstack-usage -ExecStart=/usr/bin/java $JAVA_OPTS -cp $CLASSPATH $JAVA_CLASS +Environment=JAVA_PID=$$ +ExecStart=/usr/bin/java -Dpid=$JAVA_PID $JAVA_OPTS $JAVA_DEBUG -cp $CLASSPATH $JAVA_CLASS Restart=always RestartSec=10s From 8e5aec3d9398121f848ed9a12a249e06436347e9 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Tue, 12 Mar 2019 14:51:25 +0530 Subject: [PATCH 2/3] fix systemd limitation, exec using /bin/sh instead and wrap in ${} syntax https://www.freedesktop.org/software/systemd/man/systemd.service.html#Command%20lines Signed-off-by: Rohit Yadav --- packaging/systemd/cloudstack-usage.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/systemd/cloudstack-usage.service b/packaging/systemd/cloudstack-usage.service index 083068531f1e..8d9dff27cdec 100644 --- a/packaging/systemd/cloudstack-usage.service +++ b/packaging/systemd/cloudstack-usage.service @@ -25,7 +25,7 @@ After=network.target network-online.target Type=simple EnvironmentFile=/etc/default/cloudstack-usage Environment=JAVA_PID=$$ -ExecStart=/usr/bin/java -Dpid=$JAVA_PID $JAVA_OPTS $JAVA_DEBUG -cp $CLASSPATH $JAVA_CLASS +ExecStart=/bin/sh -ec '/usr/bin/java -Dpid=${JAVA_PID} $JAVA_OPTS $JAVA_DEBUG -cp $CLASSPATH $JAVA_CLASS' Restart=always RestartSec=10s From 037ea19458585aee3bab87f3c3b7af48e1790642 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Thu, 14 Mar 2019 13:42:31 +0530 Subject: [PATCH 3/3] usage: don't hide exception from Gabriel's https://github.com/apache/cloudstack/pull/3207/files#diff-062fcf5ae32de59dfd6cd4f780e1d7cd Signed-off-by: Rohit Yadav --- usage/src/com/cloud/usage/UsageServer.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/usage/src/com/cloud/usage/UsageServer.java b/usage/src/com/cloud/usage/UsageServer.java index df3f374cc308..5e8a69d17cb2 100644 --- a/usage/src/com/cloud/usage/UsageServer.java +++ b/usage/src/com/cloud/usage/UsageServer.java @@ -51,11 +51,7 @@ public void start() { appContext = new ClassPathXmlApplicationContext("usageApplicationContext.xml"); - try { - ComponentContext.initComponentsLifeCycle(); - } catch (Exception e) { - e.printStackTrace(); - } + ComponentContext.initComponentsLifeCycle(); mgr = appContext.getBean(UsageManager.class);