Installation of 5.0 RC3 on windows fails.

Viktors Arzanajevs, modified 3 Years ago.

Installation of 5.0 RC3 on windows fails.

Youngling Posts: 11 Join Date: 7/31/19 Recent Posts
Installation of 5.0 RC3 on windows fails. Linux installation works without issues.

2020-09-08 12:23:59: ERROR, liquibase.changelog.ChangeSet Change Set liquibase/5.0.0/06_ChangeColumnTypes.xml::505-1-1191::klaffke failed.  Error: Invalid type specified for column 'LARGE_VALUE'. The type of a column may not be changed.   [Failed SQL: (20000) ALTER TABLE ROOT.K_LARGE_STRING ALTER COLUMN LARGE_VALUE SET DATA TYPE CLOB]
2020-09-08 12:23:59: INFO, liquibase.lockservice.StandardLockService Successfully released change log lock
2020-09-08 12:23:59: WARN, org.springframework.web.context.support.XmlWebApplicationContext Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in de.verit.klaros.core.spring.bootup.SpringConfiguration: Invocation of init method failed; nested exception is liquibase.exception.MigrationFailedException: Migration failed for change set liquibase/5.0.0/06_ChangeColumnTypes.xml::505-1-1191::klaffke:
     Reason: liquibase.exception.DatabaseException: Invalid type specified for column 'LARGE_VALUE'. The type of a column may not be changed.   [Failed SQL: (20000) ALTER TABLE ROOT.K_LARGE_STRING ALTER COLUMN LARGE_VALUE SET DATA TYPE CLOB]
2020-09-08 12:23:59: ERROR, org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/klaros-web] Exception sending context initialized event to listener instance of class [org.jboss.seam.servlet.SeamListener]
org.jboss.seam.InstantiationException: Could not instantiate Seam component: org.jboss.seam.ioc.spring.contextLoader
        at org.jboss.seam.Component.newInstance(Component.java:1901)
        at org.jboss.seam.contexts.Contexts.startup(Contexts.java:291)
        at org.jboss.seam.contexts.Contexts.startup(Contexts.java:284)
        at org.jboss.seam.contexts.Contexts.startup(Contexts.java:270)
        at org.jboss.seam.contexts.ServletLifecycle.endInitialization(ServletLifecycle.java:126)
        at org.jboss.seam.init.Initialization.init(Initialization.java:711)
        at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4678)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5139)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:978)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1848)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.base/java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
        at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:773)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:427)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
        at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
        at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
        at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.base/java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:738)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in de.verit.klaros.core.spring.bootup.SpringConfiguration: Invocation of init method failed; nested exception is liquibase.exception.MigrationFailedException: Migration failed for change set liquibase/5.0.0/06_ChangeColumnTypes.xml::505-1-1191::klaffke:
     Reason: liquibase.exception.DatabaseException: Invalid type specified for column 'LARGE_VALUE'. The type of a column may not be changed.   [Failed SQL: (20000) ALTER TABLE ROOT.K_LARGE_STRING ALTER COLUMN LARGE_VALUE SET DATA TYPE CLOB]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1794)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516)
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:311)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1109)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:869)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551)
        at org.jboss.seam.ioc.spring.ContextLoader.startupContextLoader(ContextLoader.java:56)
        at org.jboss.seam.ioc.spring.ContextLoader.create(ContextLoader.java:40)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.jboss.seam.util.Reflections.invoke(Reflections.java:19)
        at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:98)
        at org.jboss.seam.Component.callComponentMethod(Component.java:1983)
        at org.jboss.seam.Component.callCreateMethod(Component.java:1923)
        at org.jboss.seam.Component.newInstance(Component.java:1886)
        ... 47 common frames omitted
Caused by: liquibase.exception.MigrationFailedException: Migration failed for change set liquibase/5.0.0/06_ChangeColumnTypes.xml::505-1-1191::klaffke:
     Reason: liquibase.exception.DatabaseException: Invalid type specified for column 'LARGE_VALUE'. The type of a column may not be changed.   [Failed SQL: (20000) ALTER TABLE ROOT.K_LARGE_STRING ALTER COLUMN LARGE_VALUE SET DATA TYPE CLOB]
        at liquibase.changelog.ChangeSet.execute(ChangeSet.java:659)
        at liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:53)
        at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:97)
        at liquibase.Liquibase.update(Liquibase.java:201)
        at liquibase.Liquibase.update(Liquibase.java:178)
        at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:366)
        at de.verit.klaros.core.spring.bootup.KlarosSpringLiquibase.performUpdate(KlarosSpringLiquibase.java:44)
        at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:314)
        at de.verit.klaros.core.spring.bootup.KlarosSpringLiquibase.afterPropertiesSet(KlarosSpringLiquibase.java:74)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1853)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1790)
        ... 69 common frames omitted
