Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Follow-up changes for fixing RepositoryResolver install lists for tolerated dependencies #19963

Conversation

Azquelt
Copy link
Member

@Azquelt Azquelt commented Jan 28, 2022

A few follow up fixes:

  • Fix a unit test to properly list the features which are installed (this shouldn't affect the code path under test)
  • Remove some redundant checks in the resolver (one of which was using the wrong feature name anyway 馃う)
  • Update the copyright header which was missed on a couple of files

Follow up for #19860

Correct the starting scenario by listing all the features which are
meant to be installed.
The sets featuresMissing and requirementsFoundForOtherProducts are
disjoint. If we're checking that featuresMissing contains a feature
name, we don't need to also check that requirementsFoundForOtherProducts
doesn't contain it.

Previously we just had a check to ensure it wasn't in
requirementsFoundForOtherProducts. This wasn't correct either as it's
possible for the feature to be in neither set if it conflicted with
another feature.
The copyright headers should have been updated in OpenLiberty#19871
@LibbyBot
Copy link

Code analysis and actions

DO NOT DELETE THIS COMMENT.
  • 1 product code files were changed.
  • Please describe in a separate comment how you tested your changes.

Comment on lines 83 to 97
/**
* Map from symbolic name to feature for all features returned as resolved by the kernel resolver
* <p>
* Keyset is mutually exclusive with {@link #featuresMissing} and {@link #requirementsFoundForOtherProducts}
*/
Map<String, ProvisioningFeatureDefinition> resolvedFeatures;

/**
* List of requested features that were reported missing by the kernel resolver and weren't found in the repository applicable to another product.
* <p>
* May include sample names if they were missing
* <p>
* Mutually exclusive with {@link #resolvedFeatures} and {@link #requirementsFoundForOtherProducts}
*/
List<String> featuresMissing;
Copy link
Member Author

@Azquelt Azquelt Jan 28, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's fairly straightforward to validate that these sets (and requirementsFoundForOtherProducts) are mutually exclusive as they only have items added to them within the resolveFeatures() method.

The kernel resolver returns a list of resolved features and a list of missing features, and then the missing features are split between the featuresMissing and requirementsFoundForOtherProducts sets.

@Azquelt
Copy link
Member Author

Azquelt commented Jan 28, 2022

#build

@LibbyBot
Copy link

Your personal build request is at https://wasrtc.hursley.ibm.com:9443/jazz/resource/itemOid/com.ibm.team.build.BuildResult/_2PjnsIAsEeykJKbDLxYjRw

Target locations of links might be accessible only to IBM employees.

@LibbyBot
Copy link

The build Azquelt-19963-20220128-0434
https://wasrtc.hursley.ibm.com:9443/jazz/resource/itemOid/com.ibm.team.build.BuildResult/_2PjnsIAsEeykJKbDLxYjRw
completed and has errors or failures.

For help analyzing your personal build, go to https://cognitive.hursley.ibm.com/buildAnalysis.html?uuid=_2PjnsIAsEeykJKbDLxYjRw

@Azquelt
Copy link
Member Author

Azquelt commented Jan 29, 2022

The one failure in the build is a known problem.

@Azquelt Azquelt merged commit e9eb1c4 into OpenLiberty:integration Jan 29, 2022
@Azquelt Azquelt deleted the resolver-install-lists-tolerated-followup branch January 29, 2022 15:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants