You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Francois Gaudreault <fg...@cloudops.com> on 2013/10/07 18:54:05 UTC

DB error after upgrade to 4.2 (from 4.1.1)

Hi,

I am seeing a DB failure in our logs after an upgrade from 4.1.1 to 
4.2.0... Maybe this is already reported, but I couldn't find anything. 
Any Ideas? See the trace below.

2013-10-07 12:52:56,537 ERROR [agent.manager.AgentManagerImpl] 
(AgentConnectTaskPool-26:null) Monitor DownloadListener says there is an 
error in the connect process for 35 due to DB Exception on: 
com.mysql.jdbc.JDBC4PreparedStatement@5b03fd6d: SELECT 
resource_count.id, resource_count.type, resource_count.account_id, 
resource_count.domain_id, resource_count.count FROM resource_count WHERE 
resource_count.id IN )  FOR UPDATE
com.cloud.utils.exception.CloudRuntimeException: DB Exception on: 
com.mysql.jdbc.JDBC4PreparedStatement@5b03fd6d: SELECT 
resource_count.id, resource_count.type, resource_count.account_id, 
resource_count.domain_id, resource_count.count FROM resource_count WHERE 
resource_count.id IN )  FOR UPDATE
     at 
com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:414)
     at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
     at 
com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:349)
     at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
     at com.cloud.utils.db.GenericDaoBase.search(GenericDaoBase.java:333)
     at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
     at com.cloud.utils.db.GenericDaoBase.lockRows(GenericDaoBase.java:315)
     at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
     at 
com.cloud.resourcelimit.ResourceLimitManagerImpl.checkResourceLimit(ResourceLimitManagerImpl.java:383)
     at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
     at 
org.apache.cloudstack.storage.image.TemplateServiceImpl.handleTemplateSync(TemplateServiceImpl.java:348)
     at 
com.cloud.storage.download.DownloadListener.processConnect(DownloadListener.java:309)
     at 
com.cloud.agent.manager.AgentManagerImpl.notifyMonitorsOfConnection(AgentManagerImpl.java:587)
     at 
com.cloud.agent.manager.AgentManagerImpl.handleConnectedAgent(AgentManagerImpl.java:1085)
     at 
com.cloud.agent.manager.AgentManagerImpl.access$100(AgentManagerImpl.java:144)
     at 
com.cloud.agent.manager.AgentManagerImpl$HandleAgentConnectTask.run(AgentManagerImpl.java:1160)
     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: 
You have an error in your SQL syntax; check the manual that corresponds 
to your MySQL server version for the right syntax to use near ')  FOR 
UPDATE' at line 1
     at sun.reflect.GeneratedConstructorAccessor280.newInstance(Unknown 
Source)
     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 
com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:408)
     ... 38 more

-- 
Francois Gaudreault
Architecte de Solution Cloud | Cloud Solutions Architect
fgaudreault@cloudops.com
514-629-6775
- - -
CloudOps
420 rue Guy
Montréal QC  H3J 1S6
www.cloudops.com
@CloudOps_


Re: DB error after upgrade to 4.2 (from 4.1.1)

Posted by Francois Gaudreault <fg...@cloudops.com>.
Thanks! That fixed it ;)

I guess my google skills lack a little :p

Franoic

