Bug 525201 - "No repository found containing ..." in Remediation install
Summary: "No repository found containing ..." in Remediation install
Status: RESOLVED FIXED
Alias: None
Product: MPC
Classification: Technology
Component: Install (show other bugs)
Version: 1.6.1   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 1.6.2   Edit
Assignee: Carsten Reckord CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-26 08:15 EDT by Carsten Reckord CLA
Modified: 2017-09-26 09:49 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Carsten Reckord CLA 2017-09-26 08:15:06 EDT
When installing "JUnit 5 Support for Oxygen" [1] or "Java 9 Support for Oxygen" [2] into an Eclipse SDK product via Marketplace Client, it triggers a remediation, since the install needs to update the org.eclipse.sdk.ide product IU in addition to the feature IUs listed on the Marketplace entry (we only support feature IUs here). The remediation goes well, adding the product update to the resolved install plan, but the installation then fails, listing all required IUs as unavailable:

> An error occurred while collecting items to be installed
> session context was:(profile=SDKProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
>    No repository found containing: osgi.bundle,org.eclipse.cvs,1.4.401.v20170922-1005
>    No repository found containing: osgi.bundle,org.eclipse.debug.ui,3.12.50.v20170920-1329
>    No repository found containing: osgi.bundle,org.eclipse.debug.ui.source,3.12.50.v20170920-1329
>    No repository found containing: osgi.bundle,org.eclipse.equinox.launcher.win32.win32.x86_64,1.1.500.v20170921-1704
>    No repository found containing: osgi.bundle,org.eclipse.help.base,4.2.101.v20170922-1005
>    No repository found containing: osgi.bundle,org.eclipse.help.base.source,4.2.101.v20170922-1005
>    No repository found containing: osgi.bundle,org.eclipse.jdt,3.13.1.v20170922-1005
>    [...]
>    No repository found containing: binary,org.eclipse.platform_root,4.7.1.v20170922-1005
>    No repository found containing: org.eclipse.update.feature,org.eclipse.rcp,4.7.1.v20170922-1005
>    No repository found containing: org.eclipse.update.feature,org.eclipse.jdt,3.13.1.v20170922-1125
>    [...]
Comment 1 Carsten Reckord CLA 2017-09-26 08:27:03 EDT
This is caused by the remediation operation not using the artifact repository from the marketplace entry.

Install, update, and change (install/uninstall individual components) operations manage their repository list explicitly and use either just the repository listed on the entry, or failing to resolve fully with just that, include all known repositories.

Remediation on the other hand doesn't specify an explicit repository list, which makes it fall back to "all known". At this point, the metadata repository for the entry has already been loaded (to resolve IU name and install status for the feature selection page), but the artifact repository hasn't. This makes the P2 planner compute a provisioning plan successfully (using the loaded metadata repo), but the installation to fail because the artifact repository for the plan items is missing.
Comment 2 Carsten Reckord CLA 2017-09-26 09:01:28 EDT
This has been fixed in commit 6390e67b31ca641a9e72a0a0c32d890baa8f32f7. MPC now explicitly configures the entry's repository location together with the list of all known existing repositories for all operations including remediation. The fix is available for testing in repository http://download.eclipse.org/mpc/drops/1.6.2/v20170926-1241

Dani, I've tested the fix with the Eclipse SDK 4.7.1 RC4 release candidate and the MPC from above site, and the JUnit 5 and Java 9 entries now install successfully.
Comment 3 Carsten Reckord CLA 2017-09-26 09:02:45 EDT
(In reply to comment #2)
> The fix is available for testing in repository
> http://download.eclipse.org/mpc/drops/1.6.2/v20170926-1241

You might encounter issues with the transparent repository mirroring at eclipse.org until this build has reached all mirrors. In the meantime, you can use https://hudson.eclipse.org/mpc/job/epp-mpc-maintenance-release/22/artifact/org.eclipse.epp.mpc.site/target/repository/ as the repository URL.
Comment 4 Carsten Reckord CLA 2017-09-26 09:28:46 EDT
Just to be clear about the constellation under which this problem occurs:
1) The install/update operation triggers a remediation
2) The repository needed for the operation wasn't previously in the list of known repositories

This is a rare situation because
1) New installs seldom need remediation. This only happens if they require newer versions of installed dependencies.
2) Updates, which can more often need remediation, usually already have their repository in the known repositories list
Comment 5 Dani Megert CLA 2017-09-26 09:49:50 EDT
(In reply to Carsten Reckord from comment #3)
> (In reply to comment #2)
> > The fix is available for testing in repository
> > http://download.eclipse.org/mpc/drops/1.6.2/v20170926-1241
> 
> You might encounter issues with the transparent repository mirroring at
> eclipse.org until this build has reached all mirrors. 

Not so transparent ;-). Did indeed not work.


I verified that the fix works. Thanks!