It's fixed with commit 3f583684c6ddcf7efb66adada63957f8ca06cfdc

Not really the nicest of fixes, but at least the QA can continue. For a 
structural fix we would need to run the database upgrade check before 
initialising any of the beans. That can't be done yet as the upgrade checker 
depends on a dao bean at the moment.

Cheers,

Hugo

On Oct 3, 2013, at 12:47 PM, Hugo Trippaers <trip...@gmail.com> wrote:

> Just pushed a stop-gap fix to master. I'm running my qa tests now to check if 
> it is ok now.
> 
> Cheers,
> 
> Hugo
> 
> Sent from my iPhone
> 
>> On 3 okt. 2013, at 12:18, Prasanna Santhanam <t...@apache.org> wrote:
>> 
>> This was my problem too for running tests o master :(
>> 
>> I posted CLOUDSTACK-4791 today for the issue.
>> 
>> 
>>> On Thu, Oct 03, 2013 at 11:08:16AM +0200, Hugo Trippaers wrote:
>>> 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 <daan.hoogl...@gmail.com> wrote:
>>>> 
>>>> works in the latest version
>>>> 
>>>>> On Tue, Sep 24, 2013 at 4:09 PM, Daan Hoogland <daan.hoogl...@gmail.com> 
>>>>> 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 <ustcweiz...@gmail.com> 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 <h...@trippaers.nl>
>>>>>> 
>>>>>>> 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
>> 
>> -- 
>> Prasanna.,
>> 
>> ------------------------
>> Powered by BigRock.com
>> 

Reply via email to