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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/7.0] Update usage of AllowEmptyTelemetry based on changes to the task in the SDK #82805

Merged
merged 1 commit into from
Mar 11, 2023

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Mar 1, 2023

Backport of #82804 to release/7.0

/cc @trylek @baronfel

Customer Impact

Customers that build with 7.0.300 SDKs that trigger the Crossgen targets will have a compilation error because the shape of the SDK-delivered Task has changed. This is the minimal change to respond to the new shape.

Testing

This change was manually verified by @MichaelSimons in #82795 (comment).

Risk

IMPORTANT: Is this backport for a servicing release? If so and this change touches code that ships in a NuGet package, please make certain that you have added any necessary package authoring and gotten it explicitly reviewed.

…he SDK

In dotnet/sdk#30269 the API of the AllowEmptyTelemetry task changed to allow for more granular hashing of the collected telemetry properties. This change was against a servicing branch and flowed into SDK main. Sometime after that change, these targets moved from SDK to Runtime, and so the change was lost.

This re-applies the change to Runtime main to address breaks seen in source-build.
@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label.

@baronfel
Copy link
Member

baronfel commented Mar 1, 2023

@trylek one thing that concerns me - it appears that runtime only has a 7.0 branch, but this change to the SDK Task is only valid from the 7.0.300 feature band. Since runtime is delivered to 7.0.100, 200, 300 and eventually 400 this change would error out in the earlier bands when the runtime updates in those channels.

@ghost
Copy link

ghost commented Mar 8, 2023

Tagging subscribers to this area: @hoyosjs
See info in area-owners.md if you want to be subscribed.

Issue Details

Backport of #82804 to release/7.0

/cc @trylek @baronfel

Customer Impact

Customers that build with 7.0.300 SDKs that trigger the Crossgen targets will have a compilation error because the shape of the SDK-delivered Task has changed. This is the minimal change to respond to the new shape.

Testing

This change was manually verified by @MichaelSimons in #82795 (comment).

Risk

IMPORTANT: Is this backport for a servicing release? If so and this change touches code that ships in a NuGet package, please make certain that you have added any necessary package authoring and gotten it explicitly reviewed.

Author: github-actions[bot]
Assignees: -
Labels:

area-Infrastructure-coreclr

Milestone: -

@carlossanlop
Copy link
Member

@trylek I added the area-infrastructure-coreclr label since the bot failed to add one. Is that the most appropriate? or is it area-crossgen2-coreclr?

When/if this is ready, if you think this fix should be considered ask-mode, please add the servicing-consider label, and send an email to Tactics requesting approval.

Copy link
Member

@trylek trylek left a comment

Choose a reason for hiding this comment

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

LGTM, thank you!

@carlossanlop
Copy link
Member

carlossanlop commented Mar 10, 2023

@baronfel today's code-complete for servicing changes. In other words, last day to merge it so it goes into the April Release.

I'm not sure if this is ready to merge or not. Can you help me answer the following questions?

  • Is this critical enough that it should make it into April Release or can it wait one more month?
  • I know this is an infra change, but I don't know how impactful it is. Should this go through Tactics approval?
  • Have we had a chance to also verify it in the 7.0 branch manually? (The manual verification from the description was done in the 8.0 branch).
  • Do we have validation in the runtime tests that can confirm this change works?
  • Are any of the CI failures related to this change?
  • Do we need sign-off from someone else, maybe @MichaelSimons?

cc @mmitche @trylek

@carlossanlop
Copy link
Member

@baronfel / @trylek / @mmitche this was approved by Tactics via email but we haven't yet merged the main PR, plus I haven't received an answer on the above questions. I'll add the servicing-approved and no-merge labels while we get clarity.

@carlossanlop carlossanlop added the Servicing-approved Approved for servicing release label Mar 10, 2023
@carlossanlop carlossanlop added this to the 7.0.5 milestone Mar 10, 2023
@carlossanlop carlossanlop added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Mar 10, 2023
@baronfel
Copy link
Member

To be honest I'm not sure about many of those questions - mostly because I'm not sure if these targets are even in use in dotnet/runtime! I'm very much a dabbler here. If the targets aren't in actual use, and the ones from the SDK are the ones that we intend to use, then this entire thing could be removed. If it turns out these are actually in use by the runtime, then we have a much larger question - since the same runtime builds ship in all 7.x SDKs, the SDK cannot change the shape of the telemetry task (and any other tasks that are shared in this way) mid-cycle. That probably means we'd need to revert the change in the SDK in 7.x and reintroduce in 8. That's fine but slightly disappointing. The whole experience makes me want to do a thorough review of the tasks that dotnet/runtime use that are actually shipped in dotnet/sdk - so that this kind of thing isn't introduced again.

@carlossanlop
Copy link
Member

Had a chat with @baronfel and @trylek, we feel confident to get this merged.

Here are a couple of points provided by Chet:

There are a couple outcomes I see:

  • dotnet/runtime copy of these targets not used in actual builds => we can merge this PR and later remove AET entirely
  • dotnet/runtime copy of targets actually used => we close this PR and I can send a revert of the SDK change for 7.0.300 specifically, which should be ok because the SDK's deadlines haven't been hit yet.

@carlossanlop carlossanlop removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Mar 11, 2023
@carlossanlop carlossanlop merged commit ca584ef into release/7.0 Mar 11, 2023
@carlossanlop carlossanlop deleted the backport/pr-82804-to-release/7.0 branch March 11, 2023 00:23
@ghost ghost locked as resolved and limited conversation to collaborators Apr 10, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants