Ticket #962 (closed Defect: fixed)

Opened 9 years ago

Last modified 9 years ago

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:1 Changed 9 years ago by JuergeN

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.

comment:2 Changed 9 years ago by JuergeN

  • Description modified (diff)

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>

Version 0, edited 9 years ago by JuergeN (next)
Note: See TracTickets for help on using tickets.