Sowmya Krishnan created CLOUDSTACK-4384:
-------------------------------------------

             Summary: [Simulator] Trying to refer to tables in simulator DB 
instead of cloud DB after using configureSimulator for delay
                 Key: CLOUDSTACK-4384
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-4384
             Project: CloudStack
          Issue Type: Bug
      Security Level: Public (Anyone can view this level - this is the default.)
          Components: API, Management Server
    Affects Versions: 4.2.0
         Environment: latest 4.2, Build with simulator
            Reporter: Sowmya Krishnan
             Fix For: 4.2.0


While creating accounts and deploying simulator VMs, MS is trying to access 
tables in simulator table which don't exist instead of cloud DB. Noticed this 
after using configureSimulator to induce delay for few commands

Steps
=====

Build with simulator: 

mvn -Pdeveloper -pl developer -Ddeploydb-simulator
mvn -Pdeveloper -pl developer -Ddeploydb
mvn -Pdeveloper -pl developer -Ddeploydb-simulator

Deploy zone, cluster, pod, host, secondary storage.

Use configureSimulator to induce delay for some commands:
ex:http://localhost:8096/client/api?command=configureSimulator&zoneid=1&name=CreateCommand&value=wait:10000

Create user account and deploy simulator VMs as user/admin

Finding the following exception while deploying simulator VM:

2013-08-19 09:42:25,937 DEBUG [allocator.impl.FirstFitAllocator] 
(Job-Executor-22:job-22 = [ 69f175f0-bd75-42d8-9205-a2e5927c1506 ] 
FirstFitRoutingAllocator)
 Found a suitable host, adding to list: 28
2013-08-19 09:42:25,943 ERROR [cloud.api.ApiServer] (ApiServer-1:null) 
unhandled exception executing api command: listNetworks
com.cloud.utils.exception.CloudRuntimeException: DB Exception on: 
com.mysql.jdbc.JDBC4PreparedStatement@15ebcb3: SELECT account.id, 
account.account_name, account.type, account.domain_id, account.state, 
account.removed, account.cleanup_needed, account.network_domain, account.uuid, 
account.default_zone_id, account.default FROM account WHERE account.id = 0  AND 
account.removed IS NULL
        at com.cloud.utils.db.GenericDaoBase.findById(GenericDaoBase.java:985)
        at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
        at com.cloud.utils.db.GenericDaoBase.lockRow(GenericDaoBase.java:962)
        at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
        at com.cloud.utils.db.GenericDaoBase.findById(GenericDaoBase.java:923)
        at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
        at 
com.cloud.user.AccountManagerImpl.getActiveAccountById(AccountManagerImpl.java:1655)
        at com.cloud.api.ApiDispatcher.doAccessChecks(ApiDispatcher.java:110)
        at com.cloud.api.ApiDispatcher.processParameters(ApiDispatcher.java:313)
        at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:132)
        at com.cloud.api.ApiServer.queueCommand(ApiServer.java:514)
        at com.cloud.api.ApiServer.handleRequest(ApiServer.java:372)
        at com.cloud.api.ApiServer.handle(ApiServer.java:303)
        at org.apache.http.protocol.HttpService.doService(HttpService.java:375)
        at 
org.apache.http.protocol.HttpService.handleRequest(HttpService.java:290)
        at com.cloud.api.ApiServer$WorkerTask.run(ApiServer.java:978)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:679)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 
'simulator.account' doesn't exist
        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:532)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
        at com.mysql.jdbc.Util.getInstance(Util.java:386)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
        at 
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
        at 
com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2318)
        at 
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
        at 
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
        at 
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
        at com.cloud.utils.db.GenericDaoBase.findById(GenericDaoBase.java:982)
        ... 30 more
2013-08-19 09:42:25,955 DEBUG [cloud.capacity.CapacityManagerImpl] 
(Job-Executor-22:job-22 = [ 69f175f0-bd75-42d8-9205-a2e5927c1506 ] 
FirstFitRoutingAllocator) Checking if host: 31 has enough capacity for 
requested CPU: 100 and requested RAM: 125829120 , cpuOverprovisioningFactor: 1.0


Finding this exception while creating account:


2013-08-19 10:13:26,475 DEBUG [cloud.network.NetworkManagerImpl] 
(ApiServer-10:null) Releasing lock for 
Acct[24aebc27-b60c-4bd8-b152-06d816f29e5a-test4]
2013-08-19 10:13:26,537 ERROR [cloud.api.ApiServer] (ApiServer-1:null) 
unhandled exception executing api command: createAccount
com.cloud.utils.exception.CloudRuntimeException: DB Exception on: 
com.mysql.jdbc.JDBC4PreparedStatement@1dd7b11: SELECT account.id, 
account.account_name, acc
ount.type, account.domain_id, account.state, account.removed, 
account.cleanup_needed, account.network_domain, account.uuid, 
account.default_zone_id, account.
default FROM account WHERE account.id = 1  AND account.removed IS NULL
        at com.cloud.utils.db.GenericDaoBase.findById(GenericDaoBase.java:985)
        at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
        at com.cloud.utils.db.GenericDaoBase.lockRow(GenericDaoBase.java:962)
        at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
        at com.cloud.utils.db.GenericDaoBase.findById(GenericDaoBase.java:923)
        at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
        at 
com.cloud.user.AccountManagerImpl.getActiveAccountById(AccountManagerImpl.java:1655)
        at com.cloud.api.ApiDispatcher.doAccessChecks(ApiDispatcher.java:110)
        at com.cloud.api.ApiDispatcher.processParameters(ApiDispatcher.java:313)
        at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:132)
        at com.cloud.api.ApiServer.queueCommand(ApiServer.java:514)
        at com.cloud.api.ApiServer.handleRequest(ApiServer.java:372)
        at com.cloud.api.ApiServer.handle(ApiServer.java:303)
        at org.apache.http.protocol.HttpService.doService(HttpService.java:375)
        at 
org.apache.http.protocol.HttpService.handleRequest(HttpService.java:290)
        at com.cloud.api.ApiServer$WorkerTask.run(ApiServer.java:978)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:679)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 
'simulator.account' doesn't exist
        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:532)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
        at com.mysql.jdbc.Util.getInstance(Util.java:386)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
        at 
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
        at 
com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2318)
        at 
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
        at 
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
        at 
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
        at com.cloud.utils.db.GenericDaoBase.findById(GenericDaoBase.java:982)
        ... 30 more
2013-08-19 10:13:26,547 ERROR [cloud.api.ApiDispatcher] (ApiServer-2:null) 
CloudRuntimeException





--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to