Heya guys,
I'm still running into this problem. Our jenkins automagically installs and
tests the latest packages based on master. With a clean database on clean
machines.
The error reported is similar to the error encountered:
Caused by: com.cloud.utils.exception.CloudRuntimeException: DB Exception on:
com.mysql.jdbc.JDBC4PreparedStatement@64726693: SELECT configuration.instance,
configuration.component, configuration.name, configuration.value,
configuration.default_value, configuration.description, configuration.category,
configuration.is_dynamic, configuration.scope, configuration.updated FROM
configuration WHERE configuration.name =
_binary'storage.cache.replacement.lru.interval' ORDER BY RAND() LIMIT 1
at
com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:421)
at
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
at
com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:356)
at
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
at
com.cloud.utils.db.GenericDaoBase.findOneIncludingRemovedBy(GenericDaoBase.java:869)
at
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
at
org.apache.cloudstack.framework.config.dao.ConfigurationDaoImpl.findByName(ConfigurationDaoImpl.java:201)
at
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
at
org.apache.cloudstack.framework.config.dao.ConfigurationDaoImpl.getValue(ConfigurationDaoImpl.java:166)
at
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
at
org.apache.cloudstack.storage.cache.manager.StorageCacheReplacementAlgorithmLRU.initialize(StorageCacheReplacementAlgorithmLRU.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:346)
at
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:299)
at
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:132)
... 79 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown
column 'configuration.default_value' in 'field list'
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
com.cloud.utils.db.GenericDaoBase.searchIncludingRemoved(GenericDaoBase.java:415)
... 116 more
The full log is here:
http://nvpmadm1.nvp.strocamp.net:8080/job/cloudstack-qa-env-test/505/console
This still appears to be an issue. How can we make sure that the database is
properly updated before this piece of code is hit?
Cheers,
Hugo
On Sep 24, 2013, at 4:13 PM, Daan Hoogland <[email protected]> wrote:
> works in the latest version
>
> On Tue, Sep 24, 2013 at 4:09 PM, Daan Hoogland <[email protected]>
> wrote:
>> I ran into this as well, As I did some change to schema-420-430.sql I
>> was my primary suspect. It does not have to do with my field though.
>> Still looking,
>> Daan
>>
>> On Tue, Sep 24, 2013 at 2:17 PM, Wei ZHOU <[email protected]> wrote:
>>> I ran a fresh installation on devcloud just now, it works.
>>> some records in configuration table are introduced by sql files, and
>>> ConfigurationServerImpl will check and insert the records if not exist.
>>>
>>>
>>> 2013/9/24 Hugo Trippaers <[email protected]>
>>>
>>>> Hey all,
>>>>
>>>> Noticed an interesting problem today. I was trying to start a management
>>>> server based on the latest sources in master, but failed. The reason was
>>>> that the configuration threw an exception that a certain column in the
>>>> database fit not exist. This column is added during the database upgrade
>>>> sequence, but apparently the configuration is already accessed before the
>>>> database upgrade takes place.
>>>>
>>>> Seems like a chicken and egg problem to me.
>>>>
>>>> Did anybody else run into this problem?
>>>>
>>>> Cheers,
>>>>
>>>> Hugo