-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Pipeline Data Corruption #13286
Pipeline Data Corruption #13286
Conversation
f7fc993
to
c6b140e
Compare
c6b140e
to
2bf2fa2
Compare
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 we add some checks to this to prevent being able to parse a pipeline with ambiguous ordering?
2bf2fa2
to
9fa349e
Compare
9fa349e
to
817d909
Compare
25abafd
to
378a138
Compare
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.
Technically a breaking change and should be marked as such, but since the behaviour if you mixed and matched unspecified+0 index was undefined anyway, it shouldn't affect anything
The unit test `TestDivide_Example` was acting flakey in the CI pipeline which suggested a flaw in the divide and multiply operations. When running the test, the expected result would be one of the input values or the division result in failure cases. This implied that results were either received out of order or were being sorted incorrectly. The pipeline runner does a final sort on the results, so that ruled out the received out of order possibility. On inspection of the sorting index on each task, every index was the zero value. This resulted in occasional correct and incorrect sorting, causing the test flake. To correct the problem, the test was updated such that the expected result has an index of `1`, leaving all other tasks with a `0` index.
b32b1c0
to
a8edcf2
Compare
Quality Gate passedIssues Measures |
The unit test
TestDivide_Example
was acting flakey in the CI pipeline which suggested a flaw in the divide andmultiply operations. When running the test, the expected result would be one of the input values or the division
result in failure cases. This implied that results were either received out of order or were being sorted incorrectly.
The pipeline runner does a final sort on the results, so that ruled out the received out of order possibility. On
inspection of the sorting index on each task, every index was the zero value. This resulted in occasional correct
and incorrect sorting, causing the test flake.
To correct the problem, the
unset
value for tasks was set to-1
and new checks were added to enforce 0-based indexing on explicitly set indexes.