[Glass] Manage hold package and relative data

Dale Henrichs dale.henrichs at gemtalksystems.com
Tue Jun 3 10:20:56 PDT 2014


Dario,

What you suggest should work okay, except that you need to insert an MFC
after the classes have been deleted and to avoid class migration you have
to wait until the dead objects have been reclaimed and for the dead objects
to be reclaimed you have to make absolutely certain that there are no
references (direct or indeirect) to the instances of the classes that you
are dropping which means at a minimum you need to shut down all of the
maintenance/seaside vms/gemtools before running the mfc and even then you
may not have caught all references to the objects ... so at the end of the
day, you might still end up migrating the old class versions ...

If you are simply trying to avoid the length of time that the migrations
might impose, you might consider using GsDeployer class>>bulkMigrate:.  The
bulk migrate makes a "migrates all of the classes that have changed in a
single pass" which means that it is probably faster than an MFC:

  GsDeployer bulkMigrate: [
   "load code"
  ].

If the new version moves instance variables around and there are actual
errors during the loading of the code, then a bulk migrate preceded by the
explicit removal of the problem classes is probably sufficient. It still
makes sense to drop all of your data structures...

Dale




On Tue, Jun 3, 2014 at 7:38 AM, Dario Trussardi <dario.trussardi at tiscali.it>
wrote:

> Hi,
>
>         i have one  Gemstone 3.1.0.4  with load some package with relative
> classes and instances data.
>
>         Now i need to port into it a new version of this package with some
> change.
>
>         The old classes and their data do not interest me, i can erase it
> before load the new version.
>
>         I think to erase it for don't have class version migrations
> problems ecc. ecc.
>
>         My questions is : what i need to do to erase the old classes and
> the relative data?
>
>         It's  sufficient:
>
>                 1 )  delete the reference to the old data
>
>                 2 ) unload the old package into GLASS Monticello browser
>
>         and after:
>
>                 3 ) load the new packages version
>
>                 4) create the new instances data
>
>
>         Thanks for any considerations,
>
>                 Dario
> _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> http://lists.gemtalksystems.com/mailman/listinfo/glass
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20140603/96f7477b/attachment.html>


More information about the Glass mailing list