Hi David,

There is no special setting for mysql upgrade.

You'd better back up the database and then upgrade mysql. It would be good
to test the upgrade on a test server before changes on production.

-Wei

On Mon, 27 Mar 2023 at 09:58, David Larsen <david.lar...@adcom.no> wrote:

> Hi Wei
>
> Thanks for the link. I will keep an eye on it.
>
> Strange problem... I'm still stuck with mysql 5.7.41 and CS 4.17.2 since
> the mysql 8 upgrade was not successful. I had to revert...
> I didn't have so much time on friday to investigate further, so I will
> look more into it today.
>
> By the way... Any obvious traps to fell into regarding Cloudstack and
> upgrade to Mysql 8?
> Any changes in db.properties files or any connectors?
>
> Thanks
>
> -David
>
>
>
> -----Opprinnelig melding-----
> Fra: Wei ZHOU <ustcweiz...@gmail.com>
> Sendt: fredag 24. mars 2023 22:20
> Til: users@cloudstack.apache.org
> Emne: Re: SQL error and "can't upgrade database" when I try to upgrade CS
> 4.17.1.0 to 4.18.0.0
>
> Hi,
> Please keep an eye on
>
> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fcloudstack%2Fissues%2F7358&data=05%7C01%7CDavid.Larsen%40adcom.no%7C9f883b0268be4169ec5708db2cad9c68%7C1dd023eed2894f208926463c9b991b5f%7C0%7C0%7C638152896393257998%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=BkCodMPt25eSHiLwb2kWVvecXD6OeIy1zNybkso8A2c%3D&reserved=0
>
> -Wei
>
>
> On Friday, 24 March 2023, David Larsen <david.lar...@adcom.no> wrote:
>
> > Hi
> >
> > I’m running CS 4.17.1.0 on ubuntu 18.04 and MySQL 5.7.41, and tried to
> > upgrade to 4.18.0.0
> >
> > Please see log bellow for details regarding sql error.
> >
> >
> > 2023-03-24 15:07:42,669 DEBUG [c.c.u.d.ScriptRunner] (main:null)
> > (logid:) CALL `cloud`.`IDEMPOTENT_ADD_COLUMN`('cloud.vm_template',
> > 'user_data_id', 'bigint unsigned DEFAULT NULL COMMENT "id of the us
> >        er data"')
> > 2023-03-24 15:07:43,075 DEBUG [c.c.u.d.ScriptRunner] (main:null)
> > (logid:) CALL
> > `cloud`.`IDEMPOTENT_ADD_FOREIGN_KEY`('cloud.vm_template',
> > 'user_data', 'id')
> > 2023-03-24 15:07:43,213 ERROR [c.c.u.d.ScriptRunner] (main:null)
> > (logid:) Error executing: CALL
> > `cloud`.`IDEMPOTENT_ADD_FOREIGN_KEY`('cloud.vm_template',
> > 'user_data', 'id')
> > 2023-03-24 15:07:43,214 ERROR [c.c.u.d.ScriptRunner] (main:null)
> > (logid:)
> > java.sql.SQLIntegrityConstraintViolationException: Can't write;
> > duplicate key in table '#sql-500_158'
> > 2023-03-24 15:07:43,216 ERROR [c.c.u.DatabaseUpgradeChecker]
> > (main:null)
> > (logid:) Unable to execute upgrade script
> > java.sql.SQLIntegrityConstraintViolationException: Can't write;
> > duplicate key in table '#sql-500_158'
> >         at com.cloud.utils.db.ScriptRunner.runScript(
> > ScriptRunner.java:185)
> >         at
> com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:87)
> >         at com.cloud.upgrade.DatabaseUpgradeChecker.runScript(
> > DatabaseUpgradeChecker.java:226)
> >         at com.cloud.upgrade.DatabaseUpgradeChecker.upgrade(
> > DatabaseUpgradeChecker.java:310)
> >         at com.cloud.upgrade.DatabaseUpgradeChecker.check(
> > DatabaseUpgradeChecker.java:401)
> >         at org.apache.cloudstack.spring.lifecycle.
> > CloudStackExtendedLifeCycle.checkIntegrity(CloudStackExtendedLifeCycle.
> > java:64)
> >         at org.apache.cloudstack.spring.lifecycle.
> > CloudStackExtendedLifeCycle.start(CloudStackExtendedLifeCycle.java:54)
> >         at org.springframework.context.support.DefaultLifecycleProcessor.
> > doStart(DefaultLifecycleProcessor.java:178)
> >         at org.springframework.context.support.DefaultLifecycleProcessor.
> > access$200(DefaultLifecycleProcessor.java:54)
> >         at
> > org.springframework.context.support.DefaultLifecycleProcessor$
> > LifecycleGroup.start(DefaultLifecycleProcessor.java:356)
> >         at java.base/java.lang.Iterable.forEach(Iterable.java:75)
> >         at org.springframework.context.support.DefaultLifecycleProcessor.
> > startBeans(DefaultLifecycleProcessor.java:155)
> >         at org.springframework.context.support.DefaultLifecycleProcessor.
> > onRefresh(DefaultLifecycleProcessor.java:123)
> >         at
> org.springframework.context.support.AbstractApplicationContext.
> > finishRefresh(AbstractApplicationContext.java:935)
> >         at
> org.springframework.context.support.AbstractApplicationContext.
> > refresh(AbstractApplicationContext.java:586)
> >         at org.apache.cloudstack.spring.module.model.impl.
> > DefaultModuleDefinitionSet.loadContext(DefaultModuleDefinitionSet.
> > java:144)
> >         at org.apache.cloudstack.spring.module.model.impl.
> > DefaultModuleDefinitionSet$2.with(DefaultModuleDefinitionSet.java:121)
> >         at org.apache.cloudstack.spring.module.model.impl.
> >
> DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:244)
> >         at org.apache.cloudstack.spring.module.model.impl.
> >
> DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:249)
> >         at org.apache.cloudstack.spring.module.model.impl.
> >
> DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:232)
> >         at org.apache.cloudstack.spring.module.model.impl.
> > DefaultModuleDefinitionSet.loadContexts(DefaultModuleDefinitionSet.
> > java:116)
> >         at org.apache.cloudstack.spring.module.model.impl.
> > DefaultModuleDefinitionSet.load(DefaultModuleDefinitionSet.java:78)
> >         at org.apache.cloudstack.spring.module.factory.
> > ModuleBasedContextFactory.loadModules(ModuleBasedContextFactory.java:37)
> >         at org.apache.cloudstack.spring.module.factory.
> > CloudStackSpringContext.init(CloudStackSpringContext.java:70)
> >         at org.apache.cloudstack.spring.module.factory.
> > CloudStackSpringContext.<init>(CloudStackSpringContext.java:57)
> >         at org.apache.cloudstack.spring.module.factory.
> > CloudStackSpringContext.<init>(CloudStackSpringContext.java:61)
> >         at org.apache.cloudstack.spring.module.web.
> > CloudStackContextLoaderListener.contextInitialized(
> > CloudStackContextLoaderListener.java:52)
> >         at org.eclipse.jetty.server.handler.ContextHandler.
> > callContextInitialized(ContextHandler.java:1073)
> >         at org.eclipse.jetty.servlet.ServletContextHandler.
> > callContextInitialized(ServletContextHandler.java:572)
> >         at org.eclipse.jetty.server.handler.ContextHandler.
> > contextInitialized(ContextHandler.java:1002)
> >         at org.eclipse.jetty.servlet.ServletHandler.initialize(
> > ServletHandler.java:765)
> >         at
> > org.eclipse.jetty.servlet.ServletContextHandler.startContext(
> > ServletContextHandler.java:379)
> >         at org.eclipse.jetty.webapp.WebAppContext.startWebapp(
> > WebAppContext.java:1449)
> >         at org.eclipse.jetty.webapp.WebAppContext.startContext(
> > WebAppContext.java:1414)
> >         at org.eclipse.jetty.server.handler.ContextHandler.
> > doStart(ContextHandler.java:916)
> >         at org.eclipse.jetty.servlet.ServletContextHandler.doStart(
> > ServletContextHandler.java:288)
> >         at org.eclipse.jetty.webapp.WebAppContext.doStart(
> > WebAppContext.java:524)
> >         at org.eclipse.jetty.util.component.AbstractLifeCycle.
> > start(AbstractLifeCycle.java:73)
> >         at org.eclipse.jetty.util.component.ContainerLifeCycle.
> > start(ContainerLifeCycle.java:169)
> >         at org.eclipse.jetty.util.component.ContainerLifeCycle.
> > doStart(ContainerLifeCycle.java:110)
> >         at org.eclipse.jetty.server.handler.AbstractHandler.
> > doStart(AbstractHandler.java:97)
> >         at org.eclipse.jetty.server.handler.gzip.GzipHandler.
> > doStart(GzipHandler.java:426)
> >         at org.eclipse.jetty.util.component.AbstractLifeCycle.
> > start(AbstractLifeCycle.java:73)
> >         at org.eclipse.jetty.util.component.ContainerLifeCycle.
> > start(ContainerLifeCycle.java:169)
> >         at org.eclipse.jetty.util.component.ContainerLifeCycle.
> > doStart(ContainerLifeCycle.java:117)
> >         at org.eclipse.jetty.server.handler.AbstractHandler.
> > doStart(AbstractHandler.java:97)
> >         at org.eclipse.jetty.util.component.AbstractLifeCycle.
> > start(AbstractLifeCycle.java:73)
> >         at org.eclipse.jetty.util.component.ContainerLifeCycle.
> > start(ContainerLifeCycle.java:169)
> >         at org.eclipse.jetty.server.Server.start(Server.java:423)
> >         at org.eclipse.jetty.util.component.ContainerLifeCycle.
> > doStart(ContainerLifeCycle.java:110)
> >         at org.eclipse.jetty.server.handler.AbstractHandler.
> > doStart(AbstractHandler.java:97)
> >         at org.eclipse.jetty.server.Server.doStart(Server.java:387)
> >         at org.eclipse.jetty.util.component.AbstractLifeCycle.
> > start(AbstractLifeCycle.java:73)
> >         at
> org.apache.cloudstack.ServerDaemon.start(ServerDaemon.java:192)
> >         at
> > org.apache.cloudstack.ServerDaemon.main(ServerDaemon.java:107)
> > 2023-03-24 15:07:43,224 ERROR [c.c.u.DatabaseUpgradeChecker]
> > (main:null)
> > (logid:) Unable to upgrade the database
> > com.cloud.utils.exception.CloudRuntimeException: Unable to execute
> > upgrade script
> >         at com.cloud.upgrade.DatabaseUpgradeChecker.runScript(
> > DatabaseUpgradeChecker.java:232)
> >         at com.cloud.upgrade.DatabaseUpgradeChecker.upgrade(
> > DatabaseUpgradeChecker.java:310)
> >         at com.cloud.upgrade.DatabaseUpgradeChecker.check(
> > DatabaseUpgradeChecker.java:401)
> >         at org.apache.cloudstack.spring.lifecycle.
> > CloudStackExtendedLifeCycle.checkIntegrity(CloudStackExtendedLifeCycle.
> > java:64)
> >         at org.apache.cloudstack.spring.lifecycle.
> > CloudStackExtendedLifeCycle.start(CloudStackExtendedLifeCycle.java:54)
> >         at org.springframework.context.support.DefaultLifecycleProcessor.
> > doStart(DefaultLifecycleProcessor.java:178)
> >         at org.springframework.context.support.DefaultLifecycleProcessor.
> > access$200(DefaultLifecycleProcessor.java:54)
> >         at
> > org.springframework.context.support.DefaultLifecycleProcessor$
> > LifecycleGroup.start(DefaultLifecycleProcessor.java:356)
> >         at java.base/java.lang.Iterable.forEach(Iterable.java:75)
> >         at org.springframework.context.support.DefaultLifecycleProcessor.
> > startBeans(DefaultLifecycleProcessor.java:155)
> >         at org.springframework.context.support.DefaultLifecycleProcessor.
> > onRefresh(DefaultLifecycleProcessor.java:123)
> >         at
> org.springframework.context.support.AbstractApplicationContext.
> > finishRefresh(AbstractApplicationContext.java:935)
> >         at
> org.springframework.context.support.AbstractApplicationContext.
> > refresh(AbstractApplicationContext.java:586)
> >         at org.apache.cloudstack.spring.module.model.impl.
> > DefaultModuleDefinitionSet.loadContext(DefaultModuleDefinitionSet.
> > java:144)
> >         at org.apache.cloudstack.spring.module.model.impl.
> > DefaultModuleDefinitionSet$2.with(DefaultModuleDefinitionSet.java:121)
> >         at org.apache.cloudstack.spring.module.model.impl.
> >
> DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:244)
> >         at org.apache.cloudstack.spring.module.model.impl.
> >
> DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:249)
> >         at org.apache.cloudstack.spring.module.model.impl.
> >
> DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:232)
> >         at org.apache.cloudstack.spring.module.model.impl.
> > DefaultModuleDefinitionSet.loadContexts(DefaultModuleDefinitionSet.
> > java:116)
> >         at org.apache.cloudstack.spring.module.model.impl.
> > DefaultModuleDefinitionSet.load(DefaultModuleDefinitionSet.java:78)
> >         at org.apache.cloudstack.spring.module.factory.
> > ModuleBasedContextFactory.loadModules(ModuleBasedContextFactory.java:37)
> >         at org.apache.cloudstack.spring.module.factory.
> > CloudStackSpringContext.init(CloudStackSpringContext.java:70)
> >         at org.apache.cloudstack.spring.module.factory.
> > CloudStackSpringContext.<init>(CloudStackSpringContext.java:57)
> >         at org.apache.cloudstack.spring.module.factory.
> > CloudStackSpringContext.<init>(CloudStackSpringContext.java:61)
> >         at org.apache.cloudstack.spring.module.web.
> > CloudStackContextLoaderListener.contextInitialized(
> > CloudStackContextLoaderListener.java:52)
> >         at org.eclipse.jetty.server.handler.ContextHandler.
> > callContextInitialized(ContextHandler.java:1073)
> >         at org.eclipse.jetty.servlet.ServletContextHandler.
> > callContextInitialized(ServletContextHandler.java:572)
> >         at org.eclipse.jetty.server.handler.ContextHandler.
> > contextInitialized(ContextHandler.java:1002)
> >         at org.eclipse.jetty.servlet.ServletHandler.initialize(
> > ServletHandler.java:765)
> >         at
> > org.eclipse.jetty.servlet.ServletContextHandler.startContext(
> > ServletContextHandler.java:379)
> >         at org.eclipse.jetty.webapp.WebAppContext.startWebapp(
> > WebAppContext.java:1449)
> >         at org.eclipse.jetty.webapp.WebAppContext.startContext(
> > WebAppContext.java:1414)
> >         at org.eclipse.jetty.server.handler.ContextHandler.
> > doStart(ContextHandler.java:916)
> >         at org.eclipse.jetty.servlet.ServletContextHandler.doStart(
> > ServletContextHandler.java:288)
> >         at org.eclipse.jetty.webapp.WebAppContext.doStart(
> > WebAppContext.java:524)
> >         at org.eclipse.jetty.util.component.AbstractLifeCycle.
> > start(AbstractLifeCycle.java:73)
> >         at org.eclipse.jetty.util.component.ContainerLifeCycle.
> > start(ContainerLifeCycle.java:169)
> >         at org.eclipse.jetty.util.component.ContainerLifeCycle.
> > doStart(ContainerLifeCycle.java:110)
> >         at org.eclipse.jetty.server.handler.AbstractHandler.
> > doStart(AbstractHandler.java:97)
> >         at org.eclipse.jetty.server.handler.gzip.GzipHandler.
> > doStart(GzipHandler.java:426)
> >         at org.eclipse.jetty.util.component.AbstractLifeCycle.
> > start(AbstractLifeCycle.java:73)
> >         at org.eclipse.jetty.util.component.ContainerLifeCycle.
> > start(ContainerLifeCycle.java:169)
> >         at org.eclipse.jetty.util.component.ContainerLifeCycle.
> > doStart(ContainerLifeCycle.java:117)
> >         at org.eclipse.jetty.server.handler.AbstractHandler.
> > doStart(AbstractHandler.java:97)
> >         at org.eclipse.jetty.util.component.AbstractLifeCycle.
> > start(AbstractLifeCycle.java:73)
> >         at org.eclipse.jetty.util.component.ContainerLifeCycle.
> > start(ContainerLifeCycle.java:169)
> >         at org.eclipse.jetty.server.Server.start(Server.java:423)
> >         at org.eclipse.jetty.util.component.ContainerLifeCycle.
> > doStart(ContainerLifeCycle.java:110)
> >         at org.eclipse.jetty.server.handler.AbstractHandler.
> > doStart(AbstractHandler.java:97)
> >         at org.eclipse.jetty.server.Server.doStart(Server.java:387)
> >         at org.eclipse.jetty.util.component.AbstractLifeCycle.
> > start(AbstractLifeCycle.java:73)
> >         at
> org.apache.cloudstack.ServerDaemon.start(ServerDaemon.java:192)
> >         at
> > org.apache.cloudstack.ServerDaemon.main(ServerDaemon.java:107)
> > Caused by: java.sql.SQLIntegrityConstraintViolationException: Can't
> > write; duplicate key in table '#sql-500_158'
> >         at com.cloud.utils.db.ScriptRunner.runScript(
> > ScriptRunner.java:185)
> >         at
> com.cloud.utils.db.ScriptRunner.runScript(ScriptRunner.java:87)
> >         at com.cloud.upgrade.DatabaseUpgradeChecker.runScript(
> > DatabaseUpgradeChecker.java:226)
> >         ... 52 more
> > 2023-03-24 15:07:43,253 DEBUG [c.c.u.d.T.Transaction] (main:null)
> > (logid:) Rolling back the transaction:
> >
> >
> > Thanks 😊
> >
> > -David
> >
> >
> >
> > -
> >
> >
>

Reply via email to