[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-9283?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15140995#comment-15140995
 ] 

David Amorim Faria commented on CLOUDSTACK-9283:
------------------------------------------------

This is indeed an issue.

I changed the service definition to have the Dpid and now the usage server is 
no longer restarting in a loop.

/usr/lib/systemd/system/cloudstack-usage.service: {code}
[Unit]
Description=CloudStack Usage Server
Documentation=http://www.cloudstack.org/
Wants=network.target network-online.target
After=network.target network-online.target

[Service]
Type=simple
Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=JAVA_HEAP_INITIAL=256m
Environment=JAVA_HEAP_MAX=2048m
Environment=JAVA_CLASS=com.cloud.usage.UsageServer
Environment=JAVA_PID=$$
ExecStart=/bin/sh -ec '\
    export UCP=`ls /usr/share/cloudstack-usage/cloud-usage-*.jar 
/usr/share/cloudstack-usage/lib/*.jar | tr "\\n" ":"`; \
    export 
CLASSPATH="$UCP:/etc/cloudstack/usage:/usr/share/java/mysql-connector-java.jar";
 \
    ${JAVA_HOME}/bin/java -Dpid=${JAVA_PID} -Xms${JAVA_HEAP_INITIAL} 
-Xmx${JAVA_HEAP_MAX} -cp "$CLASSPATH" $JAVA_CLASS'
Restart=always
RestartSec=10s

[Install]
WantedBy=multi-user.target
{code}


> cloudstack-usage fails to start throwing Integer exception during PID 
> retrieval
> -------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-9283
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9283
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Usage
>    Affects Versions: 4.7.0
>         Environment: CentOS 7, systemd, packages from official repo
>            Reporter: Linas Žilinskas
>
> I have very little knowledge of java, but I looked at the code where the 
> exception is thrown. The code is 
> {code}_pid = Integer.parseInt(System.getProperty("pid"));{code} 
> Based on the information I found, I guess the command line requires -Dpid=$$ 
> to be passed, which isn't. I modified the systemd service to include the 
> parameter and service now starts. I'm not sure if this is something specific 
> to my environment or not, but seems strange that this could go unnoticed.
> {code}
> 12:49:27,981 DEBUG UsageManagerImpl:187 - Checking to see if usage.vmops.pid 
> exists.
> 12:49:27,982  INFO UsageManagerImpl:195 - Implementation Version is 4.7.0
> 12:49:28,737 DEBUG UsageManagerImpl:218 - Usage stats aggregation time zone: 
> GMT
> 12:49:28,738 DEBUG UsageManagerImpl:250 - Execution Time: Wed Feb 10 12:25:00 
> UTC 2016
> 12:49:28,738 DEBUG UsageManagerImpl:252 - Current Time: Wed Feb 10 12:49:28 
> UTC 2016
> java.lang.NumberFormatException: null
>         at java.lang.Integer.parseInt(Integer.java:542)
>         at java.lang.Integer.parseInt(Integer.java:615)
>         at 
> com.cloud.usage.UsageManagerImpl.configure(UsageManagerImpl.java:267)
>         at 
> com.cloud.utils.component.ComponentContext.initComponentsLifeCycle(ComponentContext.java:116)
>         at com.cloud.usage.UsageServer.start(UsageServer.java:61)
>         at com.cloud.usage.UsageServer.main(UsageServer.java:47)
> 12:49:28,745 DEBUG DefaultListableBeanFactory:243 - Returning cached instance 
> of singleton bean 'usageManagerImpl'
> 12:49:28,745  INFO UsageServer:70 - UsageServer ready...
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to