On 10/7/2013, 2:44 PM, Go Chiba wrote:
> Hi Francois,
>
> I thought it related to upgrade db scheme bug.[1]
> and 4.2 require to insert some rows after upgrade from earlier version 
> about resource_count if you upgrade it.
>
>
> [1] http://apache.markmail.org/message/yq4fzuotsmizyetc
>
>
> On Tue, Oct 8, 2013 at 1:54 AM, Francois Gaudreault 
> <fgaudreault@cloudops.com <ma...@cloudops.com>> wrote:
>
>     Hi,
>
>     I am seeing a DB failure in our logs after an upgrade from 4.1.1
>     to 4.2.0... Maybe this is already reported, but I couldn't find
>     anything. Any Ideas? See the trace below.
>
>     2013-10-07 12:52:56,537 ERROR [agent.manager.AgentManagerImpl]
>     (AgentConnectTaskPool-26:null) Monitor DownloadListener says there
>     is an error in the connect process for 35 due to DB Exception on:
>     com.mysql.jdbc.JDBC4PreparedStatement@5b03fd6d: SELECT
>     resource_count.id <http://resource_count.id>, resource_count.type,
>     resource_count.account_id, resource_count.domain_id,
>     resource_count.count FROM resource_count WHERE resource_count.id
>     <http://resource_count.id> IN )  FOR UPDATE
>     com.cloud.utils.exception.CloudRuntimeException: DB Exception on:
>     com.mysql.jdbc.JDBC4PreparedStatement@5b03fd6d: SELECT
>     resource_count.id <http://resource_count.id>, resource_count.type,
>     resource_count.account_id, resource_count.domain_id,
>     resource_count.count FROM resource_count WHERE resource_count.id
>     <http://resource_count.id> IN )  FOR UPDATE
>         at
>     com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:414)
>         at
>     com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
>         at
>     com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:349)
>         at
>     com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
>         at
>     com.cloud.utils.db.GenericDaoBase.search(GenericDaoBase.java:333)
>         at
>     com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
>         at
>     com.cloud.utils.db.GenericDaoBase.lockRows(GenericDaoBase.java:315)
>         at
>     com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
>         at
>     com.cloud.resourcelimit.ResourceLimitManagerImpl.checkResourceLimit(ResourceLimitManagerImpl.java:383)
>         at
>     com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
>         at
>     org.apache.cloudstack.storage.image.TemplateServiceImpl.handleTemplateSync(TemplateServiceImpl.java:348)
>         at
>     com.cloud.storage.download.DownloadListener.processConnect(DownloadListener.java:309)
>         at
>     com.cloud.agent.manager.AgentManagerImpl.notifyMonitorsOfConnection(AgentManagerImpl.java:587)
>         at
>     com.cloud.agent.manager.AgentManagerImpl.handleConnectedAgent(AgentManagerImpl.java:1085)
>         at
>     com.cloud.agent.manager.AgentManagerImpl.access$100(AgentManagerImpl.java:144)
>         at
>     com.cloud.agent.manager.AgentManagerImpl$HandleAgentConnectTask.run(AgentManagerImpl.java:1160)
>         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: You
>     have an error in your SQL syntax; check the manual that
>     corresponds to your MySQL server version for the right syntax to
>     use near ')  FOR UPDATE' at line 1
>         at
>     sun.reflect.GeneratedConstructorAccessor280.newInstance(Unknown
>     Source)
>         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
>     com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:408)
>         ... 38 more
>
>     -- 
>     Francois Gaudreault
>     Architecte de Solution Cloud | Cloud Solutions Architect
>     fgaudreault@cloudops.com <ma...@cloudops.com>
>     514-629-6775 <tel:514-629-6775>
>     - - -
>     CloudOps
>     420 rue Guy
>     Montréal QC  H3J 1S6
>     www.cloudops.com <http://www.cloudops.com>
>     @CloudOps_
>
>
>
>
> -- 
> 千葉 豪  Go Chiba
> E-mail:go.chiba@gmail.com <ma...@gmail.com>


-- 
Francois Gaudreault
Architecte de Solution Cloud | Cloud Solutions Architect
fgaudreault@cloudops.com
514-629-6775
- - -
CloudOps
420 rue Guy
Montréal QC  H3J 1S6
www.cloudops.com
@CloudOps_


Re: DB error after upgrade to 4.2 (from 4.1.1)

Posted by Go Chiba <go...@gmail.com>.
Hi Francois,

I thought it related to upgrade db scheme bug.[1]
and 4.2 require to insert some rows after upgrade from earlier version
about resource_count if you upgrade it.


[1] http://apache.markmail.org/message/yq4fzuotsmizyetc


On Tue, Oct 8, 2013 at 1:54 AM, Francois Gaudreault <
fgaudreault@cloudops.com> wrote:

