Issues

Installation of 5.0 RC3 on windows fails.

Toggle
Installation of 5.0 RC3 on windows fails. Linux installation works without issues.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
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
0 (0 Votes)

RE: Installation of 5.0 RC3 on windows fails.
Answer
9/8/20 1:34 PM as a reply to Viktors Arzanajevs.
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
0 (0 Votes)

RE: Installation of 5.0 RC3 on windows fails.
Answer
9/8/20 1:42 PM as a reply to Torsten Stolpmann.
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.
0 (0 Votes)

RE: Installation of 5.0 RC3 on windows fails.
Answer
9/8/20 1:44 PM as a reply to Viktors Arzanajevs.
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.
0 (0 Votes)

RE: Installation of 5.0 RC3 on windows fails.
Answer
9/8/20 1:46 PM as a reply to Torsten Stolpmann.
Have there been any changes in the past in column 'LARGE_VALUE' type?
0 (0 Votes)

RE: Installation of 5.0 RC3 on windows fails.
Answer
9/8/20 2:00 PM as a reply to Viktors Arzanajevs.
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
0 (0 Votes)

RE: Installation of 5.0 RC3 on windows fails.
Answer
9/14/20 4:23 PM as a reply to Torsten Stolpmann.
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
0 (0 Votes)

RE: Installation of 5.0 RC3 on windows fails.
Answer
9/18/20 4:56 PM as a reply to Torsten Stolpmann.
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
0 (0 Votes)