-
Notifications
You must be signed in to change notification settings - Fork 134
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
[BUG][AQE][LocalOrder] Remove check of discontinuous map task ids #354
Conversation
Codecov Report
@@ Coverage Diff @@
## master #354 +/- ##
============================================
- Coverage 58.40% 58.30% -0.10%
+ Complexity 1554 1550 -4
============================================
Files 193 193
Lines 10758 10754 -4
Branches 935 936 +1
============================================
- Hits 6283 6270 -13
- Misses 4104 4111 +7
- Partials 371 373 +2
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
@@ -128,23 +129,13 @@ public List<ShuffleDataSegment> split(ShuffleIndexResult shuffleIndexResult) { | |||
} | |||
|
|||
if (expectTaskIds.contains(taskAttemptId)) { | |||
if (bufferOffset != 0 && index - lastExpectedBlockIndex > 1) { |
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.
Why do we remove this?
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.
This checking logic is to check the discontinuous blocks in a ordered sequence. So this will throw exception when encountering the discontinuous task map ids
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.
I got it.
&& bufferSegments.size() > 0 | ||
&& (expectTaskIds.contains(taskAttemptId) ? index - lastExpectedBlockIndex != 1 : true)) | ||
|| bufferOffset >= readBufferSize) { | ||
boolean condition1 = |
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.
Could we give this a better name?
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.
conditionOfdiscontinuousBlocks
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.
OK.
&& expectTaskIds.contains(taskAttemptId) | ||
&& index - lastExpectedBlockIndex != 1; | ||
|
||
boolean condition2 = bufferOffset >= readBufferSize; |
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.
ditto.
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.
conditionOfBufferSize
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.
Ok.
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.
LGTM, thanks @zuston Could you fix the flaky test?
OK. Let me take a look. By the way, the local_order looks good in our internal environment. But If having the memory skipping, AQE will benefit more. |
What changes were proposed in this pull request?
Remove check of discontinuous map task ids
Why are the changes needed?
In the [startMapIndex, endMapIndex) sequence, the index is not the map task id, which only indicate the range of the succeed map task ids set.
So that means. if the range is [0, 5), it only indicate the number of tasks is 5. And the task id list may be as follows:
[task-1, task-3, task-9, task-15, task-16]
Does this PR introduce any user-facing change?
No
How was this patch tested?