Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[p2-dev] Feature patch and GC

It seems to me that the garbage collector is too aggressive in certain situations. Here is the scenario.
fA100 + pA100 installed
feature patch fp100 patches fA100 with pA101
Install fp100 now fA and platform are running with pA101

Both fA and fp are shown in p2 UI
Both fA100, fp100, pA100, and pA101 are on file system.
pA101 is loaded into OSGi

Now
- remove preferences for repositories used above.
- run garbage collector
- Both fA and fp are shown in p2 UI
- Both fA, fp, pA100, and pA101 are on file system. (pA100 is removed from file system)
- pA101 is loaded into OSGi

The garbage collector has removed pA100.
Everything needed to run the system is available.

If a user now attempts to uninstall the patch or revert we will get an error

    Cannot complete the install because one or more required items could not be found.
    Software currently installed: com.test.G11.feature.HelloWorld.feature.group 1.0.0
    Missing requirement: com.test.G11.feature.HelloWorld.feature.group 1.0.0 requires 'com.test.G11.plugin.HelloWorld [1.0.0]' but it could not be found
So the message is correct but I think from the users standpoint it is strange. The system clear shows in the p2 UI that fA100 is available and installed but it is also telling him it is not fully installed.

To me it is a bug to show the feature/IU installed but not have the artifacts available. Comments?

It likely would be easier to fix the aggressive GC than to somehow help the user locate the missing repository.

Back to the top