Ticket #872 (closed Defect: wontfix)

Opened 5 years ago

Last modified 4 years ago

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:1 Changed 5 years ago by jri

  • Status changed from new to accepted

comment:2 Changed 4 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".

comment:3 Changed 4 years ago by jri

  • Cc JuergeN added

comment:4 Changed 4 years ago by jri

  • Status changed from accepted to closed
  • Resolution set to wontfix
Note: See TracTickets for help on using tickets.