cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hugo Trippaers <h...@trippaers.nl>
Subject Re: Configuration table changes and database update
Date Thu, 03 Oct 2013 11:53:14 GMT
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 <trippie@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 <tsp@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.hoogland@gmail.com>
wrote:
>>>> 
>>>> works in the latest version
>>>> 
>>>>> On Tue, Sep 24, 2013 at 4:09 PM, Daan Hoogland <daan.hoogland@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 <ustcweizhou@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 <hugo@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
>> 


Mime
View raw message