Hello

When there is a DB node failure and the database briefly disconnects, the 
following entry keeps appearing in the cloudstack-management.log until the 
management service is restarted. All Cloudstack operations still function - 
starting and stopping an instance for example


Cloudstack 4.9.3.1
Centos 7

3 CS management servers
3 active/active mariadb galera cluster - loadbalanced 1 active 2 standby

2018-05-02 09:27:40,685 ERROR [c.c.c.ClusterManagerImpl] 
(Cluster-Heartbeat-1:ctx-64ee96a9) (logid:d15e998c) Unexpected exception in 
cluster heartbeat
java.lang.RuntimeException: No database selected for the transaction
        at 
com.cloud.cluster.dao.ManagementServerHostDaoImpl.update(ManagementServerHostDaoImpl.java:148)
        at sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
        at 
com.cloud.utils.db.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:34)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
        at 
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at com.sun.proxy.$Proxy202.update(Unknown Source)
        at 
com.cloud.cluster.ClusterManagerImpl$4.runInContext(ClusterManagerImpl.java:554)
        at 
org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:49)
        at 
org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56)
        at 
org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103)
        at 
org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53)
        at 
org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:46)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: com.cloud.utils.exception.CloudRuntimeException: No database 
selected for the transaction
        at 
com.cloud.utils.db.TransactionLegacy.getConnection(TransactionLegacy.java:580)
        at 
com.cloud.utils.db.TransactionLegacy.prepareStatement(TransactionLegacy.java:467)
        at 
com.cloud.utils.db.TransactionLegacy.prepareAutoCloseStatement(TransactionLegacy.java:460)
        ... 26 more


Kind Regards,

[Oakford Internet Services]<http://www.oakfordis.com/>
Adam Witwicki | Hosted Systems Specialist
01380 710278 / awitwi...@oakfordis.com<mailto:awitwi...@oakfordis.com>
Oakford Internet Services Office: 01380 888088
10 Prince Maurice Court, Devizes, Wiltshire. SN10 2RT
www.oakfordis.com<http://www.oakfordis.com/> 
sa...@oakfordis.com<mailto:sa...@oakfordis.com>


Disclaimer Notice:
This email has been sent by Oakford Technology Limited, while we have checked 
this e-mail and any attachments for viruses, we can not guarantee that they are 
virus-free. You must therefore take full responsibility for virus checking.
This message and any attachments are confidential and should only be read by 
those to whom they are addressed. If you are not the intended recipient, please 
contact us, delete the message from your computer and destroy any copies. Any 
distribution or copying without our prior permission is prohibited.
Internet communications are not always secure and therefore Oakford Technology 
Limited does not accept legal responsibility for this message. The recipient is 
responsible for verifying its authenticity before acting on the contents. Any 
views or opinions presented are solely those of the author and do not 
necessarily represent those of Oakford Technology Limited.
Registered address: Oakford Technology Limited, 10 Prince Maurice Court, 
Devizes, Wiltshire. SN10 2RT.
Registered in England and Wales No. 5971519

Reply via email to