-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Make TaskRegistry tasks ordering deterministic (FIFO) #8974
Make TaskRegistry tasks ordering deterministic (FIFO) #8974
Conversation
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
I'm having a very hard time understanding the implications of this. What's the user bug that could result? Can you craft a project to show that bug? |
This can be considered future proofing only.
Unexpected Task being executed (would multiple tasks with same name be registered - which we do e.g. for
Luckily not. This is very internal detail that can change in future BCL, and as well which is not held by other dictionary implementations: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you combine this with #9032 and run an experimental VS insertion just to check on unexpected perf gotchas?
https://devdiv.visualstudio.com/DevDiv/_git/VS/pullrequest/484352 I wanted to combine with #8928 as well - but could not easily restore the branch ( |
Can this exp insertion outcome be interpreted as OK?:
The DDRIT passed - which is probably the main thing we wanted. |
@JanKrivanek exactly correct--symbol check and VSSDK test failures are expected for experimental insertions (because we don't publish those symbols or packages, because they're an experiment). Usually perf DDRITs are the reason to run one. |
Changes extracted #8861
Context
TaskRegistry tasks order depended on implicit ordering of tasks in internal Dictionary. This can manifest only when there are multiple tasks with same name registered and task invoking doesn't specify any parameters (arch, fw) - but then it can lead to hard to investigate bugs, so worth fixing
Changes Made
Added order id to task registrations, and use it for sorting fetched matches.
Testing
Existing tests