Ticket #872 (closed Defect: wontfix)
Redesign the migration mechanism
Reported by: | jri | Owned by: | jri |
---|---|---|---|
Priority: | Major | Milestone: | Release 4.8 |
Component: | DeepaMehta Standard Distribution | Version: | 4.7 |
Keywords: | Cc: | dgf, Malte, JuergeN | |
Complexity: | 5 | Area: | |
Module: | deepamehta-core |
Description
The claim was and is that it is explicitly not required to install all intermediate versions when updating. This is not fulfilled by the current migration mechanism. It fails if both applies, skipping several versions when updating, and complex dependencies exist between plugins. See #858.
The migration mechanism must be redesigned: instead of running all migrations of a single bundle consecutively it must iterate over all bundles and run only the migrations for a single DM release version, and then iterating over the releases (until the current release is reached). In short, migrations must not run per-bundle but per-release.
Thanks to mre for revealing that!
Change History
comment:2 Changed 9 years ago by jri
The migration mechanism must be redesigned: instead of running all migrations of a single bundle consecutively it must iterate over all bundles and run only the migrations for a single DM release version [...]
This would require a "master control program" that coordinates the incremental updating of the installed bundles. To my understanding the master control program can't be a bundle itself. So, at the moment I don't know how to implement that in OSGi.
The alternative approach is to leave it as is, and document in the release notes which DM releases are mandatory to install, e.g. "to update from pre-4.5 to 4.7 you must install 4.5 first, and then 4.7".