[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Location of Persistent UserAdmin Data


This is a very interesting problem.  Its not clear that there is a particular "right answer".  For example, you are going from 1.0 to 2.0 (the implication being that it is not backward compatible) then it *may* be the case that 2.0 cannot read 1.0 metadata.  In that case doing an update vs. uninstall/reinstall would not get the metadata persistance.  Of course, it it might not hurt either but ...    Getting a new services release (e.g., 1.0.1) would seem to be a good candidate for using update.  Interestingly, what happens when you need to go back to an older version?  If the data written by 1.1 is in a different format than 1.0 there could be issues.  

I have forgotten how the spec works wrt Bundle.getDataFile().  I vaguely recall that this area is specific to a version (or generation) of a bundle id.  So when you do update, you get a new area for getDataFile.  Is this accurate?

Jeff




Thomas Watson <tjwatson@xxxxxxxxxx>
Sent by: equinox-dev-bounces@xxxxxxxxxxx

06/05/2006 10:02 AM

Please respond to
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>

To
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
cc
Subject
Re: [equinox-dev] Location of Persistent UserAdmin Data






Pascal,


Can you clarify why Eclispe update can not make these types of decisions?  Take the following example:


1)  A new feature is installed into Eclipse

2)  As a result update decides to uninstall bundle X version 1.0.0 and install bundle X version 2.0.0.


In this case Eclipse update decided it was ok to uninstall bundle X 1.0.0 and install a new bundle X version 2.0.0.  Why could it not have just updated bundle X version 1.0.0 to bundle X version 2.0.0 (instead of uninstall/install process)?  It had enough information to decide to uninstall bundle X version 1.0.0 so why not just update it to version 2.0.0?  I do not see the issue here.


Tom.




Pascal Rapicault <Pascal_Rapicault@xxxxxxxxxx>
Sent by: equinox-dev-bounces@xxxxxxxxxxx

06/04/2006 04:09 AM

Please respond to
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>

To
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
cc
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>, equinox-dev-bounces@xxxxxxxxxxx
Subject
Re: [equinox-dev] Location of Persistent UserAdmin Data








Eclipse update is not in a position of deciding with full satisfaction of the user whether things should be "updated", "installed", "uninstalled then installed". For example, if one had junit 3.8 and wanted to install junit 4.0... what should happen? For that it needs to

If OSGi was not alwasys tightening up its lose ends with the magic "management agent" :-)


PaScaL


Thomas Watson <tjwatson@xxxxxxxxxx>
Sent by: equinox-dev-bounces@xxxxxxxxxxx

06/01/2006 02:28 PM

Please respond to
Equinox development mailing list


To
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
cc
Subject
Re: [equinox-dev] Location of Persistent UserAdmin Data










See bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=73013 against Eclipse->Platform->Update.


If eclipse update would use the proper Bundle.update method instead of uninstalling/installing each time a new version of a bundle bacame available then these types of issues would be solved.


Tom


Roy Paterson/Austin/IBM@IBMUS
Sent by: equinox-dev-bounces@xxxxxxxxxxx

06/01/2006 01:04 PM

Please respond to
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>


To
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
cc
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>, equinox-dev-bounces@xxxxxxxxxxx
Subject
Re: [equinox-dev] Location of Persistent UserAdmin Data











BJ's answer is correct from an OSGi spec standpoint, but there are Eclipse
considerations which are relavant to Benjamin's questions.  See
http://bugs.eclipse.org/bugs/show_bug.cgi?id=124176#c10.

In summary bundle ids do not change between framework launches, but if you
update a bundle using Eclipse update it actually uninstalls the old version
and installs the new version, resulting in a new bundle id.  This was an
issue with the OSGi Prefs implementation.  In the end we just documented it
as a known limitation.

Regards,
Roy

-----------------------------------------
Roy Paterson
IBM Pervasive Computing
Austin, TX
Phone: (512) 838-8898



                                                                       
         BJ                                                            
         Hargrave/Austin/I                                            
         BM@IBMUS                                                   To
         Sent by:                  Equinox development mailing list    
         equinox-dev-bounc         <equinox-dev@xxxxxxxxxxx>          
         es@xxxxxxxxxxx                                             cc
                                                                       
                                                               Subject
         06/01/2006 12:20          Re: [equinox-dev] Location of      
         PM                        Persistent UserAdmin Data          
                                                                       
                                                                       
         Please respond to                                            
              Equinox                                                  
            development                                                
           mailing list                                                
         <equinox-dev@ecli                                            
             pse.org>                                                  
                                                                       
                                                                       




Bundle ids cannot change between framework launches. The bundle id is the
primary key of the bundle and may not change or ever be reused within a
framework instance.

BJ Hargrave
Senior Technical Staff Member, IBM
OSGi Fellow and CTO of the OSGi Alliance
hargrave@xxxxxxxxxx
Office: +1 407 849 9117 Mobile: +1 386 848 3788



"Benjamin Schmaus" <benjamin.schmaus@xxxxxxxxx>
Sent by: equinox-dev-bounces@xxxxxxxxxxx
2006-06-01 12:46 PM
Please respond to
Equinox development mailing list <equinox-dev@xxxxxxxxxxx>


To
equinox-dev@xxxxxxxxxxx
cc

Subject
[equinox-dev] Location of Persistent UserAdmin Data






Equinox Developers,

I've been developing a user/group admin bundle that runs on top of the
Equinox OSGi UserAdmin service  implementation, and I've noticed that data
is persisted to a file that is named like so:

"org.eclipse.core.runtime.preferences.OSGiPreferences." +
bundle.getBundleId()

So the actual file name might end up being something like:
"org.eclipse.core.runtime.preferences.OSGiPreferences.27.prefs"

Since a bundle's id can change between framework starts and stops, users
and roles created by a given bundle during one execution of the framework
won't necessarily be available to that bundle in another execution of the
framework ( i.e. since bundle id can vary across runs).

Should a bundle have to re-create user and role assignments on every start
of the framework if persistent data can't be located?  That doesn't seem
right to me.

It could be that user admin data can be persisted to a static (known
before runtime) location via the Equinox UserAdmin impl, but it's not
clear to me how this should be done.

- Ben Schmaus_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev


_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev


_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev

_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev