[Glass] Manage hold package and relative data

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[Glass] Manage hold package and relative data

dario trussardi
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
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Manage hold package and relative data

James Foster-9
Dario,

One approach to clean up a repository is to remove all indexes (IndexManager removeAllIndexes), then remove entries from your user’s SymbolList (typically UserGlobals). After that a full MFC and reclaimAll should remove all the objects. Alternatively, you could just start with a fresh extent. Is there anything in the repository that you want to save?

James

On Jun 3, 2014, at 7:38 AM, Dario Trussardi <[hidden email]> 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
> [hidden email]
> http://lists.gemtalksystems.com/mailman/listinfo/glass

_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: [Glass] Manage hold package and relative data

Dale Henrichs-3
In reply to this post by dario trussardi
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 <[hidden email]> 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
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass


_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass