[
https://issues.apache.org/jira/browse/CLOUDSTACK-4384?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sowmya Krishnan closed CLOUDSTACK-4384.
---------------------------------------
Verified
> [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
> Assignee: Prasanna Santhanam
> 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