Ticket #962 (closed Defect: fixed)
Migration error DM 4.7 => 4.8
Reported by: | JuergeN | Owned by: | jri |
---|---|---|---|
Priority: | Major | Milestone: | Release 4.8 |
Component: | DeepaMehta Standard Distribution | Version: | 4.7 |
Keywords: | Cc: | ||
Complexity: | 3 | Area: | |
Module: |
Description (last modified by JuergeN) (diff)
When I try to update an existing 4.7 database to 4.8 an error occurs:
<pre>
SEVERE: An error occurred while adding service de.deepamehta.config.ConfigService? to plugin "DeepaMehta 4 Files":
java.lang.RuntimeException?: Activation of plugin "DeepaMehta 4 Files" failed
at de.deepamehta.core.impl.PluginImpl?.activate(PluginImpl?.java:500)
at de.deepamehta.core.impl.PluginManager?.activatePlugin(PluginManager?.java:64)
at de.deepamehta.core.impl.PluginImpl?.checkRequirementsForActivation(PluginImpl?.java:464)
at de.deepamehta.core.impl.PluginImpl?.addService(PluginImpl?.java:422)
at de.deepamehta.core.impl.PluginImpl?.access$000(PluginImpl?.java:45)
at de.deepamehta.core.impl.PluginImpl?$1.addingService(PluginImpl?.java:366)
at org.osgi.util.tracker.ServiceTracker?$Tracked.customizerAdding(ServiceTracker?.java:932)
at org.osgi.util.tracker.ServiceTracker?$Tracked.customizerAdding(ServiceTracker?.java:864)
at org.osgi.util.tracker.AbstractTracked?.trackAdding(AbstractTracked?.java:256)
at org.osgi.util.tracker.AbstractTracked?.track(AbstractTracked?.java:229)
at org.osgi.util.tracker.ServiceTracker?$Tracked.serviceChanged(ServiceTracker?.java:894)
at org.apache.felix.framework.util.EventDispatcher?.invokeServiceListenerCallback(EventDispatcher?.java:943)
at org.apache.felix.framework.util.EventDispatcher?.fireEventImmediately(EventDispatcher?.java:794)
at org.apache.felix.framework.util.EventDispatcher?.fireServiceEvent(EventDispatcher?.java:544)
at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4445)
at org.apache.felix.framework.Felix.registerService(Felix.java:3431)
at org.apache.felix.framework.BundleContextImpl?.registerService(BundleContextImpl?.java:346)
at org.apache.felix.framework.BundleContextImpl?.registerService(BundleContextImpl?.java:320)
at de.deepamehta.core.impl.PluginImpl?.registerProvidedService(PluginImpl?.java:709)
at de.deepamehta.core.impl.PluginImpl?.activate(PluginImpl?.java:489)
at de.deepamehta.core.impl.PluginManager?.activatePlugin(PluginManager?.java:64)
at de.deepamehta.core.impl.PluginImpl?.checkRequirementsForActivation(PluginImpl?.java:464)
at de.deepamehta.core.impl.PluginImpl?.handleEvent(PluginImpl?.java:924)
at org.apache.felix.eventadmin.impl.handler.EventHandlerProxy?.sendEvent(EventHandlerProxy?.java:415)
at org.apache.felix.eventadmin.impl.tasks.SyncDeliverTasks?$1.run(SyncDeliverTasks?.java:145)
at java.util.concurrent.Executors$RunnableAdapter?.call(Executors.java:471)
at java.util.concurrent.FutureTask?$Sync.innerRun(FutureTask?.java:334)
at java.util.concurrent.FutureTask?.run(FutureTask?.java:166)
at java.util.concurrent.ThreadPoolExecutor?.runWorker(ThreadPoolExecutor?.java:1146)
at java.util.concurrent.ThreadPoolExecutor?$Worker.run(ThreadPoolExecutor?.java:615)
at java.lang.Thread.run(Thread.java:701)
Caused by: java.lang.RuntimeException?: Installing plugin "DeepaMehta 4 Files" in the database failed
at de.deepamehta.core.impl.PluginImpl?.installPluginInDB(PluginImpl?.java:535)
at de.deepamehta.core.impl.PluginImpl?.activate(PluginImpl?.java:487)
... 30 more
Caused by: java.lang.RuntimeException?: Running migration 3 of plugin "DeepaMehta 4 Files" failed
at de.deepamehta.core.impl.MigrationManager?.runMigration(MigrationManager?.java:147)
at de.deepamehta.core.impl.MigrationManager?.runPluginMigration(MigrationManager?.java:103)
at de.deepamehta.core.impl.MigrationManager?.runPluginMigrations(MigrationManager?.java:70)
at de.deepamehta.core.impl.PluginImpl?.installPluginInDB(PluginImpl?.java:525)
... 31 more
Caused by: java.lang.RuntimeException?: Creating config topic of type "dm4.files.disk_quota" for topic 2808 failed
at de.deepamehta.config.ConfigPlugin?.createConfigTopic(ConfigPlugin?.java:159)
at de.deepamehta.config.ConfigPlugin?.createConfigTopic(ConfigPlugin?.java:66)
at de.deepamehta.files.migrations.Migration3.run(Migration3.java:39)
at de.deepamehta.core.impl.MigrationManager?.runMigration(MigrationManager?.java:140)
... 34 more
Caused by: java.lang.RuntimeException?: Workspace "dm4.workspaces.administration" does not exist
at de.deepamehta.core.impl.AccessControlImpl?.getWorkspace(AccessControlImpl?.java:145)
at de.deepamehta.core.impl.AccessControlImpl?.getAdministrationWorkspaceId(AccessControlImpl?.java:159)
at de.deepamehta.config.ConfigPlugin?.assignConfigTopicToWorkspace(ConfigPlugin?.java:169)
at de.deepamehta.config.ConfigPlugin?.access$800(ConfigPlugin?.java:29)
at de.deepamehta.config.ConfigPlugin?$1.call(ConfigPlugin?.java:153)
at de.deepamehta.config.ConfigPlugin?$1.call(ConfigPlugin?.java:146)
at de.deepamehta.core.impl.AccessControlImpl?.runWithoutWorkspaceAssignment(AccessControlImpl?.java:228)
at de.deepamehta.config.ConfigPlugin?.createConfigTopic(ConfigPlugin?.java:146)
... 37 more
</pre>
Change History
comment:3 Changed 9 years ago by jri
Oh, that's interesting!
After investigation (thanks for the DB!) I found that you can't update from 4.6 to 4.8 directly. You must first update to 4.7, then to 4.8. This way it works.
I was not aware of that. Thank you for revealing!
Our demo server was still at DM 4.6.
There are particular DM versions which are required to be installed explicitly when updating. According to my (now updated) knowledge these versions include 4.5 and 4.7.
Yes, it would be attractive to update e.g. from 4.1 to 4.8 in one step. But meanwhile I doubt this is possible to achieve (see #872).
comment:4 Changed 9 years ago by JuergeN
- Status changed from new to closed
- Resolution set to fixed
OK - Thank you! That solved the problem. Also, for those who run DeepaMehta behind an apache reverse proxy: You have to change the apache config file, so that is does not decode slashes:
<pre>
ProxyPreserveHost? Off
ProxyStatus? On
AllowEncodedSlashes? NoDecode? # <= HERE
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<location />
Order allow,deny
Allow from all
ProxyPass? http://localhost:8088/ nocanon # <= HERE
ProxyPassReverse? http://localhost:8088/
</location>
</pre>
Jörg, this is an issue on our demo server:
I tried to update the demo. That's where the error occured. Just to make sure you can work on this issue: We have two databases of the following instances involved here:
/var/lib/deepamehta/dm4ref-db and /var/lib/deepamehta/deepamehta-db. The letter is copied from dm4ref-db every night to reset the demo database. dm4ref is not updated yet.
I have copied the dm4ref-db into your home directory, just to make sure we have a save copy to work on. You can copy it to your local host and then try to update it to 4.8. You should see the same error.