> Hi,
>
> I am seeing a DB failure in our logs after an upgrade from 4.1.1 to
> 4.2.0... Maybe this is already reported, but I couldn't find anything. Any
> Ideas? See the trace below.
>
> 2013-10-07 12:52:56,537 ERROR [agent.manager.**AgentManagerImpl]
> (AgentConnectTaskPool-26:null) Monitor DownloadListener says there is an
> error in the connect process for 35 due to DB Exception on: com.mysql.jdbc.
> **JDBC4PreparedStatement@**5b03fd6d: SELECT resource_count.id,
> resource_count.type, resource_count.account_id, resource_count.domain_id,
> resource_count.count FROM resource_count WHERE resource_count.id IN )
>  FOR UPDATE
> com.cloud.utils.exception.**CloudRuntimeException: DB Exception on:
> com.mysql.jdbc.**JDBC4PreparedStatement@**5b03fd6d: SELECT
> resource_count.id, resource_count.type, resource_count.account_id,
> resource_count.domain_id, resource_count.count FROM resource_count WHERE
> resource_count.id IN )  FOR UPDATE
>     at com.cloud.utils.db.**GenericDaoBase.**searchIncludingRemoved(**
> GenericDaoBase.java:414)
>     at com.cloud.utils.component.**ComponentInstantiationPostProc**
> essor$InterceptorDispatcher.**intercept(**ComponentInstantiationPostProc**
> essor.java:125)
>     at com.cloud.utils.db.**GenericDaoBase.**searchIncludingRemoved(**
> GenericDaoBase.java:349)
>     at com.cloud.utils.component.**ComponentInstantiationPostProc**
> essor$InterceptorDispatcher.**intercept(**ComponentInstantiationPostProc**
> essor.java:125)
>     at com.cloud.utils.db.**GenericDaoBase.search(**
> GenericDaoBase.java:333)
>     at com.cloud.utils.component.**ComponentInstantiationPostProc**
> essor$InterceptorDispatcher.**intercept(**ComponentInstantiationPostProc**
> essor.java:125)
>     at com.cloud.utils.db.**GenericDaoBase.lockRows(**
> GenericDaoBase.java:315)
>     at com.cloud.utils.component.**ComponentInstantiationPostProc**
> essor$InterceptorDispatcher.**intercept(**ComponentInstantiationPostProc**
> essor.java:125)
>     at com.cloud.resourcelimit.**ResourceLimitManagerImpl.**
> checkResourceLimit(**ResourceLimitManagerImpl.java:**383)
>     at com.cloud.utils.component.**ComponentInstantiationPostProc**
> essor$InterceptorDispatcher.**intercept(**ComponentInstantiationPostProc**
> essor.java:125)
>     at org.apache.cloudstack.storage.**image.TemplateServiceImpl.**
> handleTemplateSync(**TemplateServiceImpl.java:348)
>     at com.cloud.storage.download.**DownloadListener.**processConnect(**
> DownloadListener.java:309)
>     at com.cloud.agent.manager.**AgentManagerImpl.**
> notifyMonitorsOfConnection(**AgentManagerImpl.java:587)
>     at com.cloud.agent.manager.**AgentManagerImpl.**handleConnectedAgent(*
> *AgentManagerImpl.java:1085)
>     at com.cloud.agent.manager.**AgentManagerImpl.access$100(**
> AgentManagerImpl.java:144)
>     at com.cloud.agent.manager.**AgentManagerImpl$**
> HandleAgentConnectTask.run(**AgentManagerImpl.java:1160)
>     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:
> You have an error in your SQL syntax; check the manual that corresponds to
> your MySQL server version for the right syntax to use near ')  FOR UPDATE'
> at line 1
>     at sun.reflect.**GeneratedConstructorAccessor28**0.newInstance(Unknown
> Source)
>     at sun.reflect.**DelegatingConstructorAccessorI**mpl.newInstance(**
> DelegatingConstructorAccessorI**mpl.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 com.cloud.utils.db.**GenericDaoBase.**searchIncludingRemoved(**
> GenericDaoBase.java:408)
>     ... 38 more
>
> --
> Francois Gaudreault
> Architecte de Solution Cloud | Cloud Solutions Architect
> fgaudreault@cloudops.com
> 514-629-6775
> - - -
> CloudOps
> 420 rue Guy
> Montréal QC  H3J 1S6
> www.cloudops.com
> @CloudOps_
>
>


-- 
千葉 豪  Go Chiba
E-mail:go.chiba@gmail.com