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

ASF GitHub Bot commented on CLOUDSTACK-9300:
--------------------------------------------

Github user kiwiflyer commented on the pull request:

    https://github.com/apache/cloudstack/pull/1428#issuecomment-192309041
  
    I've manually tested this on 4.7.1 and also on master. 
    
    Prior to the patch, the following exception was thrown:
    
    016-03-03 12:00:13,204 INFO  [c.c.u.d.T.Transaction] 
(localhost-startStop-1:null) (logid:) Is Data Base High Availiability enabled? 
Ans : true
    2016-03-03 12:00:13,239 INFO  [c.c.u.d.T.Transaction] 
(localhost-startStop-1:null) (logid:) The slaves configured for Cloud Data base 
is/are : localhost,localhost
    2016-03-03 12:00:13,303 ERROR [c.c.u.d.Merovingian2] 
(localhost-startStop-1:null) (logid:) Unable to get a new db connection
    java.sql.SQLException: Invalid load balancing strategy 
'com.cloud.utils.db.StaticStrategy'.
            at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
            at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924)
            at com.mysql.jdbc.Util.loadExtensions(Util.java:602)
            at 
com.mysql.jdbc.LoadBalancingConnectionProxy.<init>(LoadBalancingConnectionProxy.java:280)
            at 
com.mysql.jdbc.FailoverConnectionProxy.<init>(FailoverConnectionProxy.java:67)
            at 
com.mysql.jdbc.NonRegisteringDriver.connectFailover(NonRegisteringDriver.java:433)
            at 
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
            at java.sql.DriverManager.getConnection(DriverManager.java:571)
            at java.sql.DriverManager.getConnection(DriverManager.java:215)
            at 
org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:75)
            at 
org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
            at 
org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1188)
            at 
org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
            at 
com.cloud.utils.db.TransactionLegacy.getStandaloneConnectionWithException(TransactionLegacy.java:202)
            at com.cloud.utils.db.Merovingian2.<init>(Merovingian2.java:68)
            at 
com.cloud.utils.db.Merovingian2.createLockMaster(Merovingian2.java:88)
            at 
com.cloud.server.LockMasterListener.<init>(LockMasterListener.java:33)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
Method)
            at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
            at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    
    
    After the patch, the following is observed in the logs
    
    016-03-03 14:53:38,437 INFO  [c.c.u.d.T.Transaction] 
(localhost-startStop-1:null) (logid:) Is Data Base High Availiability enabled? 
Ans : true
    2016-03-03 14:53:38,587 INFO  [c.c.u.d.T.Transaction] 
(localhost-startStop-1:null) (logid:) The slaves configured for Cloud Data base 
is/are : localhost,localhost
    2016-03-03 14:53:39,332 DEBUG [c.c.u.d.ConnectionConcierge] 
(localhost-startStop-1:null) (logid:) Registering a database connection for 
LockMaster1
    2016-03-03 14:53:39,333 INFO  [c.c.u.d.Merovingian2] 
(localhost-startStop-1:null) (logid:) Cleaning up locks for 2484520639032
    2016-03-03 14:53:39,360 INFO  [c.c.u.d.Merovingian2] 
(localhost-startStop-1:null) (logid:) Released 0 locks for 2484520639032
    2016-03-03 14:53:39,447 INFO  [o.a.c.s.l.CloudStackExtendedLifeCycle] 
(localhost-startStop-1:null) (logid:) Running system integrity checker 
com.cloud.upgrade.DatabaseUpgradeChecker@71323382
    2016-03-03 14:53:39,447 INFO  [c.c.u.DatabaseUpgradeChecker] 
(localhost-startStop-1:null) (logid:) Grabbing lock to check for database 
upgrade.
    2016-03-03 14:53:39,634 DEBUG [c.c.u.d.VersionDaoImpl] 
(localhost-startStop-1:null) (logid:) Checking to see if the database is at a 
version before it was the version table is created
    2016-03-03 14:53:39,692 INFO  [c.c.u.DatabaseUpgradeChecker] 
(localhost-startStop-1:null) (logid:) DB version = 4.9.0 Code Version = 
4.9.0-SNAPSHOT
    2016-03-03 14:53:39,693 INFO  [c.c.u.DatabaseUpgradeChecker] 
(localhost-startStop-1:null) (logid:) DB version and code version matches so no 
upgrade needed.
    
    



> MySQL HA feature StaticStrategy throws exception
> ------------------------------------------------
>
>                 Key: CLOUDSTACK-9300
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9300
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>    Affects Versions: Future, 4.7.0, 4.8.0, 4.7.1
>         Environment: Centos 7
>            Reporter: Simon Weller
>            Priority: Minor
>
> 2016-03-03 12:00:13,204 INFO  [c.c.u.d.T.Transaction] 
> (localhost-startStop-1:null) (logid:) Is Data Base High Availiability 
> enabled? Ans : true
> 2016-03-03 12:00:13,239 INFO  [c.c.u.d.T.Transaction] 
> (localhost-startStop-1:null) (logid:) The slaves configured for Cloud Data 
> base is/are : localhost,localhost
> 2016-03-03 12:00:13,303 ERROR [c.c.u.d.Merovingian2] 
> (localhost-startStop-1:null) (logid:) Unable to get a new db connection
> java.sql.SQLException: Invalid load balancing strategy 
> 'com.cloud.utils.db.StaticStrategy'.
>         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
>         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924)
>         at com.mysql.jdbc.Util.loadExtensions(Util.java:602)
>         at 
> com.mysql.jdbc.LoadBalancingConnectionProxy.<init>(LoadBalancingConnectionProxy.java:280)
>         at 
> com.mysql.jdbc.FailoverConnectionProxy.<init>(FailoverConnectionProxy.java:67)
>         at 
> com.mysql.jdbc.NonRegisteringDriver.connectFailover(NonRegisteringDriver.java:433)
>         at 
> com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
>         at java.sql.DriverManager.getConnection(DriverManager.java:571)
>         at java.sql.DriverManager.getConnection(DriverManager.java:215)
>         at 
> org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:75)
>         at 
> org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
>         at 
> org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1188)
>         at 
> org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
>         at 
> com.cloud.utils.db.TransactionLegacy.getStandaloneConnectionWithException(TransactionLegacy.java:202)
>         at com.cloud.utils.db.Merovingian2.<init>(Merovingian2.java:68)
>         at 
> com.cloud.utils.db.Merovingian2.createLockMaster(Merovingian2.java:88)
>         at 
> com.cloud.server.LockMasterListener.<init>(LockMasterListener.java:33)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
> Method)
>         at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>         at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>         at 
> org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148)
>         at 
> org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:121)
>         at 
> org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:277)
>         at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1077)
>         at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:981)
>         at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487)
>         at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
>         at 
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
>         at 
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
>         at 
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
>         at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:191)
>         at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:636)
>         at 
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:934)
>         at 
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
>         at 
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContext(DefaultModuleDefinitionSet.java:145)
>         at 
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$2.with(DefaultModuleDefinitionSet.java:122)
>         at 
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:245)
>         at 
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:250)
>         at 
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:233)
>         at 
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContexts(DefaultModuleDefinitionSet.java:117)
>         at 
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load(DefaultModuleDefinitionSet.java:79)
>         at 
> org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules(ModuleBasedContextFactory.java:37)
>         at 
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init(CloudStackSpringContext.java:71)
>         at 
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:58)
>         at 
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:62)
>         at 
> org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextInitialized(CloudStackContextLoaderListener.java:52)
>         at 
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
>         at 
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)



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

Reply via email to