Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
14.4.6
-
None
-
None
-
MySQL 5.7
Tomcat 8.5.65
-
Unknown
-
Description
Context
- XWiki 16.10.11
- MySQL 5.7
- Tomcat 8.5.65
- in xwiki.cfg, migration is enabled xwiki.store.migration=1 (just have checked because of a forum thread)
Reproduction steps
- create new wiki with id "foo"
- delete foo wiki
- create new foo wiki, again
Result
In the log I got:
2026-05-22 12:00:53,431 [http-nio-8080-exec-125 - http://localhost:8080/xwiki/rest/notifications/count?media=json&userId=xwiki%3AXWiki.Admin&useUserPreferences=true¤tWiki=xwiki&async=true&_=1779444053268] ERROR .d.DefaultDocumentAccessBridge - Failed to get property com.xpn.xwiki.XWikiException: Error number 3202 in 3: Exception while reading document [foo:XWiki.MessageStreamConfig()] at com.xpn.xwiki.store.XWikiHibernateStore.loadXWikiDoc(XWikiHibernateStore.java:1219) at com.xpn.xwiki.store.XWikiCacheStore.lambda$loadXWikiDoc$2(XWikiCacheStore.java:435) at org.xwiki.cache.internal.CacheLoader$LoaderEntry.lambda$new$0(CacheLoader.java:71) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.xwiki.cache.internal.CacheLoader.runLoader(CacheLoader.java:179) at org.xwiki.cache.internal.CacheLoader.loadAndStoreInCache(CacheLoader.java:118) at com.xpn.xwiki.store.XWikiCacheStore.loadXWikiDoc(XWikiCacheStore.java:431) at com.xpn.xwiki.XWiki.getDocument(XWiki.java:2200) at com.xpn.xwiki.XWiki.getDocument(XWiki.java:2262) at com.xpn.xwiki.doc.DefaultDocumentAccessBridge.getProperty(DefaultDocumentAccessBridge.java:474) at org.xwiki.messagestream.internal.DefaultMessageStreamConfiguration.isActive(DefaultMessageStreamConfiguration.java:48) at org.xwiki.messagestream.internal.AbstractMessageDescriptor.isEnabled(AbstractMessageDescriptor.java:64) at org.xwiki.eventstream.internal.DefaultRecordableEventDescriptorManager.getDescriptorsFromWiki(DefaultRecordableEventDescriptorManager.java:129) at org.xwiki.eventstream.internal.DefaultRecordableEventDescriptorManager.getRecordableEventDescriptors(DefaultRecordableEventDescriptorManager.java:91) at org.xwiki.notifications.sources.internal.DefaultNotificationParametersFactory.enableAllEventTypes(DefaultNotificationParametersFactory.java:587) at org.xwiki.notifications.sources.internal.DefaultNotificationParametersFactory.useUserPreferences(DefaultNotificationParametersFactory.java:399) at org.xwiki.notifications.sources.internal.LegacyDefaultNotificationParametersFactory.useUserPreferences(LegacyDefaultNotificationParametersFactory.java:60) at org.xwiki.notifications.sources.internal.DefaultNotificationParametersFactory.createNotificationParameters(DefaultNotificationParametersFactory.java:374) at org.xwiki.notifications.rest.internal.DefaultNotificationsResource.getNotificationParameters(DefaultNotificationsResource.java:268) at org.xwiki.notifications.rest.internal.DefaultNotificationsResource.getCompositeEvents(DefaultNotificationsResource.java:145) at org.xwiki.notifications.rest.internal.DefaultNotificationsResource.getNotificationsCount(DefaultNotificationsResource.java:190) at jdk.internal.reflect.GeneratedMethodAccessor892.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:146) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:189) at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:176) at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:93) at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:478) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:400) at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81) at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:256) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) at org.glassfish.jersey.internal.Errors.process(Errors.java:292) at org.glassfish.jersey.internal.Errors.process(Errors.java:274) at org.glassfish.jersey.internal.Errors.process(Errors.java:244) at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265) at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:235) at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:684) at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:397) at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:349) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:379) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:312) at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205) at org.xwiki.rest.jersey.internal.JerseyServletContainer.service(JerseyServletContainer.java:131) at org.xwiki.rest.jersey.internal.XWikiRESTServlet.service(XWikiRESTServlet.java:92) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.xpn.xwiki.web.XWikiContextInitializationFilter.doFilter(XWikiContextInitializationFilter.java:79) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:132) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:209) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:117) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:201) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:764) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:698) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:364) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:616) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1629) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: com.xpn.xwiki.XWikiException: Error number 3301 in 3: Exception while initializing the database at com.xpn.xwiki.internal.store.hibernate.HibernateStore.beginTransaction(HibernateStore.java:869) at com.xpn.xwiki.store.XWikiHibernateBaseStore.beginTransaction(XWikiHibernateBaseStore.java:576) at com.xpn.xwiki.store.XWikiHibernateStore.loadXWikiDoc(XWikiHibernateStore.java:1068) ... 85 common frames omitted Caused by: com.xpn.xwiki.store.migration.MigrationRequiredException: Since database [foo] needs to be migrated, it couldn't be safely used! Please check your configuration to enable required migration for upgrading database from version [0] to version [160500000]. at com.xpn.xwiki.store.migration.AbstractDataMigrationManager.preventAccessToOutdatedDb(AbstractDataMigrationManager.java:643) at com.xpn.xwiki.store.migration.AbstractDataMigrationManager.checkDatabase(AbstractDataMigrationManager.java:587) at com.xpn.xwiki.internal.store.hibernate.HibernateStore.beginTransaction(HibernateStore.java:867) ... 87 common frames omitted
(see exceptions.log
for a bit more)
Also, a listener which is supposed to trigger after the wiki creation didn't work.
Workaround
Restarting the instance between step 2 and 3 solves the issue.