Caused by: liquibase.exception.DatabaseException: Invalid type specified for column 'LARGE_VALUE'. The type of a column may not be changed.   [Failed SQL: (20000) ALTER TABLE ROOT.K_LARGE_STRING ALTER COLUMN LARGE_VALUE SET DATA TYPE CLOB]
        at liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:430)
        at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:87)
        at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:159)
        at liquibase.database.AbstractJdbcDatabase.execute(AbstractJdbcDatabase.java:1276)
        at liquibase.database.AbstractJdbcDatabase.executeStatements(AbstractJdbcDatabase.java:1258)
        at liquibase.changelog.ChangeSet.execute(ChangeSet.java:622)
        ... 79 common frames omitted
Caused by: java.sql.SQLSyntaxErrorException: Invalid type specified for column 'LARGE_VALUE'. The type of a column may not be changed.
        at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:103)
        at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:230)
        at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:431)
        at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:360)
        at org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2405)
        at org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:88)
        at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:697)
        at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:637)
        at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:95)
        at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at net.bull.javamelody.JdbcWrapper.doExecute(JdbcWrapper.java:422)
        at net.bull.javamelody.JdbcWrapper$StatementInvocationHandler.invoke(JdbcWrapper.java:142)
        at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:300)
        at com.sun.proxy.$Proxy146.execute(Unknown Source)
        at liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:426)
        ... 84 common frames omitted
Caused by: org.apache.derby.shared.common.error.StandardException: Invalid type specified for column 'LARGE_VALUE'. The type of a column may not be changed.
        at org.apache.derby.shared.common.error.StandardException.newException(StandardException.java:300)
        at org.apache.derby.shared.common.error.StandardException.newException(StandardException.java:295)
        at org.apache.derby.impl.sql.compile.ModifyColumnNode.checkUserType(ModifyColumnNode.java:131)
        at org.apache.derby.impl.sql.compile.TableElementList.validate(TableElementList.java:200)
        at org.apache.derby.impl.sql.compile.AlterTableNode.bindStatement(AlterTableNode.java:383)
        at org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:401)
        at org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:99)
        at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConnectionContext.java:1114)
        at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:689)
        ... 96 common frames omitted
thumbnail
Torsten Stolpmann, modified 3 Years ago.

RE: Installation of 5.0 RC3 on windows fails.

Jedi Council Member Posts: 755 Join Date: 2/12/09 Recent Posts
Hello Victors,

this looks weird, this rule actually should never be triggered for you.

I reran the Windows installer both on an existing database and on a fresh system and was not able to reproduce this issue.

  • Do you have a previous installation of Klaros on that machine?
  • If yes, what version was it?
  • Can you please send the full set of log files to support@verit.de?
  • Can you please send us the content of the folder .klaros in your user home folder? This contains the database you are using.
Regards,

Torsten
Viktors Arzanajevs, modified 3 Years ago.

RE: Installation of 5.0 RC3 on windows fails.

Youngling Posts: 11 Join Date: 7/31/19 Recent Posts
Thanks, issue resolved by removing the folder .klaros from user home folder and reinstalling Klaros. There was a db from a very old Klaros version.
thumbnail
Torsten Stolpmann, modified 3 Years ago.

RE: Installation of 5.0 RC3 on windows fails.

Jedi Council Member Posts: 755 Join Date: 2/12/09 Recent Posts
Thanks for the update, I am happy to hear this worked for you.

Too bad that is is gone though, I would have loved to trace down the reason for this.
Viktors Arzanajevs, modified 3 Years ago.

RE: Installation of 5.0 RC3 on windows fails.

Youngling Posts: 11 Join Date: 7/31/19 Recent Posts
Have there been any changes in the past in column 'LARGE_VALUE' type?
thumbnail
Torsten Stolpmann, modified 3 Years ago.

RE: Installation of 5.0 RC3 on windows fails.

Jedi Council Member Posts: 755 Join Date: 2/12/09 Recent Posts
Yes, I think we needed to change this column to CLOB in 5.0.

The point of your error you initially received is, that Derby is unable to change the existing column type for you which is a limitation of the database implementation itself.

Derby is not intended for production use, so if you need to keep your previous Derby data you should migrate the database to another DBMS before updating.

How to do a migration is covered in this old but still valid post:
https://www.klaros-testmanagement.com/forum/-/message_boards/view_message/81903#_19_message_81903

Hope this helps
Torsten
thumbnail
Torsten Stolpmann, modified 3 Years ago.

RE: Installation of 5.0 RC3 on windows fails.

Jedi Council Member Posts: 755 Join Date: 2/12/09 Recent Posts
We have just released Version 5.0.0 which resolves this situation.

although the underlying Liquibase rule would never have been applied anyway (it was only intended for developer setups), the statement was evaluated anyway and would fail on a derby instance.

This is now fixed.

Thank you for letting us know!

Torsten
thumbnail
Fabian Klaffke, modified 3 Years ago.

RE: Installation of 5.0 RC3 on windows fails. (Answer)

Padawan Posts: 92 Join Date: 9/1/12 Recent Posts
Hi Viktors,

upon further investigation we found out that an additional migration step is needed (exclusive to derby databases) to fix your issue. We have just released Klaros-Testmanagement version 5.0.1 which includes this fix:

[KLAROS-4465] - Migration from Klaros 4.x is not being completed if the preconfigured derby database is used

You can download it here.

Regards,
Fabian