-
Bug
-
Resolution: Workaround exists
-
Neutral
-
None
-
6.2
-
None
-
None
If I try to upgrade H2 from 1.4 to 2.1 the following exception occurs. In order to migrate the data follow the steps below:
2022-02-09 20:03:15,780 INFO info.magnolia.init.MagnoliaServletContextListener : Property sources loaded: [DefaultMagnoliaConfigurationProperties with sources: [SystemPropertySource][EnvironmentPropertySource][ServletContextPropertySource from WEB-INF/config/default/magnolia.properties][ModulePropertiesSource from modules [core, dam, freemarker-support, license, periscope-api, speech-recognizer, categorization-support, ce-product-descriptor, imaging-support, publishing-core, resource-loader, rest-integration, config, i18n, publishing-receiver, publishing-sender, publishing-transactional-core, rest-services, cache, content-types, periscope-core, publishing-transactional-receiver, publishing-transactional-sender, rendering, ui-framework-core, virtual-uri, dam-jcr, ehcache3, imaging, link-unfurl, periscope-result-ranker, tasks-app, templating, ui-framework-jcr, block-templating, dependencies-core, resources, ui-framework, diff, magnolia-resources-templating, scheduler, site, ui-mediaeditor, dam-templating, magnolia-usage-metrics, mte-imaging, spa-rendering, task-management, admincentral, ui-admincentral, about-app, backup, cache-app, content-importer, dam-imaging, definitions-app, groovy, jcr-browser, log-tools, messages-app, pages, pages-app, password-manager, publishing-app, resources-app, security-app, tools, ui-contentapp, dam-app, dam-app-core, diff-pages-app-integration, diff-pages-integration, enterprise, jcr-tools, ldap, mail, publishing-transactional-app, rest-client, rest-content-delivery, site-app, soft-locking, workflow, workflow-compatibility, cache-browser-app, cookie-manager, dam-app-jcr, dependencies, ee-pro-product-descriptor, form, mte, multisite, personalization-core, rest-client-app, rest-client-ui, translation, visitor-manager, workflow-jbpm, advanced-cache, advanced-cache-personalization, campaign-publisher, categorization, javascript-models, marketing-tags, mtk, mtk2, personalization-components, personalization-integration, personalization-preview-app, privacy-ui, rssaggregator, translation-pages-integration, advanced-cache-app, advanced-cache-dpc, categories-app, categories-app-compatibility, categorization-rss-integration, content-editor, content-tags-core, lang-cs, lang-de, lang-es, lang-fi, lang-fr, lang-hr, lang-id, lang-it, lang-ja, lang-nl, lang-no, lang-pl, lang-pt, lang-pt_BR, lang-ru, lang-sk, lang-sq, lang-sv, lang-tr, lang-zh_CN, lang-zh_TW, personalization-components-compatibility, personalization-pages, personalization-personas-app, content-dependencies-ui, content-tags-ui-compatibility, personalization-segmentation-app, sitemesh, stories-app, workflow-pages, content-tags-ui, personalization-traits, lang-ko, webapp]][InitPathsPropertySource]] --------------------------------------------- MAGNOLIA LICENSE --------------------------------------------- Version number : 6.2.16 Core version : 6.2.16 Build : 28. January 2022 (rev. 974feb5561f5c9fff8bcd91d98f960beedf7e571 of UNKNOWN) Edition : Magnolia DX Core Provider : Magnolia International Ltd. (info@magnolia-cms.com) 2022-02-09 20:03:15,808 INFO info.magnolia.cms.beans.config.ConfigLoader : Initializing content repositories 2022-02-09 20:03:15,808 INFO info.magnolia.repository.DefaultRepositoryManager : Loading JCR 2022-02-09 20:03:15,820 INFO info.magnolia.repository.DefaultRepositoryManager : Loading JCR magnolia 2022-02-09 20:03:15,902 INFO info.magnolia.jackrabbit.ProviderImpl : Loading repository at /Users/rich.gange/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/dx-core-webapp/repositories/magnolia (config file: /Users/rich.gange/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/dx-core-webapp/WEB-INF/config/repo-conf/jackrabbit-bundle-h2-search.xml) - cluster id: "<unset>" 2022-02-09 20:03:16,114 WARN org.apache.jackrabbit.core.util.RepositoryLock : Existing lock file /Users/rich.gange/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/dx-core-webapp/repositories/magnolia/.lock detected. Repository was not shut down properly. 2022-02-09 20:03:20,496 ERROR org.apache.jackrabbit.core.RepositoryImpl : failed to start Repository: Cannot instantiate persistence manager org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager javax.jcr.RepositoryException: Cannot instantiate persistence manager org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager at org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1380) ~[jackrabbit-core-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.RepositoryImpl.createVersionManager(RepositoryImpl.java:513) ~[jackrabbit-core-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:314) [jackrabbit-core-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:616) [jackrabbit-core-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.jndi.BindableRepository.createRepository(BindableRepository.java:141) [jackrabbit-core-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.jndi.BindableRepository.init(BindableRepository.java:117) [jackrabbit-core-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.jndi.BindableRepository.<init>(BindableRepository.java:106) [jackrabbit-core-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.jndi.BindableRepositoryFactory.getObjectInstance(BindableRepositoryFactory.java:52) [jackrabbit-core-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.jndi.RegistryHelper.registerRepository(RegistryHelper.java:74) [jackrabbit-core-2.20.4.jar:2.20.4] at info.magnolia.jackrabbit.ProviderImpl.init(ProviderImpl.java:246) [magnolia-core-6.2.16.jar:?] at info.magnolia.repository.DefaultRepositoryManager.loadRepository(DefaultRepositoryManager.java:259) [magnolia-core-6.2.16.jar:?] at info.magnolia.repository.DefaultRepositoryManager.loadRepositories(DefaultRepositoryManager.java:222) [magnolia-core-6.2.16.jar:?] at info.magnolia.repository.DefaultRepositoryManager.init(DefaultRepositoryManager.java:121) [magnolia-core-6.2.16.jar:?] at info.magnolia.cms.beans.config.ConfigLoader.load(ConfigLoader.java:136) [magnolia-core-6.2.16.jar:?] at info.magnolia.init.MagnoliaServletContextListener$1.doExec(MagnoliaServletContextListener.java:259) [magnolia-core-6.2.16.jar:?] at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:407) [magnolia-core-6.2.16.jar:?] at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:404) [magnolia-core-6.2.16.jar:?] at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:378) [magnolia-core-6.2.16.jar:?] at info.magnolia.init.MagnoliaServletContextListener.startServer(MagnoliaServletContextListener.java:256) [magnolia-core-6.2.16.jar:?] at info.magnolia.init.MagnoliaServletContextListener.contextInitialized(MagnoliaServletContextListener.java:182) [magnolia-core-6.2.16.jar:?] at info.magnolia.init.MagnoliaServletContextListener.contextInitialized(MagnoliaServletContextListener.java:128) [magnolia-core-6.2.16.jar:?] at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768) [catalina.jar:9.0.50] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230) [catalina.jar:9.0.50] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.50] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398) [catalina.jar:9.0.50] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1388) [catalina.jar:9.0.50] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_261] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.50] at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) [?:1.8.0_261] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:921) [catalina.jar:9.0.50] at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) [catalina.jar:9.0.50] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.50] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398) [catalina.jar:9.0.50] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1388) [catalina.jar:9.0.50] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_261] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.50] at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) [?:1.8.0_261] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:921) [catalina.jar:9.0.50] at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) [catalina.jar:9.0.50] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.50] at org.apache.catalina.core.StandardService.startInternal(StandardService.java:437) [catalina.jar:9.0.50] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.50] at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:934) [catalina.jar:9.0.50] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.50] at org.apache.catalina.startup.Catalina.start(Catalina.java:772) [catalina.jar:9.0.50] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_261] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_261] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_261] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_261] at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) [bootstrap.jar:9.0.50] at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) [bootstrap.jar:9.0.50] Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (General error: "The write format 1 is smaller than the supported format 2 [2.1.210/5]" [50000-210]) at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549) ~[commons-dbcp-1.4.jar:1.4] at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) ~[commons-dbcp-1.4.jar:1.4] at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) ~[commons-dbcp-1.4.jar:1.4] at org.apache.jackrabbit.core.util.db.ConnectionHelper.getExtraNameCharacters(ConnectionHelper.java:185) ~[jackrabbit-data-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.util.db.ConnectionHelper.prepareDbIdentifier(ConnectionHelper.java:140) ~[jackrabbit-data-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.init(BundleDbPersistenceManager.java:542) ~[jackrabbit-core-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager.init(H2PersistenceManager.java:80) ~[jackrabbit-core-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1376) ~[jackrabbit-core-2.20.4.jar:2.20.4] ... 50 more Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "The write format 1 is smaller than the supported format 2 [2.1.210/5]" [50000-210] at org.h2.message.DbException.getJdbcSQLException(DbException.java:573) ~[h2-2.1.210.jar:2.1.210] at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) ~[h2-2.1.210.jar:2.1.210] at org.h2.message.DbException.get(DbException.java:216) ~[h2-2.1.210.jar:2.1.210] at org.h2.mvstore.db.Store.convertMVStoreException(Store.java:166) ~[h2-2.1.210.jar:2.1.210] at org.h2.mvstore.db.Store.<init>(Store.java:140) ~[h2-2.1.210.jar:2.1.210] at org.h2.engine.Database.<init>(Database.java:324) ~[h2-2.1.210.jar:2.1.210] at org.h2.engine.Engine.openSession(Engine.java:92) ~[h2-2.1.210.jar:2.1.210] at org.h2.engine.Engine.openSession(Engine.java:222) ~[h2-2.1.210.jar:2.1.210] at org.h2.engine.Engine.createSession(Engine.java:201) ~[h2-2.1.210.jar:2.1.210] at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) ~[h2-2.1.210.jar:2.1.210] at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:122) ~[h2-2.1.210.jar:2.1.210] at org.h2.Driver.connect(Driver.java:59) ~[h2-2.1.210.jar:2.1.210] at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) ~[commons-dbcp-1.4.jar:1.4] at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) ~[commons-dbcp-1.4.jar:1.4] at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556) ~[commons-dbcp-1.4.jar:1.4] at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545) ~[commons-dbcp-1.4.jar:1.4] at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) ~[commons-dbcp-1.4.jar:1.4] at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) ~[commons-dbcp-1.4.jar:1.4] at org.apache.jackrabbit.core.util.db.ConnectionHelper.getExtraNameCharacters(ConnectionHelper.java:185) ~[jackrabbit-data-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.util.db.ConnectionHelper.prepareDbIdentifier(ConnectionHelper.java:140) ~[jackrabbit-data-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.init(BundleDbPersistenceManager.java:542) ~[jackrabbit-core-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager.init(H2PersistenceManager.java:80) ~[jackrabbit-core-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1376) ~[jackrabbit-core-2.20.4.jar:2.20.4] ... 50 more Caused by: org.h2.mvstore.MVStoreException: The write format 1 is smaller than the supported format 2 [2.1.210/5] at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:1004) ~[h2-2.1.210.jar:2.1.210] at org.h2.mvstore.MVStore.getUnsupportedWriteFormatException(MVStore.java:1059) ~[h2-2.1.210.jar:2.1.210] at org.h2.mvstore.MVStore.readStoreHeader(MVStore.java:878) ~[h2-2.1.210.jar:2.1.210] at org.h2.mvstore.MVStore.<init>(MVStore.java:455) ~[h2-2.1.210.jar:2.1.210] at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4056) ~[h2-2.1.210.jar:2.1.210] at org.h2.mvstore.db.Store.<init>(Store.java:129) ~[h2-2.1.210.jar:2.1.210] at org.h2.engine.Database.<init>(Database.java:324) ~[h2-2.1.210.jar:2.1.210] at org.h2.engine.Engine.openSession(Engine.java:92) ~[h2-2.1.210.jar:2.1.210] at org.h2.engine.Engine.openSession(Engine.java:222) ~[h2-2.1.210.jar:2.1.210] at org.h2.engine.Engine.createSession(Engine.java:201) ~[h2-2.1.210.jar:2.1.210] at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) ~[h2-2.1.210.jar:2.1.210] at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:122) ~[h2-2.1.210.jar:2.1.210] at org.h2.Driver.connect(Driver.java:59) ~[h2-2.1.210.jar:2.1.210] at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) ~[commons-dbcp-1.4.jar:1.4] at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) ~[commons-dbcp-1.4.jar:1.4] at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556) ~[commons-dbcp-1.4.jar:1.4] at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545) ~[commons-dbcp-1.4.jar:1.4] at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) ~[commons-dbcp-1.4.jar:1.4] at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) ~[commons-dbcp-1.4.jar:1.4] at org.apache.jackrabbit.core.util.db.ConnectionHelper.getExtraNameCharacters(ConnectionHelper.java:185) ~[jackrabbit-data-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.util.db.ConnectionHelper.prepareDbIdentifier(ConnectionHelper.java:140) ~[jackrabbit-data-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.init(BundleDbPersistenceManager.java:542) ~[jackrabbit-core-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager.init(H2PersistenceManager.java:80) ~[jackrabbit-core-2.20.4.jar:2.20.4] at org.apache.jackrabbit.core.RepositoryImpl.createPersistenceManager(RepositoryImpl.java:1376) ~[jackrabbit-core-2.20.4.jar:2.20.4] ... 50 more
Workaround
Migrate the data from H2 1.4 to derby then copy from derby to H2 2.1
- Install Backup Extended
- Create a backup into Derby format.
- Shut down.
- Replace the H2 1.4 repo with the new Derby repo created by the backup.
- Delete the index folder from each workspace of the Derby repo.
- Remove the H2 1.4 jar and replace it with H2 2.1 jar.
- Start the instance.
- Create a backup into the H2 format.
- Shut down.
- Replace the Derby repo with the new H2 2.1 repo.
- Delete the index folder from each workspace of the H2 2.1 repo.
- Start the instance.
Acceptance criteria
- is related to
-
MAGNOLIA-8638 Getting h2 error while upgrading 6.2.10 to latest version
- Closed
- links to