Comments (8)
Note that not having rollback support can be noticeable.
from p2.
Those are no longer in the composite, e.g.,
Recall the discussion on cross projects about the release train composite having multiple versions of bundles and the reason for that being support for rollback?
https://www.eclipse.org/lists/cross-project-issues-dev/msg19228.html
Also, there was recently a discussion to reduce the number of repos in the I build composite to 2 so that has an impact on rollback support as well. @sravanlakkimsetti FYI
So this is not a problem that can be fixed by p2. (Installing with Oomph with it's shared bundle pool would likely not have this problem because the artifacts would remain in the pool until you manually garbage collected them.)
from p2.
With 4 repos in I-build repo also will not be able to help here.
@vogella Can you try adding https://download.eclipse.org/eclipse/updates/4.25-I-builds/I20220620-1050 to your repo list and try rollback. this might help
from p2.
Yes, of course at some point the builds are too old. And of course few "real end users" are updating to nightly builds or to SimRel milestone builds so very few are likely impacted but fewer builds in a composite...
from p2.
So the issue is only that the temp repo is gone? No worries in this case.... I can just download an older version. I agree that having 4 version does not solve this problem.
from p2.
Yes, if the bundles needed for the revert are no longer in the installation's artifact pool (which is generally garbage collected eagerly on startup) and no longer in any available repository, then you will get an error like this.
from p2.
So this is not a problem that can be fixed by p2.
Not that I am advocating spending the time/effort on this. But it could be fixed on p2 if p2 kept track where it installed from, so when doing the rollback it would know where to find them.
However I would argue (fruitlessly, because again I am not advocating for a change because I don't think it is worth it) that if p2 has a rollback available to users it should not garbage collect those items.
But anyway, I am nowhere near enough knowledgeable about p2 to know if what I said is even correct.
On the 2022-09 M2 I have this in my endgame plan:
- In 2022-09 stop making p2 repos composites of all milestones - see https://wiki.eclipse.org/Planning_Council/2022-06-01
- Test rollback from M2 to M1, and document what it takes to work (best guess is just manually adding in p2 repos)
from p2.
Indeed, in general such a problem cannot be fixed other than by not ever garbage collecting. Update sites can and do disappear. E.g., EMF's nightly build composite has at most 5 sites and one site will be deleted every time there is a new nightly build. (Note that the installer uses a shared bundle pool and it does no automatic garbage collection, so I believe that already solves this problem.)
If at least p2 didn't immediately garbage collect on startup, one could roll back right after installing an update after noticing that it works poorly...
In terms of endgame plans, I think it's much more important that a user updating from 2022-06 to 2022-09 should be able to rollback than someone updating from M1 to M2 should be able to rollback, given that the former involves millions of users while the latter is perhaps a few hundred people. I expect the former works fine while the latter is likely problematic.
from p2.
Related Issues (20)
- Unlikely argument type HOT 2
- Bundles placed to "linked" locations not found since 4.31 HOT 26
- Getting error "Problems downloading artifact: osgi.bundle,com.sun.jna,5.13.0.v20230812-1000. The signature is invalid for current content", when exporting product for simple target for Eclipse 4.30 HOT 2
- UpdateSitePublisher -addJREIU argument doesn't add current JVM HOT 1
- Jenkins builds fail with Java heap space
- P2 is not supporting the effective directive properly HOT 2
- unsigned jar files flagged as untrusted even if the content is non-code HOT 13
- Updating a touchpoint action and calling it calls the previous version of the action HOT 7
- Broken Java 11 Tycho Build due to new org.eclipse.equinox.common 3.19 getting picked up HOT 2
- Enhance p2 director with "addJREIU" option HOT 13
- Do not show error popup on failed automatic update checks HOT 1
- Migrate wiki pages to repo HOT 7
- Overhaul documentation on p2 director application HOT 3
- "Verify provisioning operation is compatible with currently running JRE" is not working HOT 7
- API error on org.eclipse.equinox.p2.core HOT 2
- redirect configuration / p2 runtime data to non-default location
- A "org.eclipse.equinox.p2.transport.javahttpclient" transport using directly Java HTTP client or OSGi services HOT 9
- p2 director does not handle GOAWAY gracefully HOT 11
- Incorrect usage of File.renameTo() in CacheManager HOT 10
- IRepository.PROP_COMPRESSED is confusing
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from p2.